前言¶
用 DeepSeek Harness(DSH)做智能體開發或日常對話時,餘額和 token 花費往往要切到「設置 → 賬號與餘額」或另開頁面查。側欄裏沒有一眼能看到的數字,很難在長時間會話裏判斷「今天已經花了多少、還剩多少」。
下面介紹社區插件 @lithane/dsh-account-balance(維護者 Lithane,分類:客戶端)。它在 DSH 左下角側欄底部注入一張卡片,常駐顯示賬戶餘額與今日花費;點開可展開多層級成本明細,並附帶峯谷時段提示與充值入口。項目基於上游 LL-cmyk-so/dsh-balance-widget 的 0.6.3 修改,自 0.1.0 起獨立演進,當前 npm 包版本爲 0.1.3(MIT)。
這是什麼¶
dsh-account-balance 是 DSH 的客戶端插件:宿主半(Node)提供 HTTP 路由與會話日誌解析,瀏覽器半(React)通過槽位 sidebar.footer.action 把 UI 掛在側欄底部(設置區域上方)。
餘額優先讀取 DSH 內置賬號服務 deepseekAccount,與官方「設置 → 賬號與餘額」同源,不需要單獨配置 API Key;未登錄或舊版宿主時,會回退到官方 GET /user/balance,並使用憑據服務裏已存的 DEEPSEEK_API_KEY。
成本數字來自本地對 ~/.dsh/sessions/ 下會話日誌的估算,不是官方賬單;README 說明部分輔助調用(如 web_search)無 usage 字段時會按標定常數估算,誤差約 ±30%。
核心功能¶
卡片與刷新¶
- 側欄底部常駐:賬戶餘額、今日花費。
- 每 60 秒自動刷新;點擊卡片打開彈層時會立即強刷。
- 餘額低於配置閾值時變色:
lowThreshold(默認 5)變黃,criticalThreshold(默認 1)變紅。
成本明細(五層級)¶
展開後可查看:
- 最近一次提問的花費
- 今日 · 本會話
- 今日 · 本工作區
- 今日 · 所有工作區
(README 將上述與「賬戶餘額」一併歸納爲成本估算能力。)
峯谷與定價¶
- 峯谷狀態:按北京時間工作日 09:00–12:00、14:00–18:00 判峯,並含中國法定節假日表。
- 官方價格:啓動時及每 12 小時抓取官方定價頁;失敗時使用內置價表。
模型工具¶
註冊工具 account_balance,可在對話裏直接問模型「餘額多少 / 今天花了多少」。
注意:0.1.1 及更早版本工具名仍爲 deepseek_billing,與上游重名會導致 DSH 報 Duplicate tool declaration name;0.1.2 起已改爲 account_balance。不建議與上游 dsh-balance-widget 同時啓用(雖 0.1.2+ 已改名,但兩張外觀相近的卡片會疊在同一槽位)。
安裝與啓用¶
DSH 生態採用「一切皆插件」思路;插件目錄頁在 SkillHub 等社區站點,與 DeepSeek / 幻方無官方從屬關係。安裝前建議自行查看 GitHub 倉庫 源碼與 LICENSE。插件在 當前 DSH 進程權限 下運行,會讀取本地會話目錄與賬號/憑據服務。
桌面端(DSH Desktop)¶
設置 → 插件 → 添加插件,填寫包名或倉庫地址,然後 重啓應用並硬刷新。
網頁端¶
# 網頁端
dsh plugin --profile web add @lithane/dsh-account-balance
# 或直接裝倉庫
dsh plugin --profile web add github:Lithane/dsh-account-balance
# 或本地開發目錄(改動即生效,最適合開發)
dsh plugin --profile web add link:/絕對路徑/dsh-account-balance
peer 兼容:package.json 要求 @deepseek-ai/dsh 範圍爲 >=0.1.2-rc.1 <0.3.0。DSH 啓動時會比對 peer 範圍;不匹配且未豁免的 bundle 會被靜默跳過(只記入 skippedBundles),表現爲插件「憑空消失」且無報錯。
運行環境:會話日誌解壓依賴 Node 內置 zstd,需 Node ≥ 22.15(或 ≥ 24.0.0)。
配置¶
在 profile 的 cordis.patch.yml 中寫入插件塊(桌面端 profile 目錄示例:~/.dsh/profiles/desktop/):
- id: account-balance
name: '@lithane/dsh-account-balance'
config:
balanceBaseURL: https://api.deepseek.com # 回退路徑的餘額接口
balanceApiKeyEnv: DEEPSEEK_API_KEY # 憑據服務裏的 ref
requestTimeoutMs: 5000
modelId: deepseek-v4-flash # 計價模型
lowThreshold: 5 # 餘額低於此值變黃
criticalThreshold: 1 # 餘額低於此值變紅
更多配置項與定價說明見倉庫內 docs/upstream/README.md。
典型用法¶
- 安裝並重啓 DSH(宿主半
lib/index.js僅在啓動時加載);網頁端改客戶端半後通常 硬刷新 即可。 - 在側欄底部查看餘額與今日花費;需要明細時點擊卡片展開彈層。
- 在對話中詢問餘額或今日花費,由
account_balance工具回答。 - 開發調試時,可用當前 GUI 地址自測宿主 HTTP 接口(端口隨啓動變化):
(Invoke-WebRequest 'http://127.0.0.1:<port>/api/account-balance/balance' -UseBasicParsing).Content
(Invoke-WebRequest 'http://127.0.0.1:<port>/api/account-balance/active-cost' -UseBasicParsing).Content
(Invoke-WebRequest 'http://127.0.0.1:<port>/api/account-balance/today-cost' -UseBasicParsing).Content
若 active-cost 返回 no session files found,多爲會話路徑解析問題(Windows 上需注意 HOME 與 DSH_HOME 回退邏輯,見 README「路徑解析」表)。
本地改代碼無構建步驟:npm run verify 僅做語法檢查(node --check lib/index.js && node --check lib/client.js)。
適用場景與注意¶
適合:長期在 DSH 裏跑會話、希望側欄一眼看到餘額與今日花費,並需要按會話/工作區粗算 token 成本的開發者或重度用戶。
位置:卡片固定在 sidebar.footer.action,README 寫明無法通過配置改槽位;macOS 桌面端收起整個左欄時卡片會隨側欄隱藏(DSH 在 data-platform='darwin' 下不留圖標軌),不是插件單獨的行爲。
與上游關係:本倉庫與 dsh-balance-widget 路由、工具名、UI 標識已區分,理論上可共存,但會注入兩張相似卡片,一般不推薦同時開。
許可:MIT,繼承上游並在 LICENSE 中保留上游版權行。
結尾¶
@lithane/dsh-account-balance 把官方賬號餘額視圖和本地會話成本估算收到側欄底部,減少切頁查賬;配合峯谷提示與 account_balance 工具,適合把「還剩多少錢、今天花了多少」留在開發界面裏。