mirror of
https://github.com/musistudio/claude-code-router.git
synced 2026-10-19 17:03:59 +00:00
Refactor router configuration and request handling
This commit is contained in:
parent
996c7f0986
commit
afba89fa37
2 changed files with 737 additions and 422 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"schemaVersion": 2,
|
||||
"generatedAt": "2026-09-10T03:55:18.872Z",
|
||||
"generatedAt": "2026-09-10T06:44:04.383Z",
|
||||
"generatedBy": "scripts/generate-models-json.mjs",
|
||||
"sources": [
|
||||
{
|
||||
|
|
@ -21,16 +21,16 @@
|
|||
],
|
||||
"summary": {
|
||||
"modelCount": 4631,
|
||||
"rawProviderModelCount": 10968,
|
||||
"duplicateProviderModelRecordsMerged": 6337,
|
||||
"rawProviderModelCount": 10970,
|
||||
"duplicateProviderModelRecordsMerged": 6339,
|
||||
"providerCount": 230,
|
||||
"availabilityProviderCount": 314,
|
||||
"sourceCounts": {
|
||||
"models.dev": 2915,
|
||||
"litellm": 2337,
|
||||
"openrouter": 435
|
||||
"openrouter": 436
|
||||
},
|
||||
"pricingOfferCount": 11501,
|
||||
"pricingOfferCount": 11504,
|
||||
"modelsWithPricing": 4414,
|
||||
"modelsWithoutPricing": 217,
|
||||
"modelsWith1MContext": 989,
|
||||
|
|
@ -7284,8 +7284,8 @@
|
|||
"sourceUrl": "https://models.dev/api.json",
|
||||
"sourceUnit": "usd_per_1m_tokens",
|
||||
"per1MTokens": {
|
||||
"input": 0.176,
|
||||
"output": 0.528
|
||||
"input": 0.352,
|
||||
"output": 1.056
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -7509,8 +7509,8 @@
|
|||
"sourceUrl": "https://models.dev/api.json",
|
||||
"sourceUnit": "usd_per_1m_tokens",
|
||||
"per1MTokens": {
|
||||
"input": 0.5808,
|
||||
"output": 1.7424
|
||||
"input": 1.122,
|
||||
"output": 3.366
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -77018,6 +77018,7 @@
|
|||
"temperature",
|
||||
"tool_choice",
|
||||
"tools",
|
||||
"top_a",
|
||||
"top_k",
|
||||
"top_logprobs",
|
||||
"top_p"
|
||||
|
|
@ -77834,6 +77835,7 @@
|
|||
"temperature",
|
||||
"tool_choice",
|
||||
"tools",
|
||||
"top_a",
|
||||
"top_k",
|
||||
"top_logprobs",
|
||||
"top_p"
|
||||
|
|
@ -240238,6 +240240,7 @@
|
|||
"edenai/cloudflare/@cf/deepseek-ai/deepseek-v4-pro-0813",
|
||||
"edenai/deepinfra/deepseek-ai/DeepSeek-V4-Pro-0813",
|
||||
"edenai/fireworks_ai/accounts/fireworks/models/deepseek-v4-pro-0813",
|
||||
"edenai/nebius/deepseek-ai/DeepSeek-V4-Pro-0813",
|
||||
"edenai/tensorx/deepseek/deepseek-v4-pro-0813",
|
||||
"edenai/together_ai/deepseek-ai/DeepSeek-V4-Pro-0813",
|
||||
"empiriolabs/deepseek-v4-pro-0813",
|
||||
|
|
@ -240263,7 +240266,7 @@
|
|||
"vivgrid/deepseek-v4-pro-0813",
|
||||
"wandb/deepseek-ai/DeepSeek-V4-Pro-0813"
|
||||
],
|
||||
"mergedProviderModelRecords": 37,
|
||||
"mergedProviderModelRecords": 38,
|
||||
"limits": {
|
||||
"contextTokens": 1048576,
|
||||
"inputTokens": 1048576,
|
||||
|
|
@ -240477,6 +240480,18 @@
|
|||
"output": 3.96
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": "models.dev",
|
||||
"provider": "edenai",
|
||||
"model": "nebius/deepseek-ai/DeepSeek-V4-Pro-0813",
|
||||
"sourceUrl": "https://models.dev/api.json",
|
||||
"sourceUnit": "usd_per_1m_tokens",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 1.32,
|
||||
"input": 1.32,
|
||||
"output": 3.96
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": "models.dev",
|
||||
"provider": "edenai",
|
||||
|
|
@ -240811,6 +240826,7 @@
|
|||
"DeepSeek V4 Pro 0813 (Cloudflare)",
|
||||
"DeepSeek V4 Pro 0813 (Deep Infra)",
|
||||
"DeepSeek V4 Pro 0813 (Fireworks AI)",
|
||||
"DeepSeek V4 Pro 0813 (Nebius)",
|
||||
"DeepSeek V4 Pro 0813 (TensorX)",
|
||||
"DeepSeek V4 Pro 0813 (Together AI)",
|
||||
"DeepSeek: DeepSeek V4 Pro 0813"
|
||||
|
|
@ -240849,7 +240865,7 @@
|
|||
"top_logprobs",
|
||||
"top_p"
|
||||
],
|
||||
"providerModelRecordCount": 37
|
||||
"providerModelRecordCount": 38
|
||||
},
|
||||
"sourceRecords": [
|
||||
{
|
||||
|
|
@ -241217,6 +241233,34 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": "models.dev",
|
||||
"sourceUrl": "https://models.dev/api.json",
|
||||
"provider": "edenai",
|
||||
"providerName": "Eden AI",
|
||||
"providerApi": "https://api.edenai.run/v3",
|
||||
"providerDoc": "https://docs.edenai.co",
|
||||
"model": "nebius/deepseek-ai/DeepSeek-V4-Pro-0813",
|
||||
"modelKey": "nebius/deepseek-ai/DeepSeek-V4-Pro-0813",
|
||||
"displayName": "DeepSeek V4 Pro 0813 (Nebius)",
|
||||
"family": "deepseek-thinking",
|
||||
"metadata": {
|
||||
"lastUpdated": "2026-08-22",
|
||||
"openWeights": true,
|
||||
"releaseDate": "2026-08-12",
|
||||
"reasoningOptions": [
|
||||
{
|
||||
"type": "effort",
|
||||
"values": [
|
||||
"none",
|
||||
"low",
|
||||
"high",
|
||||
"max"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": "models.dev",
|
||||
"sourceUrl": "https://models.dev/api.json",
|
||||
|
|
@ -242795,17 +242839,20 @@
|
|||
"displayName": "DeepSeek V4.1 Flash",
|
||||
"family": "deepseek-flash",
|
||||
"sources": [
|
||||
"models.dev"
|
||||
"models.dev",
|
||||
"openrouter"
|
||||
],
|
||||
"providers": [
|
||||
"nano-gpt"
|
||||
"nano-gpt",
|
||||
"openrouter"
|
||||
],
|
||||
"aliases": [
|
||||
"nano-gpt/deepseek/deepseek-v4.1-flash"
|
||||
"nano-gpt/deepseek/deepseek-v4.1-flash",
|
||||
"openrouter/deepseek/deepseek-v4.1-flash"
|
||||
],
|
||||
"mergedProviderModelRecords": 1,
|
||||
"mergedProviderModelRecords": 2,
|
||||
"limits": {
|
||||
"contextTokens": 1000000,
|
||||
"contextTokens": 1048576,
|
||||
"inputTokens": 1000000,
|
||||
"outputTokens": 384000,
|
||||
"supports1MContext": true
|
||||
|
|
@ -242836,7 +242883,11 @@
|
|||
"temperature": true,
|
||||
"toolCalling": true,
|
||||
"videoInput": false,
|
||||
"supports1MContext": true
|
||||
"supports1MContext": true,
|
||||
"parallelFunctionCalling": false,
|
||||
"responseSchema": true,
|
||||
"toolChoice": true,
|
||||
"webSearch": false
|
||||
},
|
||||
"pricing": {
|
||||
"currency": "USD",
|
||||
|
|
@ -242853,12 +242904,81 @@
|
|||
"input": 0.1562,
|
||||
"output": 0.3124
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": "models.dev",
|
||||
"provider": "openrouter",
|
||||
"model": "deepseek/deepseek-v4.1-flash",
|
||||
"sourceUrl": "https://models.dev/api.json",
|
||||
"sourceUnit": "usd_per_1m_tokens",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 0.006,
|
||||
"input": 0.3,
|
||||
"output": 1.2
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": "openrouter",
|
||||
"provider": "openrouter",
|
||||
"model": "deepseek/deepseek-v4.1-flash",
|
||||
"sourceUrl": "https://openrouter.ai/api/v1/models",
|
||||
"sourceUnit": "usd_per_token_for_token_fields",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 0.006,
|
||||
"input": 0.3,
|
||||
"output": 1.2
|
||||
},
|
||||
"extra": {
|
||||
"overrides": [
|
||||
{
|
||||
"prompt": 1.5e-7,
|
||||
"completion": 6e-7,
|
||||
"input_cache_read": 3e-9
|
||||
},
|
||||
{
|
||||
"utc_start": 0,
|
||||
"utc_end": 100,
|
||||
"prompt": 1.5e-7,
|
||||
"completion": 6e-7,
|
||||
"input_cache_read": 3e-9
|
||||
},
|
||||
{
|
||||
"utc_start": 100,
|
||||
"utc_end": 400,
|
||||
"prompt": 3e-7,
|
||||
"completion": 0.0000012,
|
||||
"input_cache_read": 6e-9
|
||||
},
|
||||
{
|
||||
"utc_start": 400,
|
||||
"utc_end": 600,
|
||||
"prompt": 1.5e-7,
|
||||
"completion": 6e-7,
|
||||
"input_cache_read": 3e-9
|
||||
},
|
||||
{
|
||||
"utc_start": 600,
|
||||
"utc_end": 1000,
|
||||
"prompt": 3e-7,
|
||||
"completion": 0.0000012,
|
||||
"input_cache_read": 6e-9
|
||||
},
|
||||
{
|
||||
"utc_start": 1000,
|
||||
"utc_end": 0,
|
||||
"prompt": 1.5e-7,
|
||||
"completion": 6e-7,
|
||||
"input_cache_read": 3e-9
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"metadata": {
|
||||
"displayNames": [
|
||||
"DeepSeek V4.1 Flash"
|
||||
"DeepSeek V4.1 Flash",
|
||||
"DeepSeek: DeepSeek V4.1 Flash"
|
||||
],
|
||||
"families": [
|
||||
"deepseek-flash"
|
||||
|
|
@ -242866,7 +242986,23 @@
|
|||
"knowledgeCutoff": "2025-05",
|
||||
"releaseDate": "2026-09-10",
|
||||
"lastUpdated": "2026-09-10",
|
||||
"providerModelRecordCount": 1
|
||||
"supportedParameters": [
|
||||
"frequency_penalty",
|
||||
"include_reasoning",
|
||||
"logprobs",
|
||||
"max_tokens",
|
||||
"presence_penalty",
|
||||
"reasoning",
|
||||
"reasoning_effort",
|
||||
"response_format",
|
||||
"stop",
|
||||
"temperature",
|
||||
"tool_choice",
|
||||
"tools",
|
||||
"top_logprobs",
|
||||
"top_p"
|
||||
],
|
||||
"providerModelRecordCount": 2
|
||||
},
|
||||
"sourceRecords": [
|
||||
{
|
||||
|
|
@ -242897,6 +243033,84 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": "models.dev",
|
||||
"sourceUrl": "https://models.dev/api.json",
|
||||
"provider": "openrouter",
|
||||
"providerName": "OpenRouter",
|
||||
"providerApi": "https://openrouter.ai/api/v1",
|
||||
"providerDoc": "https://openrouter.ai/models",
|
||||
"model": "deepseek/deepseek-v4.1-flash",
|
||||
"modelKey": "deepseek/deepseek-v4.1-flash",
|
||||
"displayName": "DeepSeek V4.1 Flash",
|
||||
"family": "deepseek-flash",
|
||||
"metadata": {
|
||||
"knowledgeCutoff": "2025-05",
|
||||
"lastUpdated": "2026-09-10",
|
||||
"openWeights": true,
|
||||
"releaseDate": "2026-09-10",
|
||||
"reasoningOptions": [
|
||||
{
|
||||
"type": "toggle"
|
||||
},
|
||||
{
|
||||
"type": "effort",
|
||||
"values": [
|
||||
"low",
|
||||
"high",
|
||||
"max"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"source": "openrouter",
|
||||
"sourceUrl": "https://openrouter.ai/api/v1/models",
|
||||
"provider": "openrouter",
|
||||
"model": "deepseek/deepseek-v4.1-flash",
|
||||
"displayName": "DeepSeek: DeepSeek V4.1 Flash",
|
||||
"metadata": {
|
||||
"canonicalSlug": "deepseek/deepseek-v4.1-flash-20260910",
|
||||
"createdAt": "2026-09-10T06:21:25.000Z",
|
||||
"huggingFaceId": "deepseek-ai/DeepSeek-V4.1-Flash",
|
||||
"links": {
|
||||
"details": "/api/v1/models/deepseek/deepseek-v4.1-flash-20260910/endpoints"
|
||||
},
|
||||
"reasoning": {
|
||||
"mandatory": false,
|
||||
"default_enabled": true,
|
||||
"supported_efforts": [
|
||||
"max",
|
||||
"high",
|
||||
"low"
|
||||
],
|
||||
"default_effort": "high"
|
||||
},
|
||||
"supportedParameters": [
|
||||
"frequency_penalty",
|
||||
"include_reasoning",
|
||||
"logprobs",
|
||||
"max_tokens",
|
||||
"presence_penalty",
|
||||
"reasoning",
|
||||
"reasoning_effort",
|
||||
"response_format",
|
||||
"stop",
|
||||
"temperature",
|
||||
"tool_choice",
|
||||
"tools",
|
||||
"top_logprobs",
|
||||
"top_p"
|
||||
],
|
||||
"tokenizer": "DeepSeek",
|
||||
"topProvider": {
|
||||
"context_length": 1048576,
|
||||
"max_completion_tokens": 384000,
|
||||
"is_moderated": false
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -573322,6 +573536,9 @@
|
|||
"displayNames": [
|
||||
"Omen Alpha"
|
||||
],
|
||||
"statuses": [
|
||||
"deprecated"
|
||||
],
|
||||
"releaseDate": "2026-09-04",
|
||||
"lastUpdated": "2026-09-04",
|
||||
"providerModelRecordCount": 1
|
||||
|
|
@ -573337,6 +573554,7 @@
|
|||
"model": "omen-alpha",
|
||||
"modelKey": "omen-alpha",
|
||||
"displayName": "Omen Alpha",
|
||||
"status": "deprecated",
|
||||
"metadata": {
|
||||
"lastUpdated": "2026-09-04",
|
||||
"openWeights": false,
|
||||
|
|
@ -635645,9 +635863,9 @@
|
|||
"sourceUrl": "https://models.dev/api.json",
|
||||
"sourceUnit": "usd_per_1m_tokens",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 0.025,
|
||||
"input": 0.25,
|
||||
"output": 0.9375
|
||||
"cacheRead": 0.004999999999999999,
|
||||
"input": 0.04999999999999999,
|
||||
"output": 0.18749999999999994
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -708198,9 +708416,9 @@
|
|||
"sourceUrl": "https://models.dev/api.json",
|
||||
"sourceUnit": "usd_per_1m_tokens",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 0.014,
|
||||
"input": 0.07,
|
||||
"output": 0.2333
|
||||
"cacheRead": 0.015,
|
||||
"input": 0.075,
|
||||
"output": 0.25
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -708458,9 +708676,9 @@
|
|||
"sourceUrl": "https://openrouter.ai/api/v1/models",
|
||||
"sourceUnit": "usd_per_token_for_token_fields",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 0.014,
|
||||
"input": 0.07,
|
||||
"output": 0.2333
|
||||
"cacheRead": 0.015,
|
||||
"input": 0.075,
|
||||
"output": 0.25
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -709852,6 +710070,7 @@
|
|||
"metadata": {
|
||||
"canonicalSlug": "z-ai/glm-5.3-flash-20260826",
|
||||
"createdAt": "2026-08-26T13:59:01.000Z",
|
||||
"expirationDate": "2098-12-31",
|
||||
"huggingFaceId": "zai-org/GLM-5.3-Flash",
|
||||
"links": {
|
||||
"details": "/api/v1/models/z-ai/glm-5.3-flash-20260826/endpoints"
|
||||
|
|
@ -713087,9 +713306,9 @@
|
|||
"sourceUrl": "https://models.dev/api.json",
|
||||
"sourceUnit": "usd_per_1m_tokens",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 0.014,
|
||||
"input": 0.07,
|
||||
"output": 0.2333
|
||||
"cacheRead": 0.015,
|
||||
"input": 0.075,
|
||||
"output": 0.25
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -713099,9 +713318,9 @@
|
|||
"sourceUrl": "https://models.dev/api.json",
|
||||
"sourceUnit": "usd_per_1m_tokens",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 0.014,
|
||||
"input": 0.07,
|
||||
"output": 0.2333
|
||||
"cacheRead": 0.015,
|
||||
"input": 0.075,
|
||||
"output": 0.25
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -713111,9 +713330,9 @@
|
|||
"sourceUrl": "https://openrouter.ai/api/v1/models",
|
||||
"sourceUnit": "usd_per_token_for_token_fields",
|
||||
"per1MTokens": {
|
||||
"cacheRead": 0.014,
|
||||
"input": 0.07,
|
||||
"output": 0.2333
|
||||
"cacheRead": 0.015,
|
||||
"input": 0.075,
|
||||
"output": 0.25
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue