dsh-commandcode-go:在 DSH 里用 Command Code Go 套餐跑模型

前言

DeepSeek Harness(DSH)通过向 ctx.llm 注册适配器来接入外部模型,不会自动替你调用 Command Code 官方 CLI。Command Code 的 Go 套餐没有 Provider API(走 https://api.commandcode.ai/provider/v1 会拿到 403 upgrade_required),官方 CLI 改走 POST https://api.commandcode.ai/alpha/generate 这一套未在公开文档里写死的传输。

若你希望在同一套 DSH 工作流里选用 Go 订阅下的模型,又不想单独起反向代理或后台进程,就需要一个能在 DSH 进程内完成协议转换的插件。dsh-commandcode-go(维护者 Hakuzoukyuu)做的就是这件事:Host 侧注册 commandcode-go provider,Client 侧在 Web 界面提供可拖动的用量悬浮窗。仓库当前版本为 0.2.1,许可证 MIT;SkillHub 分类为「模型推理」。它是非官方插件,与 Command Code 官方无关,复刻的是 CLI 使用的 alpha 传输,使用前需自行评估服务条款与协议变更风险。

这是什么

dsh-commandcode-go 是标准的 DSH 双半边插件:Host 注册模型 provider 与用量相关路由,Client 在浏览器 overlay 挂载悬浮窗。README 注明实现由 DeepSeek(大肥鱼) 编写。

插件在 DSH 内把 GenerateOptions 转成 CLI 的 alpha envelope,再把 NDJSON 事件流转回 StreamChunk;不是本地 HTTP 反向代理,不需要额外端口或后台进程。

核心功能

下面能力与 README 一致,便于对照是否满足你的场景。

模型与推理

  • 实时读取 Command Code 模型目录并按套餐过滤;离线时用内置 Go 模型列表兜底。
  • 支持文本、图片输入、工具调用、工具结果、reasoning effort、流式输出。
  • 正确回放历史 reasoning(DeepSeek thinking 模式下的工具循环需要)。
  • 图片按 1568 长边、单张 1 MiB 编码上限压缩;总图片预算 20 MiB。
  • 网关级输出上限 131072;moonshotai/Kimi-K3.1-Pro 会自动省略固定 temperature。

配置与 Web

  • DSH 根据插件 Config schema 自动生成设置页;apiKey 为 write-only secret。
  • 可拖动用量悬浮窗:额度、5 小时 / 每周窗口、本期请求与 token 统计(可通过 usageWidget 关闭)。

安装与启用

安装前请知悉:插件以当前 DSH profile 的进程权限运行,会读取你配置的 API key 或 CLI 登录文件;安装前建议浏览仓库源码与 MIT 许可证。仓库说明当前 npm 包尚未发布,可直接用本地目录安装。

普通 profile(命令行)

发布到 npm 后可用包名安装:

dsh plugin --profile <profile> add dsh-commandcode-go

当前可用本地链接方式:

dsh plugin --profile <profile> add link:/absolute/path/to/dsh-commandcode-go

例如:

dsh plugin --profile web add link:~/dsh-commandcode-go

在 Settings → Plugins → Command Code Go 填写 API key(或使用下文所述环境变量 / CLI 登录文件),然后重启或重新加载 profile。

DSH Desktop

Desktop 的 desktop profile 由 Electron 管理,dsh plugin --profile desktop 会被拒绝。可手动安装:

  1. 将整个 dsh-commandcode-go 目录复制到 ~/.dsh/profiles/desktop/node_modules/dsh-commandcode-go。
  2. 编辑 ~/.dsh/profiles/desktop/package.json,在 dsh.profile.bundles 末尾加入 "dsh-commandcode-go"。
  3. 重启 DSH Desktop;cordis.patch.yml 会把插件插入 loader。

开发时可把目录软链到 node_modules/dsh-commandcode-go,改源码后重启或重载即可。用量悬浮窗是 Client 半边,首次安装或升级后需让 Host 重新加载插件才会出现。

package.json 要求 Node ≥ 20,dsh 版本 >=0.2.1-rc.2 <0.3.0-0。

配置要点

字段 默认值 说明
apiKey 空 Command Code API key,通常以 user_ 开头;secret,保存后不回显。
apiKeyEnv CMD_API_KEY apiKey 为空时读环境变量;也会尝试 COMMAND_CODE_API_KEY。
baseURL https://api.commandcode.ai/provider/v1 只取 origin,拼成 /alpha/generate。
alphaVersion 1.88.3 作为 x-command-code-version 发送。
plan individual-go 模型过滤:individual-go、individual-goat、individual-pro、individual-provider、individual-max、all。
models [] 为空用实时目录;非空则严格按给定 id/顺序。
defaultMaxTokens 32768 默认输出上限,还会被模型与网关 131072 收紧。
defaultContextWindow 262144 目录缺 context_length 时的兜底。
streamTimeoutMs 300000 单次 alpha 流超时。
retries 3 交给 DSH 的可重试次数。
usageWidget true 是否在 Web 显示用量悬浮窗。
usageRefreshSeconds 60 悬浮窗自动刷新间隔(15–3600 秒)。

典型用法

API key 与登录

解析顺序:

  1. Settings 里的 apiKey;
  2. apiKeyEnv(默认 CMD_API_KEY)及 COMMAND_CODE_API_KEY;
  3. Command Code CLI 的 ~/.commandcode/auth.json(可用 COMMANDCODE_AUTH_FILE 指定路径)。

若 Go 订阅只能在官方 CLI 里浏览器登录且没有可读 auth 文件,README 建议改用支持浏览器登录的 @mars-sea/dsh-commandcode-provider。

不要把 API key 提交到仓库。

在 Models 页选模型

配置完成后,在 Models 选择 provider commandcode-go,再选任意 Go 模型,例如:

  • deepseek/deepseek-v4-flash
  • deepseek/deepseek-v4-pro
  • moonshotai/Kimi-K3
  • gpt-6-luna
  • z-ai/glm-5.3-flash

用量悬浮窗

悬浮窗数据来自 Host 只读路由 /dsh-commandcode-go/usage;API key 留在 Host,不进入浏览器。可拖动位置、折叠为悬浮球;刷新间隔受 usageRefreshSeconds 与 Host 约 20 秒缓存约束。关闭 usageWidget 并刷新页面即可隐藏。

适用场景与注意

适合谁

  • 已订阅 Command Code Go 套餐,希望在 DSH 里统一选模型、走工具与流式对话。
  • 需要 Web 端查看额度与窗口用量,又不想把 key 暴露给前端脚本。

务必注意

  • alpha 传输未官方文档化,CLI 或上游改版后可能要调 alphaVersion 或改适配逻辑;用量接口同理,悬浮窗失败不影响模型调用。
  • 仅支持文本/图片;文件由 DSH 转成文本句柄,不作二进制上传。图片只扫消息顶层 content。
  • 插件不内置浏览器登录;无 key、无 env、无 CLI auth 时需另选方案或手动配置。
  • 与 Command Code 官方无隶属关系;DSH 社区目录(如 SkillHub)也是独立站点,并非 DeepSeek / 幻方官方应用商店。

开发与自测

维护者本地测试方式为:

cd dsh-commandcode-go
node --test

更细的模块划分见仓库 docs/architecture.md。


经过上面的步骤,你可以在 DSH 内直接使用 Go 订阅对应的 alpha 传输,并在 Web 端查看用量。插件目录页:SkillHub - dsh-commandcode-go;源码与完整说明:GitHub - Hakuzoukyuu/dsh-commandcode-go。

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

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

Xiaoye