前言¶
在 DSH 的插件式擴展方式裏,一些界面信息可以通過獨立插件接入 dsh web。下面介紹 02Muller25/dsh-api-balance,它解決的問題是把 DeepSeek API 賬戶餘額放進 dsh web 的會話界面中查看,不需要每次都離開當前工作區去查餘額。
這是什麼¶
dsh-api-balance 是一個即時顯示 DeepSeek API 賬戶餘額的 DeepSeek Harness(dsh web)插件,由 02Muller25 維護,MIT 許可證。
它會在會話輸入框下方的讀數帶 conversation.composer.dock 顯示餘額、狀態與更新時間。
核心功能¶
插件提供的已覈實能力包括:
- 即時顯示 DeepSeek API 賬戶餘額
- 在
conversation.composer.dock顯示餘額、狀態與更新時間 - 每 30 秒自動刷新,掛載時立即查詢一次
- 刷新模式可選:手動 / 每 10 秒 / 每 30 秒 / 每 1 分鐘 / 每 5 分鐘 / 自定義間隔(5–3600 秒)
- 手動模式下點擊「刷新」按鈕即時刷新
- 刷新失敗時保留上次數據並顯示原因,下一次自動輪詢恢復
- 餘額不可用時顯示紅色「不可用」
- API 密鑰通過
dsh credentials服務按需解析DEEPSEEK_API_KEY,不出宿主進程
安裝¶
插件要求 Node.js:
>=20
在目標 dsh web 部署上,可以使用倉庫給出的安裝命令:
dsh plugin --profile web add github:02Muller25/dsh-api-balance
這條命令明確指定了 --profile web。已覈實資料沒有給出其他 profile 的通用安裝命令。
手動放置¶
如果不通過 GitHub 依賴安裝,可以手動放置包:
- 將完整包放入 profile 的
node_modules:
$DSH_HOME/profiles/node_modules/api-balance/
完整目錄應包含 package.json、cordis.patch.yml 與 lib/。
- 在 profile 的
cordis.patch.yml中追加insert塊:
- insert:
- id: api-balance
name: 'api-balance'
- 重啓 dsh web 服務。
注意:若對 profile 執行 pnpm install,手動放入 node_modules 的包可能被清理。
啓用、禁用與卸載¶
- 啓用:通過補丁 + 重啓完成
- 禁用:在補丁條目加
disabled: true並重啓 - 卸載:刪除補丁條目和
profiles/node_modules/api-balance/後重啓 - 設置 → 插件市場列表只讀,啓停通過補丁 + 重啓完成
典型用法¶
插件掛載後會先查詢一次餘額,然後按當前刷新模式工作。
可選擇的刷新模式包括:
手動
每 10 秒
每 30 秒
每 1 分鐘
每 5 分鐘
自定義間隔:5–3600 秒
選擇「自定義…」後,輸入範圍外的值會被校驗。刷新偏好保存在瀏覽器 localStorage 鍵:
dsh.api-balance.refresh
手動模式下,點擊「刷新」按鈕即可即時刷新。
刷新失敗時,插件會保留上次數據並顯示原因,下一次自動輪詢恢復。餘額不可用時顯示紅色「不可用」。
依賴與運行位置¶
插件依賴 dsh 宿主服務:
webServer
credentials
shell
sandboxPolicy
客戶端側依賴:
react
slots
餘額請求以 danger-full-access 策略運行。它是隻讀網絡請求,並繞過平臺沙箱 runner。
憑證讀取位置:
credentials.resolve('DEEPSEEK_API_KEY')
餘額接口由 lib/index.js 中的 BALANCE_URL 定義。
適用場景與注意¶
適合需要在 dsh web 會話界面中查看 DeepSeek API 餘額、狀態與更新時間的用戶。
安裝前應檢查源碼與 MIT 許可證。該插件的餘額請求通過 dsh 宿主側服務執行,並以 danger-full-access 策略運行,會繞過平臺沙箱 runner;使用前應確認當前環境對這類請求是允許的。
目錄頁與 GitHub¶
- 目錄頁:https://www.skillhub.cn/plugins/02Muller25/dsh-api-balance
- GitHub:https://github.com/02Muller25/dsh-api-balance