前言¶
在使用 DeepSeek Harness (DSH) Web Shell 時,實時掌握 Token 消耗情況與賬戶餘額是常見需求。dsh-token-monitor 插件旨在解決這兩個痛點,通過監聽事件流統計用量,並直接查詢 DeepSeek 官方接口獲取餘額。該插件由 chencmb2077-ui 維護,採用純靜態 Host 方式集成,無構建步驟。
核心功能¶
該插件提供以下能力:
-
Token 用量統計
監聽session/event中的assistant/message事件,對TokenUsage進行持久化存儲與去重,按會話分桶並計算全局合計。插件會利用llm/stream提供在途調用視圖與活躍會話,並通過tokenMeter.measure()估算當前上下文壓力。 -
餘額查詢
通過 Node 子進程(使用 OpenSSL TLS)請求 DeepSeek 官方 API (https://api.deepseek.com/user/balance)。API Key 僅通過環境變量傳遞給子進程,不進入瀏覽器或日誌。支持 60 秒緩存與手動刷新。 -
浮窗展示
在頁面右下角生成固定卡片,每 2.5 秒輪詢用量,每 60 秒輪詢餘額。卡片可摺疊爲“小藥丸”樣式,樣式自動適配明暗主題。
安裝與啓用¶
CLI 安裝(推薦)¶
本插件是一個 DSH Bundle,package.json 中聲明瞭 dsh.bundle.patch。安裝後會自動加入當前 Profile 的 Bundle 圖層。
dsh plugin --profile web add github:chencmb2077-ui/dsh-token-monitor
dsh web
手動安裝¶
將 token-monitor 目錄放置於 Profile 配置目錄下,並在 cordis.patch.yml 中追加配置。
- insert:
- id: token-monitor
name: ./token-monitor/index.js
典型用法¶
插件啓動後會註冊兩個 JSON HTTP 路由:
- 獲取用量數據
GET /api/token-monitor/usage
# 返回 JSON: sessions, total, activeSessionId, lastCall, live, context
- 獲取賬戶餘額
GET /api/token-monitor/balance
# 參數 ?force=1 強制刷新余額
要求與注意事項¶
- 依賴環境:需要 PATH 上有
pnpm,且本機安裝了node。 - 憑據配置:餘額查詢需要憑據中配置了
DEEPSEEK_API_KEY。 - 提供方限制:若使用非 DeepSeek 提供方(如 pi-ai、OpenRouter 或本地模型),餘額顯示“查詢失敗”,但用量統計不受影響。
- 安全說明:兩個路由無鑑權,但 Web 服務默認綁定
127.0.0.1,僅本機可訪問。API Key 不寫入日誌、不返回給瀏覽器。
總結¶
dsh-token-monitor 爲 DSH 用戶提供了從事件流到餘額查詢的完整監控能力。通過靜態注入與本地子進程查詢,在保證實時性的同時兼顧了安全性。
- GitHub: https://github.com/chencmb2077-ui/dsh-token-monitor
- 目錄頁: https://www.skillhub.cn/plugins/chencmb2077-ui/dsh-token-monitor