dsh-usage:DeepSeek Harness Web GUI 的持久化餘額與用量面板

前言

用 DeepSeek Harness(DSH)跑 dsh web 時,餘額和 token 用量通常要切到別的頁面或終端去查。多 provider、多通道(DSH 與 Claude Code)並行時,更難一眼看清「今天花了多少」「哪條通道佔大頭」。

dsh-usage 是社區維護的客戶端插件,在 Web GUI 左下角掛一個持久化 dock,並提供一個可定製的餘額 / 用量面板。數據在本地聚合,憑證由 Harness 服務端解析,不進入瀏覽器響應。

這是什麼

dsh-usage(GitHub:Aisland-SJL/dsh-usage,SkillHub 目錄:Aisland-SJL/dsh-usage)由 Aisland-SJL 維護,分類爲客戶端插件,MIT 許可。當前版本 0.2.0,GitHub 約 20 stars。

它面向已啓用 web profile 的 DSH 用戶,解決三件事:隨時可見的餘額與用量摘要、可拖拽排序的詳情面板、以及 DSH 通道與 Claude Code 通道的用量對比。

核心功能

持久化 dock

關鍵數字常駐界面左下角。餘額充足時顯示爲綠色,餘額耗盡時變紅;今日 / 本月 token、緩存命中率以緊湊行展示。角落有設置齒輪與一鍵刷新。側邊欄摺疊時,dock 收成一個小型餘額膠囊。

詳情面板(七個組件)

兩列卡片佈局,每個組件可展開詳情、摺疊、隱藏、固定(pin),並支持拖拽排序:

組件 作用
Balance 左側大數字,右側展示可用 / 充值 / 贈送餘額;可切換 provider
Today 今日 token 總量,含 input / output / cache-read 拆分
This month 本月 token 總量,拆分同上
Cache hit 今日與全時段緩存命中率
Channel share DSH 通道與 Claude Code 通道佔比條
Usage log 近 14 天按日列表,點擊可下鑽到各模型明細
Activity heatmap 28 天 × 6 個四小時時段的點陣熱力圖

外觀與佈局定製

強調色(預設 + 取色器)、背景色、面板透明度可即時調整。組件的 pin / collapse / hide / drag-reorder 狀態寫入 localStorage,刷新後保留。

雙通道用量對比

DSH 側 token 來自 Harness 內置統計;Claude Code 側通過增量解析 ~/.claude/projects 下的 JSONL 日誌聚合,只保留數字,不讀取消息正文。

本地優先與安全邊界

插件暴露三個僅 loopback 可訪問的 GET 端點。憑證從 ~/.dsh/.credentials.yaml 經 Harness credentials seam 在服務端解析,插件不讀取、不緩存、不回顯密鑰。上游餘額查詢強制 HTTPS,DNS 預解析並拒絕私網 / 環回地址,連接綁定到已校驗 IP(防 DNS rebinding),響應上限 1 MiB,超時 15 秒。用量緩存寫在 ~/.dsh/storages/,僅存聚合數字與 fold 遊標。

支持的餘額 provider

Provider 上游端點 默認憑證引用
DeepSeek GET {origin}/user/balance DEEPSEEK_API_KEY
OpenRouter GET {origin}/api/v1/credits OPENROUTER_MANAGEMENT_KEY
Moonshot / Kimi GET {origin}/v1/users/me/balance pi-ai provider 的 apiKeyEnv(自動發現)
Z.ai / GLM GET {origin}/api/paas/v4/balance ZAI_API_KEY

沒有公開餘額接口的 provider 會顯示明確狀態,不會猜測數值。界面支持中英文。

安裝與啓用

前置條件:@deepseek-ai/dsh >= 0.1.0-rc.6,且使用 web profile。

下面命令來自插件 README 與 SkillHub 目錄頁:

dsh plugin --profile web add "github:Aisland-SJL/dsh-usage"

安裝後重啓 dsh web,在瀏覽器執行硬刷新,左下角應出現 dock。更新與卸載:

dsh plugin --profile web update dsh-usage
dsh plugin --profile web remove dsh-usage

典型用法

配置憑證

餘額查詢讀取 ~/.dsh/.credentials.yaml 中的引用,按實際使用的 provider 填寫:

DEEPSEEK_API_KEY: sk-your-key-here            # 官方 DeepSeek 線路
OPENROUTER_MANAGEMENT_KEY: sk-or-v1-...       # OpenRouter 賬戶(Management Key,非推理 key)
ZAI_API_KEY: your-zai-key                     # Z.ai 開放平臺

Moonshot / Kimi 若在 llm-pi-ai 中已配置,會自動發現對應 apiKeyEnv

面板操作

  1. 點擊 dock 角落齒輪打開詳情面板。
  2. 在 Balance 組件切換 provider,查看分項餘額。
  3. 點擊 ↻ 或等待後臺刷新(啓動時刷新一次,之後每 5 分鐘):餘額、DSH token、Claude Code 聚合同步更新。
  4. 在 Usage log 點擊某一天,下鑽到 per-model 明細。
  5. 在定製器中調整強調色、背景、透明度,拖拽組件順序並 pin 常用項。

HTTP API(僅供本機調試)

方法 路徑 響應內容
GET /api/usage/providers provider 列表、餘額 scheme、狀態摘要
GET /api/usage/balance?provider=<id> 統一餘額快照;refresh=1 強制上游查詢
GET /api/usage/usage 按日 / 按模型 token 聚合、緩存命中率、24 小時桶(days[].hours)、Claude Code 通道(claude

GET 請求返回 405,非 loopback 調用返回 403。響應均爲 JSON,Cache-Control: no-cache。請勿通過反向代理把這些端點暴露到局域網或公網。

適用場景與注意

適合人羣:

  • 長期開着 dsh web,需要隨時看餘額和今日 / 本月用量;
  • 同時使用 DSH 與 Claude Code,想對比兩條通道的 token 佔比;
  • 在意隱私,希望用量在本地聚合、密鑰不進入瀏覽器。

安裝前注意:

  • 插件以當前 dsh 進程權限運行,安裝前應自行檢查源碼與 MIT 許可證。
  • Claude Code 聚合依賴本機 ~/.claude/projects 日誌;無日誌時對應通道顯示爲空或零,屬預期行爲。
  • OpenRouter 餘額需 Management Key,普通推理 key 無法查詢 credits。
  • SkillHub 爲社區目錄站點,與 DeepSeek / 幻方無官方從屬關係;插件同樣屬於社區生態,遵循 DSH「一切皆插件」的擴展方式。

結尾

dsh-usage 把餘額、token 用量、緩存命中、活動熱力圖和雙通道對比收進 Web GUI 左下角,配置項與佈局可本地持久化,憑證與上游查詢留在服務端邊界內。若你已在用 DSH web profile,可按上文命令安裝,重啓後硬刷新即可驗證。

  • SkillHub 目錄:https://www.skillhub.cn/plugins/Aisland-SJL/dsh-usage
  • GitHub 倉庫:https://github.com/Aisland-SJL/dsh-usage
羽毛球分组比赛记分
小程序二维码

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

小夜