Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dsh-commandcode-plan-autosync

一键把 CommandCode 所选订阅档位的模型同步到 DeepSeek Harness 的 llm-pi-ai 供应商配置中,并在设置页提供「一键创建/更新」按钮。已存在目标供应商时只刷新模型列表,用户配置的密钥与地址保持不变。

为什么要用这个插件

  • DSH 的 llm-pi-ai 供应商目录是静态快照,不会自己刷新。CommandCode 的 Provider API 现有 61 个模型且持续上新(每款有各自的上下文/价格/能力),手抄进 settings.yaml 既不现实也容易过期。
  • 官方的 /provider/v1/models 接口只返回 id / name / context_length,没有任何推理(thinking)或视觉能力信息。插件额外解析官方 GOAT 计划页 内嵌的完整目录(每模型含 reasoning / vision / caps / 四项定价 / 最低计划要求),把能力正确映射进 DSH 配置。
  • 订阅分档:CommandCode 区分多个档位(Go / GOAT / Pro / Max),模型按 minPlanName 累计归属。插件提供「订阅类型」下拉框,每个档位对应独立的模型供应商,互不覆盖。
  • 混合路由问题:CommandCode 提供 OpenAI 兼容(/chat/completions)与 Anthropic 兼容(/messages)两套端点,Claude 系列走错端点会直接 400。插件按模型自动拆分:Claude 进 commandcode-<档位>-anthropicapi: anthropic-messages),其余进 commandcode-<档位>-autosyncapi: openai-completions)。

订阅档位与供应商

订阅类型(下拉框) 模型总数 包含 生成的供应商
goat(默认) 43 Go + GOAT 开源模型(无 Claude) commandcode-goat-autosync
pro 56 goat 全部 + Pro 档(Claude Sonnet/Haiku、GPT、Gemini 等) commandcode-pro-autosync + commandcode-pro-anthropic
max 61 全部模型(含 Claude Opus/Fable、Fugu Ultra) commandcode-max-autosync + commandcode-max-anthropic

档位是累计包含关系(minPlanName 字段定义,与官方文档一致:Pro 页写明 "includes everything in the GOAT plan")。Go 档不提供 API 访问(403),因此不在选项中。

映射规则(上游 → llm-pi-ai YAML)

上游(官方目录) llm-pi-ai 模型字段
contextWindow / context_length contextWindow
vision: true input: ["text", "image"](否则 ["text"]
reasoning: false reasoningEfforts: false(禁用思考参数)
reasoning: true 不写 reasoningEfforts,由供应商 compat.supportsReasoningEffort 决定
minPlanName 按所选档位过滤模型
vendor: Anthropic(或 id 以 claude- 开头) 归入 api: anthropic-messages 供应商
其余模型 归入 api: openai-completions 供应商

官方目录没有每个模型的思考档位列表(如 low/medium/high),因此插件不臆造档位映射;reasoning: true 的模型直接依赖供应商级 compat: {thinkingFormat: "openai", supportsReasoningEffort: true}(可通过 targetCompat 覆盖)。

安装

推荐直接从 GitHub 安装(web profile):

pnpm dsh plugin --profile web add github:CJYLZS/dsh-commandcode-plan-autosync

安装后重启 DSH Web,进入 设置 → 模型供应商,找到「CommandCode 计划同步」卡片:选择订阅类型(默认 goat),点击 一键创建/更新

API Key 配置

插件默认读取环境变量 COMMANDCODE_API_KEY(可通过插件配置 targetApiKeyEnv 修改名字)。

在 DSH 中配置密钥的方式二选一:

  1. 凭据管理(推荐):在 DSH 设置里为 llm-pi-aiapiKeyEnvCOMMANDCODE_API_KEY)配置凭据值,密钥只进入 .credentials.yaml,不会写入 settings.yaml
  2. 环境变量:启动 DSH 前 export COMMANDCODE_API_KEY=cmd_xxx

Key 在 commandcode.ai Studio 的 API keys 页面创建(除 Go 计划外均可用;GOAT/Pro/Max 按套餐额度计费,Provider 计划按量付费)。

配置项

字段 默认值 说明
sourceURL https://api.commandcode.ai/provider/v1/models 官方实时模型列表
catalogURL https://commandcode.ai/docs/plans/goat 官方 GOAT 计划页(能力目录);抓取失败时降级为纯列表
plan goat 订阅档位:goat / pro / max
targetApiKeyEnv COMMANDCODE_API_KEY 凭据环境变量名
targetBaseURL https://api.commandcode.ai/provider/v1 API 基地址
targetCompat {thinkingFormat: "openai", supportsReasoningEffort: true} openai 路由的 compat 覆盖
extraIds [] 额外写入的私有模型 id(目录之外,进 openai 路由供应商)
autoSync false 定时自动同步(默认关闭,需在卡片里手动开启)
autoSyncIntervalMs 6h 自动同步间隔(最小 60s)

目标供应商名由 plan 推导(commandcode-<plan>-autosync / commandcode-<plan>-anthropic),不需要单独配置。

FAQ

切换档位会怎样? 下拉框选择新档位并保存后,点「一键创建/更新」会创建该档位的供应商;旧档位的供应商保留不动(互不覆盖)。想清理旧供应商需手动删除。

为什么 goat 档没有 commandcode-goat-anthropic GOAT 档只含开源模型,没有 Claude,因此不会生成 Anthropic 路由供应商。

Claude 模型怎么用? 官方 API 要求 Claude 走 /messages(Anthropic 格式)。pro / max 档自动创建 commandcode-<plan>-anthropic 供应商(api: anthropic-messages);若在 OpenAI 路由供应商里调用 Claude id,会得到 400。

为什么有些模型没有思考档位? 官方目录只标注 reasoning: true/false,不提供档位枚举。reasoning: false 的模型写入 reasoningEfforts: false 防止 DSH 发送思考参数;reasoning: true 的模型由 compat.supportsReasoningEffort 统一放行。

调用超出档位的模型会怎样? 目录按 minPlanName 严格过滤,写入的模型都在所选档位内;上游列表若新增模型而目录尚未收录,插件会按纯列表写入全部(降级模式,结果中带 warning 提示)。

About

auto sync commandcode coding plan models in dsh

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages