Commit Graph

166 Commits

Author SHA1 Message Date
e8122c1d77 fix(compute): 按官网补对话型号的 tool_use 标签 (#119)
逐条对照供应商官方文档,核对 36 个对话规格与 70 个 Provider / 套餐预置条目
(capabilities 缺 tool_use / tools / function_calling)的工具调用支持情况:

- 补 tool_use 25 条:规格 9、随规格继承的接入条目 5、接入覆盖 11
- 保持原样 81 条:官方写明不支持或页面互相矛盾 10、已下线或数日内下线 26、
  官方当前文档无该型号或无工具调用说明 34、只在未适配接口上支持 2、官网读取失败 9
- 只改 capabilities,不动 routing;qwen-max 等按华北 2(北京)地域记,国际站不适用
- 同步单模型来源记录、供应商证据目录与来源缺口清单;逐条决定与依据见
  docs/source-rechecks/2026-10-05-tool-calling/README.md
- presetDataVersion 128 → 129
2026-10-04 18:26:40 -07:00
a94a751078 docs: 重查供应商来源并记录逐字段复核候选 (#118) 2026-10-03 20:26:42 -07:00
987f286c86 docs: 记录目录实施验证与客户端发布阻塞 (#117) 2026-10-03 12:28:53 -07:00
7f4073a769 feat: 建立版本化模型目录与规范字段生成链路 (#116) 2026-10-03 11:05:56 -07:00
4f4e5093e9 docs: 单列官网证据缺失和字段来源不明清单 (#115)
* docs: separate unavailable and unclear data sources

* fix(docs): handle providers with no static model directory
2026-10-03 04:28:26 -07:00
5d9217f740 fix(compute): summary 服务映射改指 desirecore-cloud/mimo-v2.6-flash (#108)
原映射 desirecore-cloud/mimo-v2.5 已不在云端目录;summary 改为同系后继 mimo-v2.6-flash(balanced,支持关闭思考),presetDataVersion 126→127,并在 docs/data-sources/policies/service-map.md 登记调整理由与日期。
2026-10-03 04:21:59 -07:00
642985e819 fix(data): complete verified contracts and source maintenance (#114) 2026-10-03 03:49:55 -07:00
647d6f0cfd docs: split model source records and unify project instructions (#113)
* docs: split model sources and consolidate project instructions

* docs: normalize empty model navigation footer
2026-10-03 00:29:46 -07:00
cccf14f72d fix(compute): verify official model data and document sources (#112)
* fix(compute): verify official data and document model sources

* test(docs): guard provider metadata source freshness
2026-10-02 23:51:28 -07:00
79ffd1f8c3 feat(compute): refresh provider model catalog and compatibility profiles (#111) 2026-10-02 07:38:18 -07:00
614801a566 feat(runtimes): 推荐运行时升级到 Python 3.14.8 与 Node.js 24.21.0,minClientVersion 提到 10.0.178 (#110)
- Python:3.13 已于 2026-10-01 转入仅安全修复,改用 3.14 线最新版 3.14.8
  (python-build-standalone 20261001);内置 Hatch 1.16.5 认识发行版名 3.14
- Node.js:Krypton(24.x)最新 LTS 24.21.0;Node 26 要到 2026-10-28 才转 LTS
- 六个平台的 SHA-256 取自上游 SHA256SUMS / SHASUMS256.txt
- minClientVersion 10.0.82 → 10.0.178:首启离线导入按此清单在安装包里找归档,
  已发布客户端(≤10.0.177)只打包了 3.13.9 / 24.18.0,必须继续用各自的内置种子
2026-10-02 16:47:41 +08:00
dc7d48957e feat(compute): add GPT-6.1 Sol and Claude Sonnet 5.5 (#109) 2026-10-01 21:41:50 +08:00
74f92ac15a fix(compute): Codex 订阅接入面去掉 gpt-6-sol / gpt-6-luna 的 none 档 (#107)
OpenAI 下发给 Codex 的模型元数据(supported_reasoning_levels)里,ChatGPT
订阅接入面没有任何模型支持 none。#106 给 gpt-6-sol、gpt-6-luna 声明了 none,
客户端据此在 AI 审批等关闭思考的调用上发送 reasoning.effort=none,上游 400,
审批拿不到建议即自动拒绝,Agent 的每个中风险操作都被拒(2026-09-26 达摩院
176 在 win-test 上复现)。

去掉 none 后客户端对这两个模型不发关闭参数,改用上游默认档位;已在 win-test
真机验证 gpt-6-sol 的 AI 审批恢复为 200、Write 正常执行。model-specs 中的
off 是模型本身的事实,保持不变,本次只收紧 Codex 接入面。

presetDataVersion 121 → 122。
2026-09-26 15:53:12 +08:00
b64ee77342 feat(compute): update current model catalog (#106)
* feat(compute): update current model catalog

* feat(compute): add MiMo V2.6 model profiles
2026-09-25 23:33:23 +08:00
b4ff98c38c feat(compute): add Xiaomi MiMo-X preview models (#105) 2026-09-15 00:03:04 -04:00
ea59c02709 chore(compute): 删除无消费者的 extra.thinkingOnByDefault (#100)
客户端从未读取该字段:DesireCore 主仓的代码与 Schema 都没有引用它。「省略 thinking 时
上游是否默认思考」由主仓 thinking-profiles.ts 的 Anthropic 代际表判定(desirecore#2944)。
数据本身也不一致:Fable 5.1 / Opus 5 有该字段,同样默认 adaptive 的 Sonnet 5 却缺失,
保留下去容易被误当成可以调整行为的开关。

删除 model-specs/anthropic.json 1 处,providers/anthropic.json 与 anthropic-claude.json
各 2 处。extra 是开放对象,本仓与客户端 Schema 都未声明该字段,删除不影响任何校验;
客户端合并预设不回传字段删除,存量 compute.json 里残留的该字段依旧无人读取,无害。

presetDataVersion 118 → 119。
2026-09-14 08:56:59 -04:00
f3bf4e092c feat(compute): add DeepSeek V4.1 Flash alias (#104) 2026-09-14 01:23:52 -04:00
5171219a13 feat(compute): 声明 Anthropic 模型拒绝的采样参数与强制工具选择 (#103)
Claude Opus 4.7+ / Opus 5 / Fable 携带 temperature / top_p / top_k 会被官方 400
(Sonnet 5 非默认值 400),Claude Fable 5.1 对 tool_choice any / tool 回 400。客户端
改为纯按声明在出站删除采样参数、把强制工具选择降级为 auto(desirecore 主仓配套 PR)。

- providers/anthropic.json:claude-fable-5-1 增加 forcedToolChoiceUnsupported
- model-specs/anthropic.json:fable-5-1 / opus-5 / opus-4-8 / opus-4-7 / sonnet-5 声明
  samplingParametersDeprecated,fable-5-1 声明 forcedToolChoiceUnsupported,供精确命中
  补全的动态 Provider 使用;opus-4-7 的 defaultTemperature 由 1 改为 null(不支持温度调节)
- schemas:provider model extra 与 ModelSpec spec.extra 声明两个布尔字段(含 description)
- 测试:已知拒绝代际必须声明(单向)、布尔类型校验
- presetDataVersion 116 → 117
2026-09-13 22:56:51 -04:00
0be8207e32 fix(compute): 为 Anthropic adaptive 代际模型规格补齐 adaptiveThinking 声明 (#102)
Opus 5 / Sonnet 5 / Opus 4.8 / Opus 4.7 规格补 spec.extra.adaptiveThinking;各版本规格 family 收窄为自身版本,新增同名 claude-opus / claude-sonnet 家族规格承接兜底,防止声明泄漏给 Opus 4.5 等旧型号;schema 声明 adaptiveThinking 并写明匹配键约束;测试约束代际声明与 id/exact/pattern/family 不变式;presetDataVersion 115 → 116。
2026-09-13 22:39:20 -04:00
143b567a84 feat(compute): add DeepSeek V4.1 Flash profile (#101) 2026-09-13 22:05:51 -04:00
d28297242c feat(compute): 官方 Anthropic 模型声明接受不含 thinking 的工具轮 (#99)
新增 extra.thinkingToolTurnValidation(requires-thinking / accepts-thinkless),与
thinkingRoundTrip 并列(后者 additionalProperties:false,不能往里加字段)。

anthropic.json 与 anthropic-claude.json 的 Fable 5.1 / Opus 5 / Sonnet 5 声明
accepts-thinkless:官方 adaptive thinking 不要求工具轮以 thinking 开头,模型跳过思考的
工具轮原样回放即合法(mini 真机六轮验证全部 200)。客户端据此不再对这类响应重试、
不再降级为关闭思考。旧客户端忽略该字段,行为不变。

model-spec schema 的 spec.extra 同步禁止 thinkingRoundTrip 与 thinkingToolTurnValidation,
与客户端 Schema 一致,避免写错后新客户端整份拒收规格。

presetDataVersion 113 → 114。
2026-09-13 05:48:36 -04:00
008a082b2a fix(compute): 补齐 API Key 版 Fable 5.1 的 thinking 回放声明 (#97)
#87 为当时全部 Anthropic 模型(含 claude-fable-5)声明了 thinkingRoundTrip,
#94 新增 claude-fable-5-1 时漏掉,#95 删除 Fable 5 后 API Key 版只剩 Opus 5 /
Sonnet 5 声明。#96 已为订阅版 claude-fable-5-1 声明同款能力,说明意图一致。

Fable 5.1 为 thinkingOnly + thinkingOnByDefault,工具轮携带 thinking 是常态。
缺少声明时客户端 resolver 不下发 thinkingRoundTrip,出站重建会剥离当前工具轮
已签名的 thinking,续接请求会被 Anthropic 拒绝;同时入站守卫也不生效。

presetDataVersion 112 → 113。
2026-09-13 05:15:03 -04:00
014d532708 feat(compute): API Key 版 Fable 5.1 补齐 thinking 回放声明 (#98)
#94 新增 claude-fable-5-1 时漏掉了 Fable 5 自 #87 起就有的 thinkingRoundTrip
(active-tool-turn)。该模型 thinkingOnly,开启 thinking 的工具续接必须回放
本工具轮的已签名 thinking;订阅版 anthropic-claude.json 已在 #96 声明。
presetDataVersion 112 → 113。
2026-09-13 02:50:48 -04:00
9e6dc2bce0 feat(compute): Claude 订阅模型声明 thinking 回放能力 (#96)
与 anthropic.json(API Key 版)同款 thinkingRoundTrip(active-tool-turn)。
DesireCore ADR-161 把 Claude 订阅改为无状态传输后,开启 thinking 的工具续接
只能由请求携带本工具轮的已签名 thinking;在客户端删除按身份排除的逻辑之前,
此声明不改变任何行为。presetDataVersion 111 → 112。
2026-09-12 15:25:56 -04:00
064c561202 chore(compute): remove Fable 5 and Haiku 4.5 presets (#95) 2026-09-10 11:53:08 -04:00
571b98e682 feat(compute): add GPT-Reserve, Fable 5.1 and GPT-6 Astra (#94) 2026-09-06 04:20:15 -04:00
Johnson-LYS
8157091702 fix: prioritize Doubao web search (#93) 2026-09-01 16:37:39 +08:00
Johnson-LYS
3b26ea627d feat: add Doubao Global web search provider (#92) 2026-09-01 16:27:58 +08:00
Johnson-LYS
e7848667b6 feat: refresh model sync and MiMo speech metadata (#91) 2026-08-31 14:35:53 +08:00
9f331d3f78 feat(compute): 新增 GitHub Copilot 订阅 Provider 预设 (#90)
- compute/providers/github-copilot.json:coding-plan + credentialSource
  github-copilot,models 留空(可用集合随订阅档位与组织策略变化,由客户端
  登录后经 /models 动态发现)
- schemas/provider.schema.json:credentialSource 枚举登记 github-copilot 及其语义
- _index.json 顺序追加;manifest presetDataVersion 105 → 106
- 测试计价归属表登记 github-copilot(USD)

Co-authored-by: yi-ge <jackyoncode@gmail.com>
2026-08-31 14:16:30 +08:00
59743a99b4 feat(compute): 默认话题/摘要模型改为裸 mimo-v2.5(lightweight 档) (#89)
defaultServiceMap.summary.modelName: mimo-v2.5-pro → mimo-v2.5。

mimo-v2.5-pro 是 flagship 档(model-specs/xiaomi.json 里 tier=flagship),
裸 mimo-v2.5 才是 lightweight 档、支持 vision 的全模态版本,更符合摘要
用轻量模型的本意。

已知:该模型目前尚未出现在 desirecore-cloud 账号实时同步的模型列表里
(compute/providers/xiaomi.json 静态目录同样只有 -pro/-asr/-tts 三个变体),
应用侧的 applySummaryModelPin 精确匹配当前会跳过钉选、原样透传(不报错,
但也不生效),账号后续同步到该模型后自动生效,无需再改代码或数据。
2026-08-29 00:58:52 +08:00
ec57989864 feat(compute): 默认话题/摘要模型改为 mimo-v2.5-pro (#88)
defaultServiceMap.summary.modelName: deepseek-v4-flash-0731 → mimo-v2.5-pro
(desirecore-cloud 下唯一的 mimo-v2.5 系通用对话/推理变体,另有 -asr/-tts
两个语音专用变体不适用;账号已同步确认可用)。
2026-08-29 00:29:01 +08:00
37ad16f612 feat(compute): 声明 Anthropic thinking 回放能力 (#87)
Co-authored-by: yige <yige@yigedeMacBook-Neo.local>
2026-08-28 18:55:12 +08:00
3dbb9f2d83 fix(compute): 修正 summary 映射的模型名,账号实际同步的是带日期后缀版本 (#86)
真机验证发现 desirecore-cloud 账号 /api/v1/me/models 同步下来的模型目录里
只有 deepseek-v4-flash-0731(isDefault=true),没有裸的 deepseek-v4-flash——
PR #85 用的裸模型名精确匹配不上,导致摘要模型钉选静默失效(原样透传,无报错)。

改为 deepseek-v4-flash-0731(当前账号实际的 flash 档默认模型,contextWindow
与 pro 档一致但 inputRatio/outputRatio 明显更低)。这类日期后缀模型名可能
随云端版本迭代变化,后续如再次不匹配,只需改这个文件重新同步,无需改代码。
2026-08-28 18:07:10 +08:00
fadc3375c2 feat(compute): 新增 summary 服务映射,摘要专用轻量模型可配置化 (#85)
desirecore 主仓库把话题摘要/会话摘要/只读深度摘要三处的 provider/model 钉选逻辑
统一收口,原先硬编码在代码里的 desirecore-cloud + deepseek-v4-flash 组合改为读取
这里的 defaultServiceMap.summary,命中该 providerId 时钉选为该轻量模型,避免摘要
任务沿用主会话的重型模型参数。
2026-08-28 16:33:31 +08:00
a998e18e6c chore(compute): 下架零一万物 API 配置 (#84) 2026-08-28 14:52:05 +08:00
Johnson-LYS
de98a1ad1e feat(compute): add GLM-5.3 Flash to Coding Plan (#83)
- add GLM-5.3 Flash to the Z.AI Coding Plan preset
- declare multimodal and always-on reasoning capabilities
- add regression coverage and bump preset data version
2026-08-28 14:30:03 +08:00
Johnson-LYS
d0e9bf5085 feat(compute): add DeepSeek V4 variants and Qwen3.8 Flash (#82)
- add DeepSeek V4 Flash Vision Exp provider and model specifications
- add DeepSeek V4 Flash 0731 and Qwen3.8 Flash model specifications
- add regression coverage and bump preset data version
2026-08-27 17:43:36 +08:00
c46cf07d2f feat(compute): 补 GLM-5.3 系列规格并标注 Ox Alpha 真身 (#81)
* feat(compute): 补 GLM-5.3 系列规格并标注 Ox Alpha 真身

Ox Alpha 是智谱 GLM-5.3-Flash 的匿名发布别名(canonical_slug
z-ai/glm-5.3-flash-20260826,2026-08-26 揭晓后已从 OpenRouter 列表下架)。

改动:
- model-specs/zhipu.json 新增 glm-5.3 与 glm-5.3-flash 正式规格。两者均
  强制思考(z.ai 文档:thinking.type 仅接受 enabled;OpenRouter models API:
  reasoning.mandatory=true,supported_efforts=[max,high,low]),故
  routing.reasoning.supportedModes 不含 off。按 #79 的教训只用 exact 匹配,
  避免 glm-5.3* 误吞 glm-5.3-flash。
- model-specs/stealth.json 的 ox-alpha 用 spec.extra.modelOrigin 标注真身。
  条目保留:云端算力可能仍以旧别名下发该模型。
- schemas/model-spec.schema.json 为 extra.thinkingOnly / thinkingDefault
  补正式定义与 description。此前这两个键无任何说明,客户端因此从未消费,
  用户选「关闭思考」即触发上游 400(见 desirecore#2307)。
- scripts/validate.mjs 新增静默失效键名巡检:extra 是开放对象,写错键名
  既不报错也无告警。当前巡出 17 处扁平 extra.reasoningEffort。刻意只告警
  不失败——存量取值需逐个核实各自接入面实际接受哪些 effort。

* docs(schema): 写明 extra.reasoning 与 thinkingOnly 的职责边界

provider schema 的 extra.reasoning 此前只有子字段 description、对象本身没有,
维护者看不出它与 model-spec 的 thinkingOnly 分别回答什么问题——issue
desirecore#2307 的误解正源于此。补上对象级说明:本键答「接入面接受哪些 effort
值」且只能写在 provider model;thinkingOnly 答「off 能不能用」、不声明深度档位。
2026-08-27 15:21:25 +08:00
fa2f10dd0d feat: 添加万相 3.0 视频模型配置 (#80) 2026-08-25 08:35:44 -04:00
Johnson-LYS
61b5046117 fix(compute): split suffixed model specs (#79) 2026-08-25 11:17:02 +08:00
Johnson-LYS
b8f8f0ae58 fix(compute): add explicit Ox Alpha alias (#78) 2026-08-21 17:01:38 +08:00
Johnson-LYS
e627aef16a feat(compute): add Ox Alpha model (#77) 2026-08-21 16:44:37 +08:00
e3b20e4790 fix: validate smart routing tier completeness (#76) 2026-08-10 19:32:41 +08:00
ad8c515938 refactor: consolidate smart routing into model specs (#75) 2026-08-10 19:13:08 +08:00
Johnson-LYS
ed0aeccf29 feat: add qwen3.8 max preview (#67) 2026-08-10 17:10:47 +08:00
d6f939af52 feat: 下发智能路由模型目录 (#74) 2026-08-10 17:03:06 +08:00
78ed93f127 feat(compute): Claude 系列 defaultEffort 统一为 xhigh,presetDataVersion → 87 (#73)
Anthropic 对 Fable 5 / Opus 5 / Sonnet 5 的建议是编程与智能体场景用 xhigh
(Claude Code 自身默认即 xhigh),而此前沿用的是 API 默认值 high。DesireCore
是智能体操作系统,主力场景就是编程与长程智能体任务,故对齐到 xhigh。

两个 Anthropic provider 的 fable-5 / opus-5 / sonnet-5 同步调整,
extra.reasoning.defaultEffort 与顶层文档性 extra.defaultEffort 保持一致。
Haiku 4.5 不支持 effort 参数,无 reasoning 声明,不受影响。

注意:这会抬高默认 token 消耗;用户仍可在模型选择器按会话下调档位。
OpenAI Codex 的 per-model defaultEffort(low/medium/medium)是按模型分别调过的,
不属于本次对齐范围。
2026-08-08 18:52:31 +08:00
7832ae26a9 feat(compute): 下线 Opus 4.8 / Opus 4.7 / Sonnet 4.6,presetDataVersion → 86 (#72)
Anthropic provider 保留 Fable 5 / Opus 5 / Sonnet 5 / Haiku 4.5;Claude 订阅
provider 保留 Fable 5 / Opus 5 / Sonnet 5 / Haiku 4.5。

三个模型同时写入 provider.tombstones —— 仅从 models 数组删除只会触发 deprecated
软降级(保留本地数据),写入 tombstones 才是真删除,且客户端 resolver 的
resolveMappingModel() 只对 tombstone 模型执行「回退到同 serviceType 的其他可用
模型」,未 tombstone 的缺失模型会原样透传。因此写 tombstones 才能让存量会话平滑
迁移到 Opus 5,而不是继续指向一个已消失的模型名。

model-specs/anthropic.json 中三者的规格条目保留:规格库按 model_name 匹配任意
上游(含 OpenRouter 风格 vendor 前缀),与 provider 清单解耦——该文件本来就有
claude-sonnet-4-5 这类无 provider 条目的规格。删除会让经其他网关访问这些模型的
用户丢失上下文窗口/能力元数据。

用户侧 user-added / synced / ollama-discovery 来源的同名模型不受 tombstones 影响。
2026-08-08 18:44:57 +08:00
a752fddd0b feat(compute): 新增 Claude Opus 5 + 补齐 Claude 系列 effort 档位,presetDataVersion → 85 (#71)
Opus 5 是 Anthropic Opus 系列当前旗舰(1M 上下文 / 128K 输出 / $5·$25 per MTok,
与 Opus 4.8 同价),此前 config-center 完全缺失,用户在模型选择器里看不到它。

变更:
- compute/providers/anthropic.json:新增 claude-opus-5(排在 fable-5 之后、
  opus-4-8 之前);serverSideWebSearch.fallbackPriority 顺延重排
- compute/providers/anthropic-claude.json:Claude 订阅 provider 同步新增 claude-opus-5
- compute/model-specs/anthropic.json:补 claude-opus-5 与 claude-sonnet-5 规格
  (sonnet-5 此前只有 provider 条目、没有规格)
- 补 extra.reasoning.supportedEfforts:客户端 parseReasoningEffortConfig 只读
  extra.reasoning,原有的顶层 extra.defaultEffort 不被消费,导致 Claude 模型的
  effort 档位在 UI 上始终不可选。按各模型实际支持声明档位(sonnet-4-6 无 xhigh)
- __tests__/validate.test.mjs:WebSearch 允许名单登记 claude-opus-5
- manifest.json:presetDataVersion 84 → 85
2026-08-08 17:59:09 +08:00