前言¶
DSH 通過插件擴展 Web 界面。如果你在 DSH Web 中使用 OpenCode Go 訂閱,dsh-go-balance 會把滾動、每週、每月三個配額窗口的剩餘百分比放到輸入框工具行右側,方便在輸入附近查看額度。
這是什麼¶
dsh-go-balance 是 iamfromchangsha 維護的 DSH Web 插件,許可證爲 MIT。它面向 DSH Web UI,在輸入框工具行右端顯示 OpenCode Go 訂閱餘額膠囊。
核心功能¶
- 在 DSH Web 輸入框工具行右側顯示 OpenCode Go 訂閱餘額膠囊,展示滾動、每週、每月剩餘百分比。
- 使用 API 密鑰輪詢
https://opencode.ai/zen/go/v1/usage,獲取配額剩餘數據。 - 懸停顯示已用百分比、各窗口重置時間、數據更新時間。
- 低餘額警示:任一窗口剩餘低於
30%變黃,低於15%變紅。 - 刷新失敗時保留上次快照並淡化標記;未配置憑據或尚無數據時不渲染。
- API 密鑰運行時經 DSH 憑據服務解析,僅留在 host 進程內;倉庫不含密鑰,且不下發到瀏覽器。
- 包含併發去重、錯誤脫敏、Origin 防護、每地址
120次/分鐘速率限制以及percent範圍校驗。
安裝與啓用¶
先確認你有有效的 OpenCode Go 訂閱,並準備 OPENCODE_ZERO_API_KEY 憑據。
1、安裝插件:
dsh plugin --profile web add dsh-go-balance
2、重啓 DSH:
dsh web
安裝後插件會自動加入 profile 的 bundle 層,無需其他配置。
也可以從 GitHub 倉庫安裝:
dsh plugin --profile web add github:iamfromchangsha/dsh-go-balance
在插件倉庫目錄下執行本地開發目錄安裝:
dsh plugin --profile web add file:./
典型用法¶
配置憑據:在 $DSH_HOME/.credentials.yaml 或進程環境變量中設置 OPENCODE_ZERO_API_KEY。這裏的值是你的 Go 訂閱 API 密鑰。
重啓 DSH 後打開 Web 界面,輸入框工具行右側會出現餘額膠囊。懸停膠囊可查看已用百分比、各窗口重置時間和數據更新時間。
如需覆蓋輪詢間隔,在 $DSH_HOME/profiles/web/cordis.patch.yml 中配置:
- id: go-balance
config:
intervalMs: 120000
intervalMs 用於覆蓋輪詢間隔,單位由鍵名錶示爲毫秒。
開發或校驗插件文件時,可以執行:
node --check lib/index.js && node --check lib/client.js
lib/client.js 隨倉庫提交併隨包發佈,安裝時無需構建。
安全與運行邊界¶
- API 密鑰僅經
Authorization: Bearer發給opencode.ai。 - API 密鑰只存在於 host 進程內存,不落盤、不進日誌、不過
/go-usage。 - DSH webServer 默認只綁定迴環。
/go-usage拒絕非迴環Origin的瀏覽器跨站讀取,並帶每地址120次/分鐘的內存級速率限制。- 插件對
percent做範圍校驗。
適用場景與注意¶
適合在 DSH Web 中使用 OpenCode Go 訂閱、希望快速查看額度剩餘的開發者。使用前注意:
- 需要有效的 OpenCode Go 訂閱,且 DSH host 上配置了
OPENCODE_ZERO_API_KEY憑據。 - 僅支持 Web 界面,因爲渲染的插槽屬於 DSH Web UI。
- 快照是面向用戶的賬戶額度參考,不是計費記錄。
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼、依賴與許可證。
peerDependencies要求:react ^18.2.0@deepseek-ai/cordis ^4.0.1@deepseek-ai/dsh-credentials ^0.1.0-rc.6
鏈接¶
GitHub:
https://github.com/iamfromchangsha/dsh-go-balance