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 所需的網絡層協議元素,解決了模型不可用的問題。它不提供全局修補,確保其他提供商流量不受影響,並提供了完整的模型目錄和計費顯示。

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

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

小夜