diff --git a/__tests__/validate.test.mjs b/__tests__/validate.test.mjs index 86495af..5f1bc98 100644 --- a/__tests__/validate.test.mjs +++ b/__tests__/validate.test.mjs @@ -105,7 +105,7 @@ describe('真实数据全量校验', () => { if (spec.routing) routed.push(spec) } } - assert.equal(routed.length, 46) + assert.equal(routed.length, 49) assert.equal(routed.every((spec) => spec.routing.reasoning.supportedModes.includes(spec.routing.reasoning.defaultMode)), true) assert.equal(routed.every((spec) => Array.isArray(spec.spec.capabilities)), true) }) @@ -151,11 +151,13 @@ describe('真实数据全量校验', () => { .map((model) => model.modelName) assert.deepEqual(enabled(anthropic), [ + 'claude-fable-5-1', 'claude-fable-5', 'claude-opus-5', 'claude-sonnet-5', ]) assert.deepEqual(enabled(openai), [ + 'gpt-6-astra', 'gpt-5.5', 'gpt-5.5-pro', 'gpt-5.4', diff --git a/compute/model-specs/anthropic.json b/compute/model-specs/anthropic.json index 3ba1292..002fd92 100644 --- a/compute/model-specs/anthropic.json +++ b/compute/model-specs/anthropic.json @@ -1,6 +1,59 @@ { "description": "Anthropic Claude 系列模型规格。参数来源:config-center compute/providers/anthropic.json。", "specs": [ + { + "id": "claude-fable-5-1", + "displayName": "Claude Fable 5.1", + "family": "claude-fable", + "match": { + "exact": [ + "claude-fable-5-1" + ], + "patterns": [ + "claude-fable-5-1*" + ] + }, + "spec": { + "contextWindow": 1000000, + "maxOutputTokens": 128000, + "capabilities": [ + "chat", + "reasoning", + "deep_thinking", + "code", + "vision", + "tool_use", + "long_context" + ], + "serviceType": [ + "chat" + ], + "supportsReasoning": true, + "description": "Claude Fable 5.1,面向高难推理和长程智能体任务,始终开启自适应思考", + "extra": { + "adaptiveThinking": true, + "thinkingOnByDefault": true, + "thinkingOnly": true + } + }, + "routing": { + "tier": "flagship", + "routingPriority": 20, + "eligibleForAgent": true, + "defaultReference": false, + "reasoning": { + "supportedModes": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "defaultMode": "high" + } + } + }, { "id": "claude-fable-5", "displayName": "Claude Fable 5", diff --git a/compute/model-specs/openai.json b/compute/model-specs/openai.json index a101e76..fdb681d 100644 --- a/compute/model-specs/openai.json +++ b/compute/model-specs/openai.json @@ -1,6 +1,87 @@ { "description": "OpenAI GPT / o 系列模型规格。参数来源:config-center compute/providers/openai.json。注意:gpt-4o / gpt-5 等存在子型号(-mini/-nano),故只用 exact 主键匹配,不使用宽泛 pattern 以防误吞子型号。o 系列 serviceType 由 responses 调整为 reasoning(responses 为 OpenAI 直连专有,对 NewAPI 网关不适用)。", "specs": [ + { + "id": "gpt-6-astra", + "displayName": "GPT-6 Astra", + "spec": { + "contextWindow": 1050000, + "maxOutputTokens": 128000, + "capabilities": [ + "chat", + "reasoning", + "code", + "vision", + "long_context", + "tool_use", + "agent" + ], + "serviceType": [ + "chat" + ], + "supportsReasoning": true, + "extra": { + "thinkingOnly": true + } + }, + "routing": { + "tier": "flagship", + "routingPriority": 10, + "eligibleForAgent": true, + "defaultReference": false, + "reasoning": { + "supportedModes": [ + "auto", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "defaultMode": "medium" + } + } + }, + { + "id": "gpt-reserve", + "displayName": "GPT-Reserve", + "spec": { + "contextWindow": 1050000, + "maxOutputTokens": 128000, + "capabilities": [ + "chat", + "reasoning", + "code", + "vision", + "long_context", + "tool_use", + "fast" + ], + "serviceType": [ + "chat" + ], + "supportsReasoning": true, + "description": "参数暂按 GPT-5.6 Luna 配置,待官方规格确认" + }, + "routing": { + "tier": "lightweight", + "routingPriority": 10, + "eligibleForAgent": true, + "defaultReference": false, + "reasoning": { + "supportedModes": [ + "auto", + "off", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "defaultMode": "medium" + } + } + }, { "id": "gpt-image-2", "displayName": "GPT Image 2", diff --git a/compute/providers/anthropic-claude.json b/compute/providers/anthropic-claude.json index 8c7e2fb..4d93651 100644 --- a/compute/providers/anthropic-claude.json +++ b/compute/providers/anthropic-claude.json @@ -25,6 +25,41 @@ "reasoning" ], "models": [ + { + "modelName": "claude-fable-5-1", + "displayName": "Claude Fable 5.1", + "serviceType": [ + "chat" + ], + "description": "Claude 订阅额度计费,面向高难推理和长程智能体任务,1M 上下文,始终开启自适应思考", + "contextWindow": 1000000, + "maxOutputTokens": 128000, + "capabilities": [ + "chat", + "reasoning", + "code", + "vision", + "tool_use", + "agent", + "long_context" + ], + "extra": { + "adaptiveThinking": true, + "reasoning": { + "supportedEfforts": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "defaultEffort": "high" + }, + "thinkingOnByDefault": true, + "thinkingOnly": true + }, + "source": "preset" + }, { "modelName": "claude-fable-5", "displayName": "Claude Fable 5", diff --git a/compute/providers/anthropic.json b/compute/providers/anthropic.json index e898f15..62303c2 100644 --- a/compute/providers/anthropic.json +++ b/compute/providers/anthropic.json @@ -14,6 +14,56 @@ "computer_use" ], "models": [ + { + "modelName": "claude-fable-5-1", + "displayName": "Claude Fable 5.1", + "serviceType": [ + "chat" + ], + "description": "面向高难推理和长程智能体任务,1M 上下文,始终开启自适应思考", + "contextWindow": 1000000, + "maxOutputTokens": 128000, + "capabilities": [ + "chat", + "reasoning", + "code", + "vision", + "tool_use", + "agent", + "long_context" + ], + "inputPrice": 10, + "outputPrice": 50, + "extra": { + "serverSideWebSearch": { + "enabled": true, + "dialect": "anthropic-messages", + "fallbackPriority": 1, + "searchRequestPriceUsd": 0.01, + "toolType": "web_search_20260318" + }, + "cachePricing": { + "write5m": 12.5, + "write1h": 20, + "read": 0.25 + }, + "adaptiveThinking": true, + "reasoning": { + "supportedEfforts": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "defaultEffort": "high" + }, + "samplingParametersDeprecated": true, + "pricingNotes": "Prices are per 1M tokens. Full 1M context is billed at standard pricing.", + "thinkingOnByDefault": true, + "thinkingOnly": true + } + }, { "modelName": "claude-fable-5", "displayName": "Claude Fable 5", diff --git a/compute/providers/openai-codex.json b/compute/providers/openai-codex.json index 5b3971f..7fd25bc 100644 --- a/compute/providers/openai-codex.json +++ b/compute/providers/openai-codex.json @@ -24,6 +24,70 @@ "reasoning" ], "models": [ + { + "modelName": "gpt-6-astra", + "displayName": "GPT-6 Astra", + "serviceType": [ + "chat" + ], + "description": "ChatGPT 订阅额度计费,面向复杂推理、编程和长程智能体任务,1.05M 上下文", + "contextWindow": 1050000, + "maxOutputTokens": 128000, + "capabilities": [ + "chat", + "reasoning", + "code", + "vision", + "long_context", + "tool_use", + "agent" + ], + "extra": { + "reasoning": { + "supportedEfforts": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "defaultEffort": "medium" + } + }, + "source": "preset" + }, + { + "modelName": "gpt-reserve", + "displayName": "GPT-Reserve", + "serviceType": [ + "chat" + ], + "description": "ChatGPT 订阅额度计费,参数暂按 GPT-5.6 Luna 配置,待官方规格确认,272K 上下文", + "contextWindow": 272000, + "maxOutputTokens": 128000, + "capabilities": [ + "chat", + "reasoning", + "code", + "vision", + "long_context", + "tool_use", + "fast" + ], + "extra": { + "reasoning": { + "supportedEfforts": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "defaultEffort": "medium" + } + }, + "source": "preset" + }, { "modelName": "gpt-5.6-sol", "displayName": "GPT-5.6 Sol", diff --git a/compute/providers/openai.json b/compute/providers/openai.json index 6fa90f0..60bc8a7 100644 --- a/compute/providers/openai.json +++ b/compute/providers/openai.json @@ -24,6 +24,43 @@ "translation" ], "models": [ + { + "modelName": "gpt-6-astra", + "displayName": "GPT-6 Astra", + "serviceType": [ + "chat", + "responses" + ], + "description": "OpenAI GPT-6 Astra,面向复杂推理、编程和长程智能体任务,1.05M 上下文,128K 最大输出", + "contextWindow": 1050000, + "maxOutputTokens": 128000, + "capabilities": [ + "chat", + "reasoning", + "code", + "vision", + "ultra_long_context", + "tool_use", + "agent" + ], + "inputPrice": 10, + "outputPrice": 50, + "extra": { + "serverSideWebSearch": { + "enabled": true, + "dialect": "openai-responses", + "fallbackPriority": 1, + "searchRequestPriceUsd": 0.01, + "toolType": "web_search" + }, + "cachedInputPrice": 1, + "reasoning": { + "supportedEfforts": ["low", "medium", "high", "xhigh", "max"], + "defaultEffort": "medium" + }, + "pricingNotes": "Prices are per 1M tokens. Cache writes cost $12.50. Above 272K input tokens, input and cache rates are 2x and output rates are 1.5x for the full request." + } + }, { "modelName": "gpt-5.5", "displayName": "GPT-5.5", diff --git a/manifest.json b/manifest.json index 6d4343f..19ebb0b 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "version": "1.0.0", - "presetDataVersion": 109, - "updatedAt": "2026-09-01", + "presetDataVersion": 110, + "updatedAt": "2026-09-06", "description": "DesireCore 官方配置中心" }