dsh-pet-opencode-go-balance:把 OpenCode Go 三窗口用量接進桌寵餘額氣泡

前言

在 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 歸納了兩處依賴方源碼裏的錯位:

  1. provider id 對不上:dsh-pet 按 agentDefaultModel.currentSelection().provider 查內置表,表裏只有 opencode-go;而 dsh-opencode-go 註冊的 id 是 dsh-opencode-go,查表必然失敗。
  2. 憑據 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

典型用法

  1. 確保已安裝並啓用 dsh-pet、dsh-opencode-go(建議 ≥ 0.1.24,以便走 opencodeGoUsage)。
  2. 安裝本插件並重啓 DSH。
  3. 在桌寵上右鍵 「查看餘額」,或使用 /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
羽毛球分组比赛记分
小程序二维码

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

小夜