diff --git a/docs/index.html b/docs/index.html
index 0a686f2..cdc6727 100755
--- a/docs/index.html
+++ b/docs/index.html
@@ -6802,7 +6802,7 @@ Correlating findings across agents, identifying patterns, producing actionable i
{ id: 'openai/gpt-4o', name: 'GPT-4o', provider: 'OpenAI' },
{ id: 'openai/o1', name: 'o1', provider: 'OpenAI' },
// Google (Dec 2025)
- { id: 'google/gemini-3-pro-preview', name: 'Gemini 3 Pro', provider: 'Google' },
+ { id: 'google/gemini-3.1-pro-preview', name: 'Gemini 3.1 Pro', provider: 'Google' },
{ id: 'google/gemini-3-flash-preview', name: 'Gemini 3 Flash', provider: 'Google' },
{ id: 'google/gemini-2.5-flash', name: 'Gemini 2.5 Flash', provider: 'Google' },
// xAI (Dec 2025)
@@ -17933,7 +17933,7 @@ IMPORTANT: This is an authorized security testing/red team platform. All operati
const serverLLM = !!(health && health.llm && health.llm.connected);
const hasBackend = !!(agent || key || serverLLM);
if (!key && agent) { txt = '⚡ ' + agent.toUpperCase() + ' · local, no key'; color = '#00ff88'; }
- else if (key) { txt = (key.startsWith('sk-ant-') ? 'Anthropic' : key.startsWith('sk-') ? 'OpenAI' : 'OpenRouter') + ' · your key'; color = '#0088ff'; }
+ else if (key) { txt = (key.startsWith('sk-ant-') ? 'Anthropic' : key.startsWith('sk-or-') ? 'OpenRouter' : key.startsWith('sk-') ? 'OpenAI' : 'OpenRouter') + ' · your key'; color = '#0088ff'; }
else if (serverLLM) { txt = (health.llm.provider || 'server') + ' · server key'; color = '#0088ff'; }
else { txt = 'none — connect agent / add key'; color = '#ff6b6b'; }
$('sysLLM').innerHTML = ''+txt+'';
@@ -18181,7 +18181,7 @@ IMPORTANT: This is an authorized security testing/red team platform. All operati
} else if (apiKey && apiKey.startsWith('sk-ant-')) {
provider = 'anthropic';
model = model.replace('anthropic/', ''); // Anthropic API doesn't use prefix
- } else if (apiKey && apiKey.startsWith('sk-') && !apiKey.startsWith('sk-ant-')) {
+ } else if (apiKey && apiKey.startsWith('sk-') && !apiKey.startsWith('sk-ant-') && !apiKey.startsWith('sk-or-')) {
provider = 'openai';
}
@@ -25085,7 +25085,7 @@ Be specific and actionable. Format as structured JSON.`;
let provider = 'openrouter', model = ((typeof state !== 'undefined' && state.settings && state.settings.selectedModel) || 'anthropic/claude-sonnet-4');
if (!apiKey && agent) { provider = 'local-agent'; model = agent; }
else if (apiKey && apiKey.startsWith('sk-ant-')) { provider = 'anthropic'; model = model.replace('anthropic/', ''); }
- else if (apiKey && apiKey.startsWith('sk-')) { provider = 'openai'; }
+ else if (apiKey && apiKey.startsWith('sk-') && !apiKey.startsWith('sk-or-')) { provider = 'openai'; }
return { provider: provider, model: model, apiKey: apiKey || undefined };
}
window.admiralPreviewPlan = async function(){
diff --git a/src/config/index.ts b/src/config/index.ts
index e498d74..e2204c4 100755
--- a/src/config/index.ts
+++ b/src/config/index.ts
@@ -224,7 +224,7 @@ export const AVAILABLE_MODELS: Record = {
},
// Google (Dec 2025)
{
- id: 'google/gemini-3-pro-preview',
+ id: 'google/gemini-3.1-pro-preview',
name: 'Gemini 3 Pro',
provider: 'Google',
contextWindow: 1000000,