dsh-go-rotator:爲 DeepSeek Harness 提供 OpenCode Go 訂閱 key 輪換

前言

在 DeepSeek Harness(dsh)中接入多個 OpenCode Go 訂閱 key 時,常見需求不止是“能用”:需要在多個 key 之間分攤請求,在某個 key 出現限流、配額超限或憑證問題時自動切換,並能看到成本與配額狀態。手動導出 env、手工判斷 key 是否還能用,在多 key 場景下容易出錯。

dsh-go-rotator 是一個 dsh 插件,用於爲 DeepSeek Harness 提供 OpenCode Go 訂閱 key 的負載均衡、自動輪換與配額管理。

這是什麼

dsh-go-rotator 是一個面向 dsh 的 OpenCode Go 訂閱 key 輪換器。它把多個 key 的管理放進插件目錄下的 data/ 中,provider 通過 apiKeyEnv 每請求解析活躍 key。項目按 MIT 許可證開源,GitHub 地址爲 https://github.com/echo-xianyu/dsh-go-rotator

核心功能

按請求路由

provider 通過 apiKeyEnv 在每個請求時解析活躍 key。多個 key 可以同時存在於狀態中,由插件決定當前請求使用哪一個,從而分攤負載。

自動輪換

當一次 LLM 流以 RATE_LIMITQUOTA_EXCEEDEDAUTHINVALID_CREDENTIAL 錯誤終止時,插件會冷卻當前 key 並切換到其他可用 key。

成本記賬

正常完成的流會按 token 估算成本。滾動窗口用量(5h/周/月)寫入狀態文件,長期賬本(日/月/年)寫入統計文件。

配額看門狗

插件可以定時抓取各 key 在 dashboard 中的真實配額,所需信息包括 workspaceIdauthCookie。當配額越過閾值時,自動禁用該 key。

Web 設置界面

插件提供 dsh web 客戶端設置頁,並提供獨立 HTTP API,默認地址爲 http://localhost:7777,供外部工具讀寫同一狀態。

自包含數據

全部數據落在插件安裝目錄的 data/ 下,配置不需要絕對路徑。

安裝與啓用

安裝前需要 dsh 版本不低於 0.1.0-rc.6。下面以 0.2.0 版本爲例。

先安裝插件。如果你已經拿到本地 tarball,可以執行:

dsh plugin --profile <profile> add ./dsh-go-rotator-0.2.0.tgz

開發期也可以直接引用源碼目錄:

dsh plugin --profile <profile> add file:/path/to/dsh-go-rotator

安裝後,在 $DSH_HOME/settings.yaml 中配置 opencode-go provider。這裏只展示已覈實的 provider 字段:

llm-pi-ai:
  providers:
    opencode-go:
      api: openai-completions
      baseURL: https://opencode.ai/zen/go/v1
      apiKeyEnv: GO_ROTATOR_ACTIVE_KEY

這一步是讓 dsh 通過 opencode-go provider 訪問 OpenCode Go 的 openai-completions 接口,並通過 GO_ROTATOR_ACTIVE_KEY 解析插件給出的活躍 key。

如果希望把默認模型路由到 opencode-go,可以在 $DSH_HOME/cordis.patch.yml 中設置:

provider: opencode-go
model: deepseek-v4-flash

最後運行:

dsh --profile <profile> "hello"

適用場景與注意

適合在 dsh 中使用多個 OpenCode Go 訂閱 key、需要自動切換和觀察配額的人。

使用前建議先查看源碼和 MIT 許可證。插件以當前 dsh 進程權限運行,安裝前應自行評估代碼的安全性與合規性。

插件會把密鑰保存在狀態文件中,不會打印密鑰,也不會寫入日誌。data/ 目錄不隨 npm 包發佈,並已在 .gitignore 中排除。狀態文件寫入採用原子操作(tmp + rename),在多進程併發場景下更安全。首次運行會全新初始化,不包含舊路徑探測或遷移邏輯。

鏈接

  • GitHub: https://github.com/echo-xianyu/dsh-go-rotator
羽毛球分组比赛记分
小程序二维码

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

小夜