xyx 00e148af8e feat: 算力配置全面审计 — 6 家供应商 + Token/Coding Plan 对齐官方文档 (#20)
Providers:
- moonshot: 移除到期模型 kimi-k2/k2-thinking,修正 k2.6 maxOutputTokens 32768、k2.5 contextWindow 262144
- tencent: 修正 hunyuan-t1-latest 上下文/输出/价格,新增 hunyuan-t1-vision/turbos-vision
- volcengine: doubao-seed-2.0-lite/mini 新增 audio_understanding/video_understanding
- internal-testing: services 扩展为全部 18 种类型,新增 mediaBaseUrl

Coding Plans:
- dashscope-token-plan: baseUrl 修正为 coding.dashscope.aliyuncs.com,移除非 Coding Plan 模型,新增 kimi-k2.5/qwen3.5-plus/qwen3-coder-plus/glm-4.7
- minimax-coding: 修正 usageTracking 端点,services 扩展为 7 种含媒体类型
- moonshot-coding: maxOutputTokens 修正为 32768
- zhipu-coding: 新增 glm-5.1/glm-5-turbo/glm-4.5-air,修正 glm-5 contextWindow 200000
- volcengine-coding: 新增 glm-5.1/kimi-k2.6/minimax-m2.7
- tencent-token: 新增腾讯云 Token Plan(10 个模型)

presetDataVersion: 45 → 46
2026-05-10 00:58:56 +08:00
2026-04-26 17:44:03 +08:00

DesireCore Config Center

DesireCore 官方配置中心:托管 Provider / Model / Pricing / ServiceMap 数据,由 desirecore 客户端通过 npm run sync-config-center 脚本和运行时后台 fetch 拉取。


数据契约Frozen Schema

schemas/ 目录下的 JSON Schema 是已发布客户端的兼容契约。所有写入此仓库的数据必须通过 schemas/ 校验,否则会破坏老版本客户端。

历史背景

PR #1 曾把 reasoning 模型的 defaultTemperature / defaultTopP 写为 null 导致已发布客户端schema 严格 numberreadComputeConfig 校验失败 → 同步路径死锁 → 远程数据 revert 也救不了已污染的本地用户。详见 desirecore PR #471。

为防止此类事故重演,本仓库引入 frozen schema + CI 自动校验。

校验规则

Schema 适用文件 关键约束
provider.schema.json compute/providers/*.jsoncompute/coding-plans/*.json defaultTemperature/defaultTopP 必须是 number禁止 null/stringadditionalProperties: false
manifest.schema.json manifest.json presetDataVersion 必须是递增整数
service-map.schema.json compute/service-map.json 每条映射须含 modelName + providerId
providers-index.schema.json 两个 _index.json order 数组无重复
pricing.schema.json compute/pricing.json markupRatio / usdToCny 为正数

关键规则reasoning 模型的温度参数

禁止"defaultTemperature": null"defaultTopP": null

正确做法:完全省略字段。

// ❌ 错误:会破坏 fix #471 之前的客户端
{ "modelName": "deepseek-reasoner", "defaultTemperature": null }

// ✅ 正确reasoning 模型省略温度字段
{ "modelName": "deepseek-reasoner", "displayName": "DeepSeek Reasoner", ... }

关键规则:新增字段需先升级老客户端 schema

providermodel 顶层均启用 additionalProperties: false。如需新增字段:

  1. 先在 desirecore 主仓 lib/schemas/agent-service/compute.ts 升级 schema 接受新字段
  2. 发布新版本客户端
  3. 等大部分用户升级
  4. 再更新本仓库的 frozen schema 和数据

否则老客户端会因未知字段校验失败死锁。


本地校验

npm install
npm run validate     # 校验所有数据文件
npm test             # 跑单元测试(含反例测试)

CIGitHub Actions会在每个 PR 自动运行 validatetest,不通过禁止合并。


数据修改流程

  1. 编辑 compute/providers/<name>.jsoncompute/coding-plans/<name>.jsoncompute/service-map.json
  2. 编辑 compute/providers/_index.jsoncoding-plans/_index.json(新增/删除 provider 时)
  3. 必须递增 manifest.json#presetDataVersion,并更新 updatedAt
  4. npm run validate 本地确认通过
  5. 提 PR等 CI 校验通过
  6. 合并到 main 后客户端会在下次后台 fetch最长 30 分钟)拾取更新

客户端拉取机制

详见 desirecore CLAUDE.md "Config Center" 章节。

  • 构建期同步npm run sync-config-center 把数据复制到 desirecore 主仓 lib/agent-service/defaults/
  • 运行时同步:客户端启动后后台 git fetch 本仓库,每 30 分钟检查一次远程更新
  • 版本比对presetDataVersion(递增整数)+ digestSHA-256双重校验
Description
DesireCore 配置中心。
Readme 812 KiB
Languages
JavaScript 96.2%
Shell 3.8%