前言¶
DeepSeek Harness(dsh)把模型接入拆成 Provider 插件:换后端不必改应用骨架。若你已经在用 Command Code 的 command-code CLI,或在别处持有 Provider API 额度,希望同一套账号在 DSH 的 Web、TUI、无头任务里选模型、看额度、走工具调用,手写 HTTP 适配成本高,也容易和官方 CLI 的登录态脱节。
dsh-provider-commandcode 是社区维护的 Command Code Provider 插件:单一路由 commandcode,Claude 系列走 Anthropic Messages,其余模型走 Chat Completions;模型列表按订阅计划过滤;可零配置复用 CLI 的 auth.json;Composer 内展示配额条。下文按安装、认证、选模与配置说明用法。插件与 Command Code、DeepSeek 无隶属或背书关系。
这是什么¶
- 名称:
dsh-provider-commandcode(Cordis 中 LLM 行 id 为llm-commandcode) - 维护者:abcdlsj
- 分类:模型推理
- 当前版本(package.json):0.1.0,许可证 MIT
- 环境要求:
dsh0.2.x(engines.dsh: >=0.2.0 <0.3.0) - 账号要求:Command Code 账户需具备 Provider API 权益(Pro、GOAT、Max、Ultra、Team、Provider);Go 计划无 Provider API,请求会返回
403 upgrade_required。
核心功能¶
双线路由¶
同一 Provider 路由下按模型 id 分流:Claude 模型请求发往 /messages;其他模型(含同时声明 /responses 的)发往 /chat/completions。工具调用、流式 reasoning、图片、usage(含 cached 与 reasoning tokens)、stop sequences、max_tokens 等会映射到对应线路。
计划感知的模型目录¶
插件读取订阅(/alpha/billing/subscriptions)并结合官方 CLI 目录中的 Min plan 列,只列出当前档位可调用的模型。plan 配置项默认 auto(读账户计划;购买或获赠额度时可使全部模型可达),也可固定为 go / goat / pro / max,或设为 all 列出全部并由上游拒绝不可调用项。超出档位的模型在发请求前即被拒绝,并提示所需计划与当前计划。若无法读取账户,插件会 fail open:模型列表仍完整,/commandcode status 中给出警告,避免空选单。
认证与多源回退¶
按请求依次解析 API Key(先匹配先生效):Web Models 页写入的凭据服务(默认环境变量名 COMMANDCODE_API_KEY)、启动环境中的同名变量、$COMMAND_CODE_API_KEY、以及若干 auth.json 路径(含 ~/.commandcode/auth.json,即 command-code CLI 登录结果)。已用 CLI 登录则通常无需额外配置。无头 profile 会关闭凭据服务,因此 CLI 登录回退有意保留。某 Key 返回 401 时,默认会弃用该 Key 并尝试下一来源(keyFallback: false 可关闭),最多尝试五个不同 Key。
Composer 配额条¶
所选模型属于 commandcode 时,Composer 停靠区显示配额胶囊(例如 5 hours 11% · Weekly 8%)。点击可查看计划、各滚动窗口用量与重置倒计时、月度 credits,并支持手动刷新;约每分钟轮询,页面可见性变化时也会刷新。浏览器不持有 API Key:由宿主读取 /alpha/billing/credits 并响应客户端的 commandcode/usage 调用。
斜杠命令¶
在挂载了命令注册表的 composition 中可使用 /commandcode:status(端点、目录来源、计划、认证来源等)、models [filter]、quota、plan、refresh(强制刷新模型、CLI 目录与计划)。
安装与启用¶
插件面向 web profile 安装;安装后执行 dsh web(或 dsh tui、dsh headless "task")。可在 profile 的 cordis.patch.yml 中覆盖 llm-commandcode 的 config。
# 从 npm(发布后)
dsh plugin --profile web add dsh-provider-commandcode
# 从本地目录
dsh plugin --profile web add /path/to/dsh-provider-commandcode
# 从 GitHub(pnpm 可能需先允许包的 build script)
dsh plugin --profile web add github:abcdlsj/dsh-provider-commandcode
注意:插件在当前 dsh 进程权限下运行,会读取本机认证文件与环境变量。安装前建议查看仓库源码与 MIT 许可证,确认可信后再写入 profile。
典型用法¶
在界面或 profile 中选定模型¶
在模型选择器中选 Command Code,或在 web/tui profile overlay(或 cordis.patch.yml)中固定:
# web/tui profile overlay(或 profile 的 cordis.patch.yml)
- id: agent-default-model
config:
provider: commandcode
model: claude-opus-5
计划内包含的模型均可调用;具体 id 以你账户目录为准。
按需覆盖配置(可选)¶
默认无需改配置即可工作。常见字段示例:
- id: llm-commandcode
name: dsh-provider-commandcode
config:
plan: auto # auto | go | goat | pro | max | all
keyFallback: true
quota: true
discovery: true
# authFile: /path/to/auth.json
为目录未列出或需修正能力的模型增加声明:
- id: llm-commandcode
name: dsh-provider-commandcode
config:
models:
- id: acme/next-model
name: Acme Next
wire: chat # 或 messages
contextWindow: 400000
maxTokens: 64000
inputModalities: [text, image]
efforts: [low, high, max]
更多字段(baseURL、thinking、reasoningBack、zdr、retryPolicy 等)见仓库 README 配置表。
诊断¶
会话中执行 /commandcode status 核对端点、目录与 CLI 目录来源、计划解析方式、认证来源(不打印 Key)。额度问题用 /commandcode quota;模型列表异常用 /commandcode models 或 /commandcode refresh。
适用场景与注意¶
适合:已在 Command Code 开通 Provider API,希望在 DSH 0.2.x 里统一用同一账号做多模型推理、工具调用与 reasoning,并希望在 Composer 内查看滚动配额与 credits,且尽量复用现有 CLI 登录的用户。
不适合或需知:仅 Go 计划、无 Provider API 的账户无法通过本插件调用;非 commandcode Provider 时配额条自动隐藏;referenceCatalog、discovery 等会发起网络请求刷新目录;若上游拒绝 reasoning_effort 或 Messages 侧 thinking 配置,插件会在进程内记住降级行为(见 README「Behaviour worth knowing」)。
DSH 生态奉行「一切皆插件」;社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系。本插件为非官方社区插件。
结尾¶
dsh-provider-commandcode 把 Command Code Provider API 收成 DSH 的一条 commandcode 路由:计划过滤的实时模型表、CLI 登录零配置复用、双线路由与 Composer 配额条,便于在 Harness 内把 Command Code 当作常规 LLM Provider 使用。