diff --git a/__tests__/validate.test.mjs b/__tests__/validate.test.mjs index c51d7ec..a6ea3f2 100644 --- a/__tests__/validate.test.mjs +++ b/__tests__/validate.test.mjs @@ -493,6 +493,28 @@ describe('真实数据全量校验', () => { assert.equal(pro.serviceType.includes('vision'), false) }) + it('MiMo-X 内测模型应声明 1M 上下文与图片识别能力', () => { + const provider = JSON.parse(readFileSync(join(ROOT, 'compute', 'providers', 'xiaomi.json'), 'utf8')) + const specFile = JSON.parse(readFileSync(join(ROOT, 'compute', 'model-specs', 'xiaomi.json'), 'utf8')) + const modelIds = ['mimo-x-flash-preview', 'mimo-x-pro-preview'] + + assert.ok(provider.services.includes('vision')) + for (const modelId of modelIds) { + const model = provider.models.find((item) => item.modelName === modelId) + const modelSpec = specFile.specs.find((item) => item.id === modelId) + + assert.ok(model, `provider 缺少 ${modelId}`) + assert.ok(modelSpec, `model-specs 缺少 ${modelId}`) + assert.deepEqual(modelSpec.match.exact, [modelId]) + assert.equal(model.contextWindow, 1000000) + assert.equal(modelSpec.spec.contextWindow, 1000000) + assert.ok(model.capabilities.includes('vision')) + assert.ok(model.serviceType.includes('vision')) + assert.ok(modelSpec.spec.capabilities.includes('vision')) + assert.ok(modelSpec.spec.serviceType.includes('vision')) + } + }) + it('Qwen3.8 Max Preview 应在 Token Plan 中提供完整的推理与视觉规格', () => { const tokenPlan = JSON.parse(readFileSync(join(ROOT, 'compute', 'coding-plans', 'dashscope-token-plan.json'), 'utf8')) const specFile = JSON.parse(readFileSync(join(ROOT, 'compute', 'model-specs', 'qwen.json'), 'utf8')) diff --git a/compute/model-specs/xiaomi.json b/compute/model-specs/xiaomi.json index 49f6c9f..352bd5e 100644 --- a/compute/model-specs/xiaomi.json +++ b/compute/model-specs/xiaomi.json @@ -1,6 +1,50 @@ { "description": "小米 MiMo 系列模型规格。参数来源:https://platform.xiaomimimo.com/docs/zh-CN/quick-start/model。注意 v2-pro/v2-omni 自 2026-06-01 起转发到 v2.5 系列,2026-06-30 正式停用,规格库仍保留供存量 NewAPI 渠道正确展示参数。", "specs": [ + { + "id": "mimo-x-flash-preview", + "displayName": "MiMo-X-Flash Preview", + "family": "mimo-x-flash-preview", + "match": { + "exact": [ + "mimo-x-flash-preview" + ] + }, + "spec": { + "contextWindow": 1000000, + "capabilities": [ + "chat", + "vision" + ], + "serviceType": [ + "chat", + "vision" + ], + "description": "小米 MiMo-X Flash 内测模型,1M 上下文,支持图片识别" + } + }, + { + "id": "mimo-x-pro-preview", + "displayName": "MiMo-X-Pro Preview", + "family": "mimo-x-pro-preview", + "match": { + "exact": [ + "mimo-x-pro-preview" + ] + }, + "spec": { + "contextWindow": 1000000, + "capabilities": [ + "chat", + "vision" + ], + "serviceType": [ + "chat", + "vision" + ], + "description": "小米 MiMo-X Pro 内测模型,1M 上下文,支持图片识别" + } + }, { "id": "mimo-v2.5-pro", "displayName": "MiMo V2.5 Pro", diff --git a/compute/providers/xiaomi.json b/compute/providers/xiaomi.json index 1f0d594..bd7797c 100644 --- a/compute/providers/xiaomi.json +++ b/compute/providers/xiaomi.json @@ -14,10 +14,41 @@ "services": [ "chat", "reasoning", + "vision", "tts", "asr" ], "models": [ + { + "modelName": "mimo-x-flash-preview", + "displayName": "MiMo-X-Flash Preview", + "serviceType": [ + "chat", + "vision" + ], + "description": "小米 MiMo-X Flash 内测模型,1M 上下文,支持图片识别", + "contextWindow": 1000000, + "capabilities": [ + "chat", + "vision" + ], + "extra": {} + }, + { + "modelName": "mimo-x-pro-preview", + "displayName": "MiMo-X-Pro Preview", + "serviceType": [ + "chat", + "vision" + ], + "description": "小米 MiMo-X Pro 内测模型,1M 上下文,支持图片识别", + "contextWindow": 1000000, + "capabilities": [ + "chat", + "vision" + ], + "extra": {} + }, { "modelName": "mimo-v2.5-pro", "displayName": "MiMo-V2.5-Pro", diff --git a/manifest.json b/manifest.json index 841b112..7643521 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "version": "1.0.0", - "presetDataVersion": 119, - "updatedAt": "2026-09-14", + "presetDataVersion": 120, + "updatedAt": "2026-09-15", "description": "DesireCore 官方配置中心" }