diff --git a/__tests__/validate.test.mjs b/__tests__/validate.test.mjs index fa6a0cd..9f4f8cd 100644 --- a/__tests__/validate.test.mjs +++ b/__tests__/validate.test.mjs @@ -378,6 +378,28 @@ describe('真实数据全量校验', () => { assert.equal(modelSpec.routing.reasoning.defaultMode, 'xhigh') }) + it('GLM-5.3-Flash 应在 Coding Plan 中提供强制思考的多模态接入', () => { + const codingPlan = JSON.parse(readFileSync(join(ROOT, 'compute', 'coding-plans', 'zhipu-coding.json'), 'utf8')) + const specFile = JSON.parse(readFileSync(join(ROOT, 'compute', 'model-specs', 'zhipu.json'), 'utf8')) + const modelId = 'glm-5.3-flash' + const model = codingPlan.models.find((item) => item.modelName === modelId) + const modelSpec = specFile.specs.find((item) => item.id === modelId) + + assert.ok(model, `智谱 Coding Plan 缺少 ${modelId}`) + assert.equal(model.contextWindow, 1048576) + assert.equal(model.maxOutputTokens, 131072) + assert.ok(model.capabilities.includes('vision')) + assert.ok(model.capabilities.includes('video_understanding')) + assert.deepEqual(model.serviceType, ['chat', 'reasoning', 'vision']) + assert.equal(model.extra.thinkingOnly, true) + assert.deepEqual(model.extra.reasoning.supportedEfforts, ['low', 'high', 'max']) + assert.equal(model.extra.reasoning.defaultEffort, 'max') + + assert.ok(modelSpec, `model-specs 缺少 ${modelId}`) + assert.equal(modelSpec.spec.extra.thinkingOnly, true) + assert.deepEqual(modelSpec.routing.reasoning.supportedModes, ['auto', 'low', 'high', 'max']) + }) + it('基础模型与后缀版本应使用独立精确规格,避免互相误匹配', () => { const qwen = JSON.parse(readFileSync(join(ROOT, 'compute', 'model-specs', 'qwen.json'), 'utf8')) const deepseek = JSON.parse(readFileSync(join(ROOT, 'compute', 'model-specs', 'deepseek.json'), 'utf8')) diff --git a/compute/coding-plans/zhipu-coding.json b/compute/coding-plans/zhipu-coding.json index b057f5f..c639c15 100644 --- a/compute/coding-plans/zhipu-coding.json +++ b/compute/coding-plans/zhipu-coding.json @@ -27,6 +27,48 @@ "glm-4.5-air" ], "models": [ + { + "modelName": "glm-5.3-flash", + "displayName": "GLM-5.3-Flash (Coding)", + "serviceType": [ + "chat", + "reasoning", + "vision" + ], + "description": "智谱 GLM-5.3-Flash Coding Plan 版本,原生多模态高效模型,1M 上下文,128K 最大输出,强制开启思考", + "contextWindow": 1048576, + "maxOutputTokens": 131072, + "capabilities": [ + "chat", + "reasoning", + "deep_thinking", + "code", + "vision", + "image_understanding", + "video_understanding", + "long_context", + "tool_use", + "agent", + "multilingual", + "fast" + ], + "defaultTemperature": 1, + "defaultTopP": 0.95, + "extra": { + "supportsThinking": true, + "thinkingDefault": true, + "thinkingOnly": true, + "reasoning": { + "supportedEfforts": [ + "low", + "high", + "max" + ], + "defaultEffort": "max" + } + }, + "source": "preset" + }, { "modelName": "glm-5.2", "apiModelId": "glm-5.2[1m]", diff --git a/manifest.json b/manifest.json index a712161..58b63e3 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "version": "1.0.0", - "presetDataVersion": 98, - "updatedAt": "2026-08-27", + "presetDataVersion": 99, + "updatedAt": "2026-08-28", "description": "DesireCore 官方配置中心" }