dsh-provider-commandcode:在 DSH 里复用 Command Code Provider API

前言

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
  • 环境要求:dsh 0.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 使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜