dsh-opencode-patch:让 OpenCode 模型在 DeepSeek Harness 中可用

前言

DeepSeek Harness (DSH) 的设计理念是“一切皆插件”。在默认配置下,指向 OpenCode 的模型请求往往无法正常工作。这通常是因为缺少特定的网关来源头、会话 ID 识别,或者是免费版模型缺少工具模式定义。dsh-opencode-patch 是一个专门解决这些网络层协议问题的 DSH 插件。

这是什么

这是一个 DeepSeek Harness 主机插件,由 viztor 维护。它的核心作用是确保 OpenCode Zen 和 Go 免费层级模型在 DSH 环境中可用。它通过修复网络层的缺失协议(如会话亲和性、请求来源头),解决请求被拒绝或功能受限的问题。

核心功能

  1. 会话亲和性:实现确定性的 ses_… 会话哈希,支持跨多轮对话、子智能体和分支的 KV 缓存亲和性。
  2. 网关来源恢复:恢复 User-Agent、x-opencode-client、x-opencode-project 以及父会话继承链。
  3. 免费版工具回退:为免费版模型提供 read 和 bash 工具模式定义,解决因缺少工具定义导致的 403 错误。
  4. 模型目录与计费:提供基于 models.dev 的离线缓存和后台刷新,展示模型名称、价格和上下文窗口;支持实时双模式计费仪表盘。

安装与启用

  1. 安装依赖:确保环境满足 Node 24+。进入 Web 配置目录并安装包。
  2. 启用插件:在配置文件的 dsh.profile.bundles 数组中添加该包。
  3. 配置凭证:设置 OPENCODE_GO_API_KEY(Go 订阅)或 OPENCODE_API_KEY(Zen 按量付费)。
  4. 重启服务:重启 dsh web 服务。

典型用法

安装命令如下:

cd ~/.dsh/profiles/web && npm install dsh-opencode-patch

在 ~/.dsh/profiles/web/package.json 中启用插件:

{
  "dependencies": {
    "dsh-opencode-patch": "^0.14.0",
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-opencode-patch"],
      "patchReload": "live",
    },
  },
}

适用场景与注意

  • 默认状态不工作:不安装此插件时,OpenCode 模型默认无法工作。
  • 路由机制:OpenCode 提供 4 种不同的 API 形状,此插件根据模型进行路由,而非全局修补。
  • 免费版限制:插件不提供 Zen 免费版 ID,头部信息主要用于付费路由。
  • 非全局影响:其他提供商(DeepSeek、OpenAI 等)的流量不受影响,保持字节级相同。
  • 目录信息:未安装插件时,目录信息非常稀疏(无名称、价格、上下文窗口)。

总结

dsh-opencode-patch 通过在特定路由上恢复 OpenCode 所需的网络层协议元素,解决了模型不可用的问题。它不提供全局修补,确保其他提供商流量不受影响,并提供了完整的模型目录和计费显示。

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

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

小夜