feat: enhance AI communication with dynamic system prompts, robust retry, and TUI formatters
This commit is contained in:
@@ -281,17 +281,17 @@ class QwenOAuth {
|
||||
});
|
||||
}
|
||||
|
||||
async sendMessage(message, model = 'qwen-coder-plus', imageData = null, onChunk = null) {
|
||||
async sendMessage(message, model = 'qwen-coder-plus', imageData = null, onChunk = null, systemPrompt = null) {
|
||||
if (imageData) {
|
||||
console.log('📷 Image data detected, using Vision API...');
|
||||
return await this.sendVisionMessage(message, imageData, 'qwen-vl-plus');
|
||||
return await this.sendVisionMessage(message, imageData, 'qwen-vl-plus', systemPrompt);
|
||||
}
|
||||
|
||||
const { spawn } = require('child_process');
|
||||
const os = require('os');
|
||||
// fsSync imported at top
|
||||
|
||||
const systemContext = `[SYSTEM CONTEXT - ALWAYS FOLLOW]
|
||||
const hardcodedContext = `[SYSTEM CONTEXT - ALWAYS FOLLOW]
|
||||
You are an AI System Administrator integrated into OpenQode.
|
||||
IMPORTANT RULES:
|
||||
1. You have FULL ACCESS to the local file system.
|
||||
@@ -304,8 +304,11 @@ IMPORTANT RULES:
|
||||
`;
|
||||
|
||||
let finalMessage = message;
|
||||
if (message.includes('CREATE:') || message.includes('ROLE:') || message.includes('Generate all necessary files')) {
|
||||
finalMessage = systemContext + message;
|
||||
// Use provided systemPrompt if available, otherwise fall back to hardcoded context for legacy commands
|
||||
if (systemPrompt) {
|
||||
finalMessage = systemPrompt + "\n\n" + message;
|
||||
} else if (message.includes('CREATE:') || message.includes('ROLE:') || message.includes('Generate all necessary files')) {
|
||||
finalMessage = hardcodedContext + message;
|
||||
}
|
||||
|
||||
return new Promise((resolve) => {
|
||||
|
||||
Reference in New Issue
Block a user