feat: enhance AI communication with dynamic system prompts, robust retry, and TUI formatters

This commit is contained in:
Gemini AI
2025-12-14 22:16:52 +04:00
Unverified
parent 61b72bcd5f
commit a8436c91a3
20 changed files with 9832 additions and 808 deletions

View File

@@ -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) => {