← 返回列表
⚠ 装前注意
一个轻量级插件——几乎没有额外依赖。 它是纯…
基本兼容但装前注意:npm 同名包「dsh-commandcode-provider」归属 kristin130/dsh-commandcode-provider,装到的可能不是本插件 · 最近上游提交 2026/9/23 · 已提供中文文档
一个轻量级插件,在 dsh 中支持 commandcode 编码计划
综合分
31.5
GitHub 分
31.5
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add CJYLZS/dsh-commandcode-providernpm 同名包「dsh-commandcode-provider」归属 kristin130/dsh-commandcode-provider,装到的可能不是本插件,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · other
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 2 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-commandcode-provider @ 0.1.3
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
npm 同名包「dsh-commandcode-provider」归属 kristin130/dsh-commandcode-provider,装到的可能不是本插件
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 13:29:06
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-settings用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-commandcode-provider
DeepSeek Harness
License: MIT
一个轻量级插件——几乎没有额外依赖。 它是纯 JavaScript(无需构建步骤,无框架),仅包含两个小文件加一个单文件补丁,其唯一的运行时依赖是 @deepseek-ai/schemastery,任何 dsh 插件都已具备。它使用的其他一切均来自 dsh 宿主本身(ctx.web、设置接缝、凭据接缝、回环桥接)。
一键将 CommandCode 订阅套餐模型同步到 DeepSeek Harness 的 llm-pi-ai 提供商配置中,并在设置页面提供“创建 / 更新”按钮。已存在的目标提供商只会被刷新(更新模型列表)——你配置的密钥和基础 URL 会被保留。除此之外,它还能替换 dsh 内置的网页搜索(无需单独的搜索 API 密钥),并直接在设置卡片中显示你的 CommandCode 账户用量。
为什么需要这个插件
- dsh 的 llm-pi-ai 提供商目录是静态快照,永远不会自行刷新。CommandCode 的 Provider API 目前列出了 61 个模型,并且还在持续增长(每个模型都有自己的上下文/定价/能力)。手动将它们复制到提供商配置中既不现实,也容易过时。
- 官方的 /provider/v1/models 端点只返回 id / name / context_length——没有推理或视觉能力信息。本插件额外解析了官方 GOAT 套餐页面 中嵌入的完整逐模型目录(reasoning / vision / caps / 四个定价字段 / 最低套餐),并将能力正确映射到 dsh 配置中。
- 订阅套餐:CommandCode 有多个套餐(Go / GOAT / Pro / Max);模型按 minPlanName 累积。插件提供“订阅”下拉菜单;每个套餐映射到其自己独立的模型提供商,因此各套餐之间永远不会互相覆盖。
- 混合路由:CommandCode 同时提供 OpenAI 兼容(/chat/completions)和 Anthropic 兼容(/messages)端点;将 Claude 模型发送到错误的端点会返回 400。插件会自动拆分模型:Claude 模型进入 commandcode--anthropic(api: anthropic-messages),其他所有模型进入 commandcode--autosync(api: openai-completions)。
- 无需第二个 API 密钥的网页搜索:原版 dsh 需要单独的 DEEPSEEK_API_KEY,模型的 web_search 工具才能工作。本插件使用你的 CommandCode 账户密钥提供相同的工具,因此一个订阅即可覆盖聊天和搜索——无需配置或付费购买 dsh 搜索密钥。
- 账户用量一目了然:设置卡片显示实时的 CommandCode 用量(五小时/每周窗口限额及进度条、月度额度、请求/费用/token 总计),让你在触及速率限制或额度耗尽之前就能预见到。
套餐与提供商
| 订阅(下拉菜单) | 模型总数 | 包含 | 生成的提供商 |
| --- | --- | --- | --- |
| 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 页面声明“包含 GOAT 计划中的全部内容”)。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: {low: low, medium: medium, high: high, xhigh: xhigh, max: max} |
| minPlanName | 按所选层级筛选模型 |
| vendor: Anthropic(或 id 以 claude- 开头) | 路由到 api: anthropic-messages 提供商 |
| 其他所有情况 | 路由到 api: openai-completions 提供商 |
目录仅标记 reasoning: true/false,没有逐模型的级别,因此该映射是端点自身所接受级别上的恒等映射:超出 low|medium|high|xhigh|max 的 reasoning_effort 会被拒绝,并返回 HTTP 400 并列出该集合。该映射是告诉 dsh 该模型是否具备推理能力的关键——没有它,dsh 会将模型视为非推理模型(选择器中无级别,传输时不带推理参数),而提供商级别的 compat: {thinkingFormat: "openai", supportsReasoningEffort: true} 仅决定所选级别如何发送(可通过 targetCompat 覆盖)。
网络搜索(可选)
启用后,插件的 Command Code 搜索提供商通过 Command Code Provider API 的 /alpha/web-search 端点,为 dsh 面向模型的 web_search 工具提供支持——使用与你聊天流量相同的 API 密钥和账户,因此无需配置单独的搜索密钥或端点。
为什么这很有用:原版 dsh 提供的网络搜索由 DeepSeek 自己的 Messages API 支持,这意味着你需要一个单独的 DEEPSEEK_API_KEY(在你为聊天支付的费用之外另行计费),模型才能进行搜索。拥有 CommandCode 订阅后,你已经拥有一个可解锁搜索的账户密钥——此插件复用该同一密钥进行搜索,因此你不再依赖 dsh 自己的搜索 API 密钥。一个订阅,一个密钥:聊天和搜索两者兼顾。
- 在 dsh Web 接缝(ctx.web)上以提供方 ID commandcode 提供服务,并在开关打开时自动选中(关闭开关或插件卸载时恢复之前的搜索提供方)。
- numResults 会被限制在 Command Code 的范围内(1–10,默认 5);结果会映射为 dsh 的 WebSearchSource 结构(url/title/snippet)。
- 需要账户密钥(默认 COMMANDCODE_API_KEY —— 与聊天提供方使用的是同一凭据)。默认关闭;在设置卡片中启用(保存后立即生效,无需重启)。
使用情况仪表盘(可选)
设置卡片还会显示账户使用情况 —— 请求数、成功率、费用、令牌数、额度余额,以及 5 小时/每周窗口限制 —— 由 Host 侧使用同一账户密钥从账户端点(/alpha/whoami、/alpha/usage/summary、/alpha/billing/credits、/alpha/billing/subscriptions)获取。密钥绝不会离开主机。
一眼可见的信息: 当前 5 小时和每周窗口内还剩多少请求(带进度条和重置时间)、你的套餐本月还剩多少额度,以及你近期的请求/成功/费用/令牌总计 —— 这样你就能在撞上速率限制或“额度耗尽”这堵墙之前看到它是否正在逼近,并确认某个会话实际消耗是否符合预期。
- 每个端点独立降级:临时故障会显示部分数据提示,而不是让卡片空白;当所有端点都以相同方式失败时,卡片会指出原因(密钥无效 / 服务不可用 / 网络问题)。
- 使用情况端点位于 API 根路径(/alpha/),这与聊天基础路径 /provider/v1 不同。如果你的部署不同,请使用卡片中的 Usage / search API base 字段。
安装
设置页面依赖 dsh 的设置 API,而该 API 在 0.1.7-alpha.1 系列中发生了变化,因此请选择与你运行的 dsh 匹配的插件标签:
| dsh | 插件 | 安装(web 配置文件) |
| --- | --- | --- |
| 0.1.7-alpha.1 … 是安装时解析的 Git ref。如果不指定,则会安装仓库的默认分支,它会跟踪最新系列。
对于本地检出,请链接目录而不是复制它 —— 之后的编辑会在下次重启时生效,无需重新安装:
dsh plugin --profile web add link:/absolute/path/to/dsh-commandcode-provider
安装后重启 dsh Web,然后打开 Settings → CommandCode,或打开 Plugins 页面中的 bundle 卡片并点击其行上的 Configure —— 两者挂载的是同一个页面。选择订阅(默认 goat)并点击 Create / Update。
dsh 兼容性
| dsh | 插件 | 设置界面 |
| --- | --- | --- |
| ≥ 0.1.7-alpha.1 | v0.2.2 | 在设置中拥有独立页面(settings.section,导航标签为 CommandCode),位于插件页面的行配置旁边;写入模型推理映射并运行自动同步 |
| ≥ 0.1.7-alpha.1 | v0.2.0 | 仅使用插件页面的行配置(plugins.row.config),没有设置页面 |
| ≤ 0.1.5-rc.3 | v0.1.3 | 注册的设置区块(settings.register / installSection),与模型提供商一同列出 |
v0.2.2 和 v0.2.0 都将各自的配置作为其自身 Cordis Config 的实时引用进行读写;v0.2.2 增加了独立的设置页面,并默认写入推理映射,这正是模型选择器能够提供思考级别的原因。v0.1.3 使用了已移除的 settings.register / installSection API 以及已废弃的 settings.plugin.item 插槽,因此它无法在 0.1.7-alpha.1 或更高版本上加载。
不匹配会在浏览器中表现为 web boot: 1 entry did not activate … pending (waiting for service: settingsScope),而在较新的 dsh 上运行 v0.1.3 时,会在 $DSH_HOME/logs/startup-.log 中表现为该包的 settings.register is not a function。
API 密钥设置
点击 Create / Update 后,插件会自动为你的层级创建一个模型提供商——默认是 commandcode-goat-autosync(其他层级则为 commandcode-pro-… / commandcode-max-…)。API 密钥就放在该提供商中。
推荐方式——通过 dsh 的 Models 页面:
1. 在 dsh 中,前往 Settings → Models(该页面列出了所有提供商,包括此插件创建的那个)。
2. 找到 commandcode-goat-autosync(或你所在层级的提供商),然后点击 Edit。
3. 将你的 CommandCode API 密钥粘贴到 API key 字段中,然后 Save。
就这样——密钥会存储在 dsh 的凭据存储中,并用于聊天、网页搜索和用量卡片。
替代方式——环境变量: 在启动 dsh 之前执行 export COMMANDCODE_API_KEY=cmd_xxx。(插件的配置项 targetApiKeyEnv 可以重命名它所读取的变量。)
密钥从何而来?在 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 基础 URL |
| targetCompat | {thinkingFormat: "openai", supportsReasoningEffort: true} | openai 路由的 compat 覆盖 |
| extraIds | [] | 要写入的额外私有模型 id(在目录之外,写入 openai-route 供应商) |
| includeReasoningEfforts | true | 为目录中标记为 reasoning 的模型写入 low…max 推理映射;关闭后 dsh 会将它们视为非推理模型 |
| autoSync | false | 周期性自动同步(默认关闭;在卡片中启用) |
| autoSyncIntervalMs | 6h | 自动同步间隔(最小 60s) |
| webSearch | false | 使用 Command Code(/alpha/web-search)提供 dsh 的 web_search |
| usageBaseURL | https://api.commandcode.ai | 用量/搜索端点(/alpha/)的 API 根地址 |
目标供应商名称由 plan 派生(commandcode--autosync / commandcode--anthropic);无需单独配置。
常见问题
切换档位时会发生什么? 在下拉框中选择新档位并保存,然后点击 Create / Update:新档位的供应商会被创建;旧档位的供应商保持不变(各档位之间从不互相覆盖)。请手动移除过期的供应商。
为什么没有 commandcode-goat-anthropic? GOAT 档位只包含开放模型——没有 Claude——因此不会生成 Anthropic-route 供应商。
Claude 模型如何工作? 官方 API 要求 Claude 走 /messages(Anthropic 格式)。pro / max 档位会自动创建 commandcode--anthropic(api: anthropic-messages);通过 OpenAI-route 供应商调用 Claude id 会返回 400。
为什么有些模型没有推理等级? 只有目录中标记为 reasoning: false 的模型才没有:它们会得到 reasoningEfforts: false,因此 dsh 不发送任何思考参数,选择器也不提供任何等级。每个 reasoning: true 的模型都会获得 low…max 映射——正是这个映射让选择器中显示出这些等级。模型列表和这些映射会在同步时被重写,因此在更改选项后,请先点击 Create / Update(或等待自动同步运行),供应商配置才会带上它。
如果我调用超出我档位的模型会怎样? 目录会严格按 minPlanName 过滤,因此写入的模型都在所选档位内;当上游新增了目录尚未索引的模型时,插件会写入完整的普通列表(降级模式,并在结果中给出警告)。
简体中文
轻量插件——几乎没有额外依赖。 纯 JavaScript 实现(无构建步骤、无框架),只附带两个小文件加一个单文件 patch;唯一的运行时依赖是 @deepseek-ai/schemastery,而这是任何 dsh 插件本来就会装的。其余能力全部来自 dsh 宿主本身(ctx.web、settings 能力缝、凭据能力缝、loopback bridge)。
一键把 CommandCode 所选订阅档位的模型同步到 DeepSeek Harness 的 llm-pi-ai 供应商配置中,并在设置页提供「一键创建/更新」按钮。已存在目标供应商时只刷新模型列表,用户配置的密钥与地址保持不变。除此之外,它还能替代 dsh 自带的 web 搜索(无需单独的搜索 API key),并在设置卡片里直接展示你的 CommandCode 账户用量。
为什么要用这个插件
- DSH 的 llm-pi-ai 供应商目录是静态快照,不会自己刷新。CommandCode 的 Provider API 现有 61 个模型且持续上新(每款有各自的上下文/价格/能力),手抄进供应商配置既不现实也容易过期。
- 官方的 /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--anthropic(api: anthropic-messages),其余进 commandcode--autosync(api: openai-completions)。
- 搜索无需第二把 API key:原版 dsh 要单独的 DEEPSEEK_API_KEY,模型的 web_search 工具才能用。本插件直接用你的 CommandCode 账户 key 提供同一个搜索工具——一个订阅同时覆盖聊天和搜索,不用再配置、再付费买 dsh 的搜索 key。
- 用量一眼可见:设置卡片直接展示 CommandCode 实时用量(5 小时/周窗口限额带进度条、本月剩余额度、请求/成本/Token 汇总),限流或额度耗尽之前就能提前看到。
订阅档位与供应商
| 订阅类型(下拉框) | 模型总数 | 包含 | 生成的供应商 |
| --- | --- | --- | --- |
| 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: {low: low, medium: medium, high: high, xhigh: xhigh, max: max} |
| minPlanName | 按所选档位过滤模型 |
| vendor: Anthropic(或 id 以 claude- 开头) | 归入 api: anthropic-messages 供应商 |
| 其余模型 | 归入 api: openai-completions 供应商 |
官方目录只标注 reasoning: true/false,没有每个模型的档位列表,所以这份映射取的是端点自己接受的档位字面量:reasoning_effort 只要不是 low|medium|high|xhigh|max,就会收到 HTTP 400 并被告知这一集合。这份映射同时是 dsh 判定「该模型会思考」的依据——没有它,dsh 会把模型当作不支持思考(选择器里没有挡位、请求也不带思考参数);供应商级 compat: {thinkingFormat: "openai", supportsReasoningEffort: true} 只决定选中的档位怎么发(可通过 targetCompat 覆盖)。
Web 搜索(可选)
开启后,插件的 Command Code 搜索供应商 为 dsh 的模型 web_search 工具提供后端,走 Command Code Provider API 的 /alpha/web-search 端点——与聊天同一个 API Key、同一个账户,无需单独配置搜索 key 或端点。
为什么值得开: 原版 dsh 的 web 搜索由 DeepSeek 自己的 Messages API 提供,意味着你需要再配一个单独的 DEEPSEEK_API_KEY(在聊天费用之外另行计费),模型才能搜索。而只要你有 CommandCode 订阅,账户 key 本身就解锁搜索能力——本插件直接复用这把同一个 key 做搜索,从此不再依赖 dsh 自己的搜索 API key。一个订阅、一把 key,聊天和搜索都搞定。
- 注册在 dsh web 能力缝(ctx.web)上,provider id 为 commandcode;开关开启期间自动被选中(关闭或插件卸载时恢复之前的搜索供应商)。
- numResults 会被钳制在 Command Code 的范围内(1–10,默认 5);结果映射为 dsh 的 WebSearchSource 结构(url/title/snippet)。
- 需要账户 key(默认 COMMANDCODE_API_KEY——与聊天供应商同一个凭据)。默认关闭;在设置卡片里开启(保存后立即生效,无需重启)。
用量统计(可选)
设置卡片同时展示账户用量——请求数、成功率、成本、Token、额度余额以及 5 小时/周窗口限额——数据在宿主侧用同一个账户 key 从账户端点(/alpha/whoami、/alpha/usage/summary、/alpha/billing/credits、/alpha/billing/subscriptions)抓取。key 不会离开宿主。
一眼看清: 当前 5 小时/周窗口还剩多少请求(带进度条与重置时间)、本月套餐还剩多少额度,以及最近的请求数/成功率/成本/Token 汇总——在撞上「限流」或「额度耗尽」之前就能提前发现,也能确认某次会话实际消耗是否符合预期。
- 每个端点独立降级:某个端点临时失败时显示局部数据提示而不会清空整卡;当所有端点以同一方式失败时,卡片会点明原因(key 无效 / 服务不可用 / 网络错误)。
- 用量端点位于 API 根路径(/alpha/),与聊天的 /provider/v1 基址不同。如果部署环境不同,请使用卡片中的「用量/搜索 API 地址」字段。
安装
设置页依赖 dsh 的 settings API,而它在 0.1.7-alpha.1 这一代有变更,所以请按你正在运行的 dsh 选择插件 tag:
| dsh | 插件版本 | 安装命令(web profile) |
| --- | --- | --- |
| 0.1.7-alpha.1 … 就是安装时解析的 Git ref。不写时安装仓库默认分支,也就是最新的一代。
本地检出则用链接方式安装,避免拷贝——之后每次改动在重启后生效,不需要重新安装:
dsh plugin --profile web add link:/absolute/path/to/dsh-commandcode-provider
安装后重启 DSH Web,打开 设置 → CommandCode,或从 插件(Plugins) 页进入本 bundle 卡片并在该行点 配置(Configure)——两处打开的是同一个页面。选择订阅类型(默认 goat),点击 一键创建/更新。
dsh 兼容性
| dsh | 插件版本 | 设置界面 |
| --- | --- | --- |
| ≥ 0.1.7-alpha.1 | v0.2.2 | 设置页里独立的 CommandCode 页(settings.section),与插件页的行配置并存;会写入模型思考档位映射并真正执行自动同步 |
| ≥ 0.1.7-alpha.1 | v0.2.0 | 仅插件页的行配置(plugins.row.config),没有设置页 |
| ≤ 0.1.5-rc.3 | v0.1.3 | 注册式设置节(settings.register / installSection),与模型供应商并列显示 |
v0.2.2 与 v0.2.0 都把配置读写为自身 Cordis Config 的实时引用;v0.2.2 在此之上增加了设置页里的独立页面,并默认写入思考档位映射——正是它让模型选择器里出现思考挡位;v0.1.3 用的是已被删除的 settings.register / installSection 与已退役的 settings.plugin.item,因此在 0.1.7-alpha.1 及之后无法加载。
版本不匹配时的表现:浏览器里 web boot: 1 entry did not activate … pending (waiting for service: settingsScope);在新版 dsh 上运行 v0.1.3 时,$DSH_HOME/logs/startup-.log 里本包会有 settings.register is not a function。
API Key 配置
点击「一键创建/更新」后,插件会自动创建对应档位的模型供应商——默认是 commandcode-goat-autosync(其它档位为 commandcode-pro-… / commandcode-max-…)。API key 就配在这个自动创建的供应商上。
推荐方式——在 dsh 的模型页配置:
1. 进入 dsh 的 设置 → 模型(该页列出所有供应商,包括本插件自动创建的)。
2. 找到 commandcode-goat-autosync(或你档位对应的供应商),点击 编辑。
3. 在 API 密钥 输入框粘贴你的 CommandCode API key,点击 保存。
完成。key 会存入 dsh 的凭据库,聊天、web 搜索和用量卡片共用这一把。
备选方式——环境变量: 启动 dsh 前 export COMMANDCODE_API_KEY=cmd_xxx。(插件配置项 targetApiKeyEnv 可修改它读取的变量名。)
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 路由供应商) |
| includeReasoningEfforts | true | 给目录里标 reasoning: true 的模型写入 low…max 档位映射;关掉后 dsh 会把它们当作不支持思考 |
| autoSync | false | 定时自动同步(默认关闭,需在卡片里手动开启) |
| autoSyncIntervalMs | 6h | 自动同步间隔(最小 60s) |
| webSearch | false | 用 CommandCode 提供 dsh 的 web_search(/alpha/web-search) |
| usageBaseURL | https://api.commandcode.ai | 用量/搜索端点所在 API 根路径(/alpha/) |
目标供应商名由 plan 推导(commandcode--autosync / commandcode--anthropic),不需要单独配置。
FAQ
切换档位会怎样? 下拉框选择新档位并保存后,点「一键创建/更新」会创建该档位的供应商;旧档位的供应商保留不动(互不覆盖)。想清理旧供应商需手动删除。
为什么 goat 档没有 commandcode-goat-anthropic? GOAT 档只含开源模型,没有 Claude,因此不会生成 Anthropic 路由供应商。
Claude 模型怎么用? 官方 API 要求 Claude 走 /messages(Anthropic 格式)。pro / max 档自动创建 commandcode--anthropic 供应商(api: anthropic-messages);若在 OpenAI 路由供应商里调用 Claude id,会得到 400。
为什么有些模型没有思考档位? 只有目录里标了 reasoning: false 的那些:它们写入 reasoningEfforts: false,dsh 因此不发思考参数,选择器里也不给档位。标 reasoning: true 的模型一律写入 low…max 映射——正是这份映射让挡位出现在选择器里。模型列表和映射都在同步时才重写:改了选项后要点一次「一键创建/更新」(或等自动同步跑一轮)才会落到供应商配置里。
调用超出档位的模型会怎样? 目录按 minPlanName 严格过滤,写入的模型都在所选档位内;上游列表若新增模型而目录尚未收录,插件会按纯列表写入全部(降级模式,结果中带 warning 提示)。