前言¶
用 DSH(DeepSeek Harness)接 DeepSeek API 的開發者,大多要回答兩個問題:賬戶裏還剩多少額度,這段時間真實消耗了多少 token。前者要去 DeepSeek 平臺控制檯查,後者要麼翻會話日誌手動算,要麼靠估算——而 DeepSeek 並沒有公開的用量接口(/user/usage 實測返回 404),估算值並不可靠。
dsh-api-balance 把這兩件事做成了 DSH 設置面板裏的一個模塊:餘額與可用狀態直接查官方接口,token 用量從本地會話日誌裏聚合每次調用的真實 usage。整個過程 API Key 只存在於後端,瀏覽器只會拿到餘額數據。
下面介紹它的功能、原理、安裝方式與注意事項。
這是什麼¶
dsh-api-balance 是由 gaozhiwei521 維護的 DSH 插件,版本 0.1.0,MIT 許可證。它做的事情很集中:在 DSH「設置」面板新增「API 餘額」模塊,即時查詢已配置供應商(DeepSeek)的賬戶餘額、可用狀態與真實 Token 用量,支持手動刷新。
核心功能¶
- 「設置 → API 餘額」界面:可用額度大數字 + 可用狀態徽章 + 用量卡片(累計/今日 Tokens、會話數、用量記錄),支持手動刷新
- 用量爲真實數據:消耗數據來自本地會話日誌中每次調用的真實 token usage(輸入/輸出/緩存/推理),不是估算
- API Key 只存在於後端,瀏覽器只會拿到餘額數據
- 賬戶無贈送餘額(0)時自動隱藏贈送餘額項
- 樣式使用全局
--dsw-alias-*主題令牌,與暗色主題一致
工作原理¶
插件分前後端兩層:
| 層 | 實現 |
|---|---|
後端 lib/index.js |
註冊兩條迴環路由:GET /dsh-balance/query 通過 credentials.resolve() 讀取 DEEPSEEK_API_KEY,調用 {baseURL}/user/balance;GET /dsh-balance/usage 聚合本地會話日誌中的真實 token 用量,帶 60s 緩存 |
前端 lib/client.js |
註冊 settings.section 槽位(id 爲 api-balance,label 爲「API 餘額」),渲染餘額、狀態與用量界面 |
baseURL 與 apiKeyEnv 跟隨「設置 → 模型」中 llm-deepseek 配置段的覆蓋。如果你在模型設置裏改過 Key 引用或 baseURL,插件會自動跟隨,不需要另外配置。
安裝與啓用¶
插件已聲明爲 DSH bundle(patch 指向 ./extensions/dsh/cordis.patch.yml,client 平臺爲 web),推薦用 DSH 原生插件指令從 GitHub 安裝到 web profile:
dsh plugin --profile web add github:gaozhiwei521/Deepseek-Harness-Api-monitor
裝完需要重啓 DSH(退出「DSH 對話」再打開),然後在「設置 → API 餘額」即可看到界面。
遷移注意:如果之前用過下面的手動 Copy-Item 安裝方式,請先移除 cordis.patch.yml 中的 api-balance insert 塊,並刪除 ~\.dsh\profiles\node_modules\dsh-api-balance\,避免與 bundle 雙份註冊。
手動安裝與卸載¶
DSH 升級後插件可能丟失,這時可以用舊方式手動安裝:
# 1) 把包放到 profiles\node_modules
Copy-Item 'E:\deepseekwork1\dsh-api-balance\package.json' "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-api-balance\" -Force
Copy-Item 'E:\deepseekwork1\dsh-api-balance\lib' "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-api-balance\lib" -Recurse -Force
# 2) 確認 cordis.patch.yml 末尾有 api-balance insert 塊(升級若覆蓋則重新追加)
# 3) 重啓 DSH(退出「DSH 對話」再打開;或殺掉後端進程由桌面殼看門狗自動拉起)
上面命令把 package.json 和 lib 目錄複製到 DSH 的 profiles 目錄,再手動確認補丁文件後重啓生效。
卸載只需一條命令:
dsh plugin --profile web remove dsh-api-balance
如果是舊手動方式裝的,卸載分三步:1. 刪除 cordis.patch.yml 中 api-balance 的 insert 塊;2. 刪除 ~\.dsh\profiles\node_modules\dsh-api-balance\;3. 重啓 DSH。
測試¶
源碼目錄下帶兩組測試,分別覆蓋後端邏輯與前端模塊結構:
node 'E:\deepseekwork1\dsh-api-balance\test\unit.test.mjs' # 後端邏輯(13 項)
node 'E:\deepseekwork1\dsh-api-balance\test\client-load.test.cjs' # 前端模塊結構
適用場景與注意¶
適合的用戶:在 DSH 裏接 DeepSeek API,想在界面裏直接看餘額與消耗,不想登錄平臺控制檯、也不信任估算值的開發者。
使用前注意:
- 僅支持 DeepSeek 官方賬戶餘額接口,其他供應商的餘額接口暫未接入
- 默認讀取
DEEPSEEK_API_KEY;若在「設置 → 模型」中改過 Key 引用或 baseURL,插件自動跟隨 - 安裝後必須重啓 DSH,才能在「設置 → API 餘額」看到界面
- 插件以當前 dsh 進程權限運行,會讀取本機憑據(如
DEEPSEEK_API_KEY)與本地會話日誌。安裝前建議自行查看源碼與許可證(MIT),確認可靠後再裝
小結¶
dsh-api-balance 解決的問題很具體:不離開 DSH 就能看到 DeepSeek 賬戶餘額與真實 token 消耗,Key 不出後端。如果你在用 DSH 接 DeepSeek,可以裝上試試。
- 目錄頁:https://www.skillhub.cn/plugins/linshufan21/dsh-Api-monitor
- GitHub:https://github.com/gaozhiwei521/Deepseek-Harness-Api-monitor
最後說明:上面的目錄頁是社區維護的獨立站點,與 DeepSeek / 幻方沒有官方從屬關係。