feat(ai): add openrouter "auto" model alias (#1361)

Add a manually inserted "auto" model entry for OpenRouter alongside
the existing "openrouter/auto" entry, allowing users to select the
auto-routing model with a shorter identifier.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Shashank Goyal 2026-02-07 09:35:21 -05:00 committed by GitHub
parent f9161c4d4e
commit 3fb33da429
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 63 additions and 46 deletions

View file

@ -860,11 +860,11 @@ async function generateModels() {
}); });
} }
// Add missing OpenRouter model // Add "auto" alias for openrouter/auto
if (!allModels.some(m => m.provider === "openrouter" && m.id === "openrouter/auto")) { if (!allModels.some(m => m.provider === "openrouter" && m.id === "auto")) {
allModels.push({ allModels.push({
id: "openrouter/auto", id: "auto",
name: "OpenRouter: Auto Router", name: "Auto",
api: "openai-completions", api: "openai-completions",
provider: "openrouter", provider: "openrouter",
baseUrl: "https://openrouter.ai/api/v1", baseUrl: "https://openrouter.ai/api/v1",

View file

@ -6052,6 +6052,23 @@ export const MODELS = {
contextWindow: 131072, contextWindow: 131072,
maxTokens: 64000, maxTokens: 64000,
} satisfies Model<"openai-completions">, } satisfies Model<"openai-completions">,
"auto": {
id: "auto",
name: "Auto",
api: "openai-completions",
provider: "openrouter",
baseUrl: "https://openrouter.ai/api/v1",
reasoning: true,
input: ["text", "image"],
cost: {
input: 0,
output: 0,
cacheRead: 0,
cacheWrite: 0,
},
contextWindow: 2000000,
maxTokens: 30000,
} satisfies Model<"openai-completions">,
"baidu/ernie-4.5-21b-a3b": { "baidu/ernie-4.5-21b-a3b": {
id: "baidu/ernie-4.5-21b-a3b", id: "baidu/ernie-4.5-21b-a3b",
name: "Baidu: ERNIE 4.5 21B A3B", name: "Baidu: ERNIE 4.5 21B A3B",
@ -6165,7 +6182,7 @@ export const MODELS = {
cost: { cost: {
input: 0.3, input: 0.3,
output: 1.2, output: 1.2,
cacheRead: 0, cacheRead: 0.15,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 163840, contextWindow: 163840,
@ -6182,7 +6199,7 @@ export const MODELS = {
cost: { cost: {
input: 0.19, input: 0.19,
output: 0.87, output: 0.87,
cacheRead: 0, cacheRead: 0.095,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 163840, contextWindow: 163840,
@ -6233,7 +6250,7 @@ export const MODELS = {
cost: { cost: {
input: 0.39999999999999997, input: 0.39999999999999997,
output: 1.75, output: 1.75,
cacheRead: 0, cacheRead: 0.19999999999999998,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 163840, contextWindow: 163840,
@ -6284,7 +6301,7 @@ export const MODELS = {
cost: { cost: {
input: 0.25, input: 0.25,
output: 0.38, output: 0.38,
cacheRead: 0, cacheRead: 0.125,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 163840, contextWindow: 163840,
@ -6505,7 +6522,7 @@ export const MODELS = {
cost: { cost: {
input: 0.04, input: 0.04,
output: 0.15, output: 0.15,
cacheRead: 0, cacheRead: 0.02,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 128000, contextWindow: 128000,
@ -6794,7 +6811,7 @@ export const MODELS = {
cost: { cost: {
input: 0.049999999999999996, input: 0.049999999999999996,
output: 0.22, output: 0.22,
cacheRead: 0, cacheRead: 0.024999999999999998,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
@ -7064,13 +7081,13 @@ export const MODELS = {
reasoning: false, reasoning: false,
input: ["text"], input: ["text"],
cost: { cost: {
input: 0.03, input: 0.049999999999999996,
output: 0.11, output: 0.08,
cacheRead: 0, cacheRead: 0,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 32768, contextWindow: 32768,
maxTokens: 32768, maxTokens: 16384,
} satisfies Model<"openai-completions">, } satisfies Model<"openai-completions">,
"mistralai/mistral-small-3.1-24b-instruct": { "mistralai/mistral-small-3.1-24b-instruct": {
id: "mistralai/mistral-small-3.1-24b-instruct", id: "mistralai/mistral-small-3.1-24b-instruct",
@ -7083,7 +7100,7 @@ export const MODELS = {
cost: { cost: {
input: 0.03, input: 0.03,
output: 0.11, output: 0.11,
cacheRead: 0, cacheRead: 0.015,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 131072, contextWindow: 131072,
@ -7117,7 +7134,7 @@ export const MODELS = {
cost: { cost: {
input: 0.06, input: 0.06,
output: 0.18, output: 0.18,
cacheRead: 0, cacheRead: 0.03,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 131072, contextWindow: 131072,
@ -7270,7 +7287,7 @@ export const MODELS = {
cost: { cost: {
input: 0.39, input: 0.39,
output: 1.9, output: 1.9,
cacheRead: 0, cacheRead: 0.195,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
@ -7304,7 +7321,7 @@ export const MODELS = {
cost: { cost: {
input: 0.39999999999999997, input: 0.39999999999999997,
output: 1.75, output: 1.75,
cacheRead: 0, cacheRead: 0.19999999999999998,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
@ -7320,12 +7337,12 @@ export const MODELS = {
input: ["text", "image"], input: ["text", "image"],
cost: { cost: {
input: 0.44999999999999996, input: 0.44999999999999996,
output: 2.5, output: 2.25,
cacheRead: 0, cacheRead: 0.075,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
maxTokens: 65535, maxTokens: 4096,
} satisfies Model<"openai-completions">, } satisfies Model<"openai-completions">,
"nex-agi/deepseek-v3.1-nex-n1": { "nex-agi/deepseek-v3.1-nex-n1": {
id: "nex-agi/deepseek-v3.1-nex-n1", id: "nex-agi/deepseek-v3.1-nex-n1",
@ -7355,7 +7372,7 @@ export const MODELS = {
cost: { cost: {
input: 0.02, input: 0.02,
output: 0.09999999999999999, output: 0.09999999999999999,
cacheRead: 0, cacheRead: 0.01,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 32768, contextWindow: 32768,
@ -7372,7 +7389,7 @@ export const MODELS = {
cost: { cost: {
input: 0.11, input: 0.11,
output: 0.38, output: 0.38,
cacheRead: 0, cacheRead: 0.055,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 131072, contextWindow: 131072,
@ -8152,13 +8169,13 @@ export const MODELS = {
reasoning: true, reasoning: true,
input: ["text"], input: ["text"],
cost: { cost: {
input: 0.02, input: 0.03,
output: 0.09999999999999999, output: 0.14,
cacheRead: 0, cacheRead: 0,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 131072, contextWindow: 131072,
maxTokens: 131072, maxTokens: 4096,
} satisfies Model<"openai-completions">, } satisfies Model<"openai-completions">,
"openai/gpt-oss-20b:free": { "openai/gpt-oss-20b:free": {
id: "openai/gpt-oss-20b:free", id: "openai/gpt-oss-20b:free",
@ -8562,7 +8579,7 @@ export const MODELS = {
cost: { cost: {
input: 0.049999999999999996, input: 0.049999999999999996,
output: 0.22, output: 0.22,
cacheRead: 0, cacheRead: 0.024999999999999998,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 40960, contextWindow: 40960,
@ -8613,7 +8630,7 @@ export const MODELS = {
cost: { cost: {
input: 0.11, input: 0.11,
output: 0.6, output: 0.6,
cacheRead: 0, cacheRead: 0.055,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
@ -8630,7 +8647,7 @@ export const MODELS = {
cost: { cost: {
input: 0.06, input: 0.06,
output: 0.22, output: 0.22,
cacheRead: 0, cacheRead: 0.03,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 40960, contextWindow: 40960,
@ -8647,7 +8664,7 @@ export const MODELS = {
cost: { cost: {
input: 0.08, input: 0.08,
output: 0.33, output: 0.33,
cacheRead: 0, cacheRead: 0.04,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
@ -8681,7 +8698,7 @@ export const MODELS = {
cost: { cost: {
input: 0.08, input: 0.08,
output: 0.24, output: 0.24,
cacheRead: 0, cacheRead: 0.04,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 40960, contextWindow: 40960,
@ -8731,12 +8748,12 @@ export const MODELS = {
input: ["text"], input: ["text"],
cost: { cost: {
input: 0.22, input: 0.22,
output: 0.95, output: 1,
cacheRead: 0, cacheRead: 0.022,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
maxTokens: 262144, maxTokens: 4096,
} satisfies Model<"openai-completions">, } satisfies Model<"openai-completions">,
"qwen/qwen3-coder-30b-a3b-instruct": { "qwen/qwen3-coder-30b-a3b-instruct": {
id: "qwen/qwen3-coder-30b-a3b-instruct", id: "qwen/qwen3-coder-30b-a3b-instruct",
@ -8783,7 +8800,7 @@ export const MODELS = {
cost: { cost: {
input: 0.07, input: 0.07,
output: 0.3, output: 0.3,
cacheRead: 0, cacheRead: 0.035,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
@ -9157,7 +9174,7 @@ export const MODELS = {
cost: { cost: {
input: 0.25, input: 0.25,
output: 0.85, output: 0.85,
cacheRead: 0, cacheRead: 0.125,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 163840, contextWindow: 163840,
@ -9174,7 +9191,7 @@ export const MODELS = {
cost: { cost: {
input: 0.25, input: 0.25,
output: 0.85, output: 0.85,
cacheRead: 0, cacheRead: 0.125,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 163840, contextWindow: 163840,
@ -9361,7 +9378,7 @@ export const MODELS = {
cost: { cost: {
input: 0.09, input: 0.09,
output: 0.29, output: 0.29,
cacheRead: 0, cacheRead: 0.045,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 262144, contextWindow: 262144,
@ -9395,7 +9412,7 @@ export const MODELS = {
cost: { cost: {
input: 0.35, input: 0.35,
output: 1.55, output: 1.55,
cacheRead: 0, cacheRead: 0.175,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 131072, contextWindow: 131072,
@ -9410,13 +9427,13 @@ export const MODELS = {
reasoning: true, reasoning: true,
input: ["text"], input: ["text"],
cost: { cost: {
input: 0.049999999999999996, input: 0.13,
output: 0.22, output: 0.85,
cacheRead: 0, cacheRead: 0.024999999999999998,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 131072, contextWindow: 131072,
maxTokens: 131072, maxTokens: 98304,
} satisfies Model<"openai-completions">, } satisfies Model<"openai-completions">,
"z-ai/glm-4.5-air:free": { "z-ai/glm-4.5-air:free": {
id: "z-ai/glm-4.5-air:free", id: "z-ai/glm-4.5-air:free",
@ -9463,7 +9480,7 @@ export const MODELS = {
cost: { cost: {
input: 0.35, input: 0.35,
output: 1.5, output: 1.5,
cacheRead: 0, cacheRead: 0.175,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 202752, contextWindow: 202752,
@ -9514,7 +9531,7 @@ export const MODELS = {
cost: { cost: {
input: 0.39999999999999997, input: 0.39999999999999997,
output: 1.5, output: 1.5,
cacheRead: 0, cacheRead: 0.19999999999999998,
cacheWrite: 0, cacheWrite: 0,
}, },
contextWindow: 202752, contextWindow: 202752,
@ -9633,8 +9650,8 @@ export const MODELS = {
reasoning: false, reasoning: false,
input: ["text"], input: ["text"],
cost: { cost: {
input: 0.38, input: 0.39999999999999997,
output: 1.53, output: 1.5999999999999999,
cacheRead: 0, cacheRead: 0,
cacheWrite: 0, cacheWrite: 0,
}, },