前言¶
在 DeepSeek Harness(DSH)裏用桌寵插件 dsh-pet 時,若當前智能體走的是 OpenCode Go(dsh-opencode-go),餘額氣泡往往只會提示「當前服務商暫不支持餘額查詢」。這不是你在設置裏漏開了開關,而是 dsh-pet 內置餘額表與 OpenCode Go 插件在 provider id、憑據 ref 上各寫死了一套舊口徑,查表對不上就會落空。
dsh-pet-opencode-go-balance 是社區維護的 DSH 客戶端類插件:不改 dsh-pet 源碼,通過官方第三方餘額註冊口,用與 OpenCode Go 設置卡片一致的數據源,在氣泡裏展示 5h / 周 / 月三窗口用量。
這是什麼¶
插件全名 dsh-pet-opencode-go-balance(npm 包名同),當前版本 0.1.0,MIT 許可。目錄頁由維護者 YumoFinn 收錄;源碼與安裝說明見 GitHub 倉庫(README 中給出的倉庫地址爲 QLY-3315/dsh-pet-opencode-go-balance)。
它做一件事:以 provider id dsh-opencode-go 註冊到 dsh-pet 的第三方餘額表,讓桌寵「查看餘額」與 OpenCode Go 側顯示同一套數字。
它解決什麼問題¶
README 歸納了兩處依賴方源碼裏的錯位:
- provider id 對不上:dsh-pet 按
agentDefaultModel.currentSelection().provider查內置表,表裏只有opencode-go;而 dsh-opencode-go 註冊的 id 是dsh-opencode-go,查表必然失敗。 - 憑據 ref 對不上:dsh-pet 內置的
opencode-go路由寫死OPENCODE_GO_API_KEY;多賬號形態的 key 在DSH_OPENCODE_GO_ACCOUNT_*下。
本插件通過 ctx.provide('petApi7340', { balance: { register } }) 註冊 provider:id 與宿主報告一致;取數優先走 dsh-opencode-go 的 opencodeGoUsage 服務(賬號、baseURL、代理、超時、緩存去重由該服務負責),切換賬號後氣泡自動跟隨。僅在沒有該服務時,才退化爲直連 GET https://opencode.ai/zen/go/v1/usage(20s 超時,2 次線性退避重試)。
氣泡裏顯示什麼¶
- 5h / 周 / 月 三個窗口的用量百分比;滿額度按 Go 套餐常量 12 / 30 / 60 USD 計算(與 dsh-pet 內置口徑一致)。
- 每個窗口的重置倒計時。
- 超額時如實顯示 >100%,不截斷到 100。
- 任意異常一律拋錯,由 dsh-pet 落成
fetch-error氣泡;不僞造 0 餘額。
依賴與兼容性¶
| 依賴 | 版本 | 用途 |
|---|---|---|
| dsh-pet | ≥ 0.3.8 | 提供 petApi7340.balance.register(必需) |
| dsh-opencode-go | ≥ 0.1.24 | 提供 opencodeGoUsage(強烈建議;缺失時走直連兜底) |
Node 引擎要求:≥ 22.12.0(來自 package.json)。
dsh.compatibility.dshReleases 中聲明實測通過的 DSH 版本:
| DSH | 狀態 |
|---|---|
| 0.2.1-rc.3 | compatible |
安裝與啓用¶
本插件目前只發布在 GitHub,尚未發佈到 npm,請用 README 中的倉庫地址安裝。插件在 DSH 進程權限下運行,安裝前建議自行查看倉庫源碼與 MIT 許可證。
在 DSH 設置 → 插件 → 安裝 裏粘貼:
https://github.com/QLY-3315/dsh-pet-opencode-go-balance
或用 CLI(示例爲 desktop profile):
dsh plugin --profile desktop add "https://github.com/QLY-3315/dsh-pet-opencode-go-balance"
# 或者從本地目錄
dsh plugin --profile desktop add "E:\path\to\dsh-pet-opencode-go-balance"
裝完重啓 DSH,在 dsh-pet 設置裏確認該寵物的「餘額功能」已開啓。
卸載:
dsh plugin --profile desktop remove dsh-pet-opencode-go-balance
典型用法¶
- 確保已安裝並啓用 dsh-pet、dsh-opencode-go(建議 ≥ 0.1.24,以便走
opencodeGoUsage)。 - 安裝本插件並重啓 DSH。
- 在桌寵上右鍵 「查看餘額」,或使用
/balance,即可看到與 OpenCode Go 設置卡片一致的三窗口用量。
通常不需要額外配置:默認跟隨 dsh-opencode-go 當前選中的賬號。
配置(直連兜底時)¶
只有在沒有 opencodeGoUsage 服務、走直連兜底時,纔可能用到下面環境變量:
| 環境變量 | 說明 |
|---|---|
DSH_PET_OPENCODE_ACCOUNT_REF |
賬號憑據 ref;換賬號時指定。缺省依次嘗試 OPENCODE_GO_API_KEY |
適用場景與注意¶
- 適合:已在 DSH 使用 dsh-pet + OpenCode Go,希望在桌寵氣泡裏看 5h/周/月用量,而不是內置表裏的「不支持」提示。
- 注意:氣泡數據與 OpenCode Go 設置卡片同源的前提是 dsh-opencode-go 可用;直連兜底時憑據與環境需自行對齊。社區插件目錄(如 SkillHub)與 DeepSeek / 幻方無官方從屬關係,安裝來源以你信任的倉庫爲準。
開發與鏈接¶
倉庫內測試:
node --test test/
(README 說明爲純函數 + 宿主裝配,共 12 項;package.json 中腳本爲 node --test test/*.test.mjs。)
主要代碼:lib/index.js(註冊與取數)、lib/windows.js(用量轉 dsh-pet windows 形態)。
- 社區目錄頁:https://www.skillhub.cn/plugins/YumoFinn/dsh-pet-opencode-go-balance
- GitHub(README / package.json):https://github.com/QLY-3315/dsh-pet-opencode-go-balance