Add Demo Mode and error handling to AE_AITools component
- Implemented 'Demo Mode' fallback when no API token is provided. - Ensured the AI modal opens even on connection errors to display troubleshooting info. - Improved user feedback with simulated loading states for demo data.
This commit is contained in:
@@ -63,14 +63,28 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
active_tab = 'result';
|
||||||
|
|
||||||
|
// If no token is provided, trigger a "Demo Mode" placeholder after a fake delay
|
||||||
|
if (!token || token === '') {
|
||||||
|
console.log('AE_AITools: No token provided. Entering Demo Mode.');
|
||||||
|
ae_promises = new Promise((resolve) => {
|
||||||
|
setTimeout(() => {
|
||||||
|
tmp_summary = `### AI Summary (DEMO MODE)\n\nThis is a placeholder summary because no API token was provided in the settings. \n\n**Original Content Length:** ${content.length} characters.\n\n**System Prompt:** ${systemPrompt}\n\n**Model:** ${model}`;
|
||||||
|
show_modal = true;
|
||||||
|
resolve(true);
|
||||||
|
}, 1500);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const ai_client = new OpenAI({
|
const ai_client = new OpenAI({
|
||||||
apiKey: token || 'no-token-provided',
|
apiKey: token,
|
||||||
baseURL: baseUrl,
|
baseURL: baseUrl,
|
||||||
dangerouslyAllowBrowser: true
|
dangerouslyAllowBrowser: true
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
active_tab = 'result';
|
|
||||||
ae_promises = ai_client.chat.completions.create({
|
ae_promises = ai_client.chat.completions.create({
|
||||||
model: model,
|
model: model,
|
||||||
max_tokens: maxTokens,
|
max_tokens: maxTokens,
|
||||||
@@ -86,7 +100,10 @@
|
|||||||
});
|
});
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
console.error('AE_AITools: AI Error:', err);
|
console.error('AE_AITools: AI Error:', err);
|
||||||
alert('AI Error: ' + err.message);
|
// Even on error, show the modal with the error message so the UI can be inspected
|
||||||
|
tmp_summary = `### AI Error\n\nFailed to connect to the AI service.\n\n**Error:** ${err.message}\n\nCheck your Settings tab for Base URL and Token configuration.`;
|
||||||
|
show_modal = true;
|
||||||
|
ae_promises = Promise.resolve();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user