Skip to content

Commit 0e9e679

Browse files
committed
feat: add 8 new OpenRouter cloud models
- google/gemini-3.1-pro-preview - openai/gpt-5.4, gpt-5.3-codex, gpt-5.2 - anthropic/claude-opus-4.6, claude-sonnet-4.6 - minimax/minimax-m2.5 - stepfun/step-3.5-flash (free)
1 parent 5182bd0 commit 0e9e679

2 files changed

Lines changed: 192 additions & 0 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Changelog — OpenRouter Model Expansion
2+
3+
**Date:** 2026-03-16
4+
5+
## Added
6+
7+
Added 8 new cloud AI models via OpenRouter to `js/ai-models.js`:
8+
9+
| Model | OpenRouter ID |
10+
|---|---|
11+
| Gemini 3.1 Pro Preview | `google/gemini-3.1-pro-preview` |
12+
| GPT-5.4 | `openai/gpt-5.4` |
13+
| GPT-5.3 Codex | `openai/gpt-5.3-codex` |
14+
| Claude Opus 4.6 | `anthropic/claude-opus-4.6` |
15+
| Claude Sonnet 4.6 | `anthropic/claude-sonnet-4.6` |
16+
| GPT-5.2 | `openai/gpt-5.2` |
17+
| MiniMax M2.5 | `minimax/minimax-m2.5` |
18+
| Step 3.5 Flash (Free) | `stepfun/step-3.5-flash:free` |
19+
20+
All models share the existing OpenRouter API key and `ai-worker-openrouter.js` worker.
21+
22+
### Files Modified
23+
24+
- `js/ai-models.js` — 168 lines added (8 new model entries)

js/ai-models.js

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,174 @@
298298
supportsVision: true,
299299
},
300300

301+
// ── Cloud: Gemini 3.1 Pro Preview via OpenRouter ──────
302+
'openrouter-gemini-pro': {
303+
label: 'Gemini 3.1 Pro · Google',
304+
badge: 'Gemini 3.1 Pro · Google',
305+
icon: 'bi bi-google',
306+
statusReady: 'Gemini 3.1 Pro Preview · Google via OpenRouter',
307+
workerFile: 'ai-worker-openrouter.js',
308+
workerModelId: 'google/gemini-3.1-pro-preview',
309+
keyStorageKey: window.MDView.KEYS.API_KEY_OPENROUTER,
310+
dialogTitle: 'Connect to OpenRouter',
311+
dialogDesc: 'Enter your API key to use <strong>Gemini 3.1 Pro Preview</strong> via OpenRouter',
312+
dialogPlaceholder: 'sk-or-xxxxxxxxxxxxxxxxxxxx',
313+
dialogLink: 'https://openrouter.ai/keys',
314+
dialogLinkText: 'openrouter.ai/keys',
315+
dialogIcon: 'bi bi-google',
316+
dropdownName: 'Gemini 3.1 Pro Preview',
317+
dropdownDesc: 'Google · via OpenRouter',
318+
category: 'cloud-text',
319+
supportsVision: true,
320+
},
321+
322+
// ── Cloud: GPT-5.4 via OpenRouter ─────────────────────
323+
'openrouter-gpt54': {
324+
label: 'GPT-5.4 · OpenAI',
325+
badge: 'GPT-5.4 · OpenAI',
326+
icon: 'bi bi-cpu',
327+
statusReady: 'GPT-5.4 · OpenAI via OpenRouter',
328+
workerFile: 'ai-worker-openrouter.js',
329+
workerModelId: 'openai/gpt-5.4',
330+
keyStorageKey: window.MDView.KEYS.API_KEY_OPENROUTER,
331+
dialogTitle: 'Connect to OpenRouter',
332+
dialogDesc: 'Enter your API key to use <strong>GPT-5.4</strong> via OpenRouter',
333+
dialogPlaceholder: 'sk-or-xxxxxxxxxxxxxxxxxxxx',
334+
dialogLink: 'https://openrouter.ai/keys',
335+
dialogLinkText: 'openrouter.ai/keys',
336+
dialogIcon: 'bi bi-cpu',
337+
dropdownName: 'GPT-5.4',
338+
dropdownDesc: 'OpenAI · via OpenRouter',
339+
category: 'cloud-text',
340+
supportsVision: true,
341+
},
342+
343+
// ── Cloud: GPT-5.3 Codex via OpenRouter ──────────────
344+
'openrouter-gpt53-codex': {
345+
label: 'GPT-5.3 Codex · OpenAI',
346+
badge: 'GPT-5.3 Codex · OpenAI',
347+
icon: 'bi bi-code-slash',
348+
statusReady: 'GPT-5.3 Codex · OpenAI via OpenRouter',
349+
workerFile: 'ai-worker-openrouter.js',
350+
workerModelId: 'openai/gpt-5.3-codex',
351+
keyStorageKey: window.MDView.KEYS.API_KEY_OPENROUTER,
352+
dialogTitle: 'Connect to OpenRouter',
353+
dialogDesc: 'Enter your API key to use <strong>GPT-5.3 Codex</strong> via OpenRouter',
354+
dialogPlaceholder: 'sk-or-xxxxxxxxxxxxxxxxxxxx',
355+
dialogLink: 'https://openrouter.ai/keys',
356+
dialogLinkText: 'openrouter.ai/keys',
357+
dialogIcon: 'bi bi-code-slash',
358+
dropdownName: 'GPT-5.3 Codex',
359+
dropdownDesc: 'OpenAI · Code · via OpenRouter',
360+
category: 'cloud-text',
361+
supportsVision: true,
362+
},
363+
364+
// ── Cloud: Claude Opus 4.6 via OpenRouter ─────────────
365+
'openrouter-claude-opus': {
366+
label: 'Claude Opus 4.6 · Anthropic',
367+
badge: 'Claude Opus 4.6 · Anthropic',
368+
icon: 'bi bi-chat-dots',
369+
statusReady: 'Claude Opus 4.6 · Anthropic via OpenRouter',
370+
workerFile: 'ai-worker-openrouter.js',
371+
workerModelId: 'anthropic/claude-opus-4.6',
372+
keyStorageKey: window.MDView.KEYS.API_KEY_OPENROUTER,
373+
dialogTitle: 'Connect to OpenRouter',
374+
dialogDesc: 'Enter your API key to use <strong>Claude Opus 4.6</strong> via OpenRouter',
375+
dialogPlaceholder: 'sk-or-xxxxxxxxxxxxxxxxxxxx',
376+
dialogLink: 'https://openrouter.ai/keys',
377+
dialogLinkText: 'openrouter.ai/keys',
378+
dialogIcon: 'bi bi-chat-dots',
379+
dropdownName: 'Claude Opus 4.6',
380+
dropdownDesc: 'Anthropic · via OpenRouter',
381+
category: 'cloud-text',
382+
supportsVision: true,
383+
},
384+
385+
// ── Cloud: Claude Sonnet 4.6 via OpenRouter ───────────
386+
'openrouter-claude-sonnet': {
387+
label: 'Claude Sonnet 4.6 · Anthropic',
388+
badge: 'Claude Sonnet 4.6 · Anthropic',
389+
icon: 'bi bi-chat-dots',
390+
statusReady: 'Claude Sonnet 4.6 · Anthropic via OpenRouter',
391+
workerFile: 'ai-worker-openrouter.js',
392+
workerModelId: 'anthropic/claude-sonnet-4.6',
393+
keyStorageKey: window.MDView.KEYS.API_KEY_OPENROUTER,
394+
dialogTitle: 'Connect to OpenRouter',
395+
dialogDesc: 'Enter your API key to use <strong>Claude Sonnet 4.6</strong> via OpenRouter',
396+
dialogPlaceholder: 'sk-or-xxxxxxxxxxxxxxxxxxxx',
397+
dialogLink: 'https://openrouter.ai/keys',
398+
dialogLinkText: 'openrouter.ai/keys',
399+
dialogIcon: 'bi bi-chat-dots',
400+
dropdownName: 'Claude Sonnet 4.6',
401+
dropdownDesc: 'Anthropic · via OpenRouter',
402+
category: 'cloud-text',
403+
supportsVision: true,
404+
},
405+
406+
// ── Cloud: GPT-5.2 via OpenRouter ─────────────────────
407+
'openrouter-gpt52': {
408+
label: 'GPT-5.2 · OpenAI',
409+
badge: 'GPT-5.2 · OpenAI',
410+
icon: 'bi bi-cpu',
411+
statusReady: 'GPT-5.2 · OpenAI via OpenRouter',
412+
workerFile: 'ai-worker-openrouter.js',
413+
workerModelId: 'openai/gpt-5.2',
414+
keyStorageKey: window.MDView.KEYS.API_KEY_OPENROUTER,
415+
dialogTitle: 'Connect to OpenRouter',
416+
dialogDesc: 'Enter your API key to use <strong>GPT-5.2</strong> via OpenRouter',
417+
dialogPlaceholder: 'sk-or-xxxxxxxxxxxxxxxxxxxx',
418+
dialogLink: 'https://openrouter.ai/keys',
419+
dialogLinkText: 'openrouter.ai/keys',
420+
dialogIcon: 'bi bi-cpu',
421+
dropdownName: 'GPT-5.2',
422+
dropdownDesc: 'OpenAI · via OpenRouter',
423+
category: 'cloud-text',
424+
supportsVision: true,
425+
},
426+
427+
// ── Cloud: MiniMax M2.5 via OpenRouter ────────────────
428+
'openrouter-minimax': {
429+
label: 'MiniMax M2.5 · MiniMax',
430+
badge: 'MiniMax M2.5 · MiniMax',
431+
icon: 'bi bi-box',
432+
statusReady: 'MiniMax M2.5 · MiniMax via OpenRouter',
433+
workerFile: 'ai-worker-openrouter.js',
434+
workerModelId: 'minimax/minimax-m2.5',
435+
keyStorageKey: window.MDView.KEYS.API_KEY_OPENROUTER,
436+
dialogTitle: 'Connect to OpenRouter',
437+
dialogDesc: 'Enter your API key to use <strong>MiniMax M2.5</strong> via OpenRouter',
438+
dialogPlaceholder: 'sk-or-xxxxxxxxxxxxxxxxxxxx',
439+
dialogLink: 'https://openrouter.ai/keys',
440+
dialogLinkText: 'openrouter.ai/keys',
441+
dialogIcon: 'bi bi-box',
442+
dropdownName: 'MiniMax M2.5',
443+
dropdownDesc: 'MiniMax · via OpenRouter',
444+
category: 'cloud-text',
445+
supportsVision: true,
446+
},
447+
448+
// ── Cloud: Step 3.5 Flash (Free) via OpenRouter ───────
449+
'openrouter-step-flash': {
450+
label: 'Step 3.5 Flash · StepFun',
451+
badge: 'Step 3.5 Flash · StepFun',
452+
icon: 'bi bi-lightning',
453+
statusReady: 'Step 3.5 Flash · StepFun via OpenRouter',
454+
workerFile: 'ai-worker-openrouter.js',
455+
workerModelId: 'stepfun/step-3.5-flash:free',
456+
keyStorageKey: window.MDView.KEYS.API_KEY_OPENROUTER,
457+
dialogTitle: 'Connect to OpenRouter',
458+
dialogDesc: 'Enter your API key to use <strong>Step 3.5 Flash</strong> via OpenRouter',
459+
dialogPlaceholder: 'sk-or-xxxxxxxxxxxxxxxxxxxx',
460+
dialogLink: 'https://openrouter.ai/keys',
461+
dialogLinkText: 'openrouter.ai/keys',
462+
dialogIcon: 'bi bi-lightning',
463+
dropdownName: 'Step 3.5 Flash',
464+
dropdownDesc: 'StepFun · Free · via OpenRouter',
465+
category: 'cloud-text',
466+
supportsVision: true,
467+
},
468+
301469
// ── Local: Granite Docling 258M (IBM) — Document OCR ──
302470
'granite-docling': {
303471
label: 'Granite Docling · Local',

0 commit comments

Comments
 (0)