dsh-go-balance:在 DSH Web 工具行查看 OpenCode Go 訂閱餘額

前言

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

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

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

小夜