前言¶
在 DeepSeek Harness(DSH)裏跑智能體或對話時,你往往更關心「還剩多少錢、累計花了多少、Token 用了多少」,而不是隻在某個設置頁裏偶爾點開看一眼。DSH 自帶的賬戶服務會請求平臺接口 GET /api/v0/users/get_user_summary,但解析結果只保留 normal_wallets 與 bonus_wallets,total_costs 等字段在投影階段被丟棄,因此官方 UI 裏通常看不到累計消費。若你希望這些信息在 Web 客戶端左側欄底部始終可見,可以安裝社區插件 dsh-client-ui-usage-hud(維護者 bjpd6,分類:客戶端)。它在側欄 foot 區域提供一塊 HUD,並自行向平臺讀取完整摘要,同時從 DSH 本地會話投影緩存彙總 Token 數據。
這是什麼¶
dsh-client-ui-usage-hud 是一個 DSH 客戶端(Web) 插件 bundle:在瀏覽器側欄底部展示賬戶餘額、贈送餘額、累計消費,以及 Token 總用量與最近一次請求的明細。視覺風格參考社區皮膚「深海女僕工坊」(@smalltailqwq/dsh-client-ui-skin-maid-atelier):海軍藍、金色與瓷白、Georgia 襯線、蕾絲邊玻璃面板;會讀取該皮膚髮布的 CSS 變量,未啓用皮膚時使用相同 fallback,亮暗主題均可工作。
插件無第三方運行時依賴,無構建步驟,lib/*.js 爲可直接執行的 JavaScript。當前 package 版本爲 0.1.0,許可證 MIT,要求 Node >=18。
側欄裏顯示什麼,數據從哪來¶
收起時,觸發器會縮成約 34px 的圓形鯨魚按鈕;展開後面板標題爲「深海賬戶 · Token 用量」,並提供刷新與跳轉官方用量鏈接。
| 展示項 | 數據來源 |
|---|---|
| 賬戶餘額 | 平臺 GET /api/v0/users/get_user_summary → normal_wallets(按幣種) |
| 贈送餘額 | 同上 → bonus_wallets |
| 累計消費 | 同上 → total_costs(DSH 賬戶服務未向 UI 投影此字段,本插件在 host 側自行解析) |
| Token 總用量與會話數 | <dshHome>/storages/session_projcache/sessions/*.json 中 record.rows.tokenUsage.totals |
| 最近一次用量(未命中 / 命中 / 輸出等) | 同上緩存 → tokenUsage.last |
金額字段均爲平臺返回的十進制字符串,格式化前保持原樣,避免浮點精度損失;面板註明「金額來自 DeepSeek 平臺賬戶接口」,不做估價或價目表推算。
爲什麼要單獨請求平臺¶
DSH 的 deepseek-account 雖會調用同一摘要接口,但 parse 邏輯只輸出餘額與贈送錢包,total_costs 在此處被丟掉;平臺文檔也說明 host 項目通常只消費 normal_wallets / bonus_wallets。因此本插件的 host 半部在取得平臺憑證後,自行請求 https://platform.deepseek.com 上的 get_user_summary,並解析累計消費。
憑證方面需注意:deepseekAccount.resolveToken(url) 僅在與推理域 https://api.deepseek.com 匹配時有效;平臺域應使用 getPlatformSession(),返回 { origin, token, userId, requestHeaders },並在 issuer 匹配 platformOrigin 時導出已存儲的 grant。本插件採用後者。
數據流概覽:
client.js ──GET /api/dsh/usage-hud──► lib/index.js
├─ deepseekAccount.getPlatformSession()
│ └─ GET platform .../get_user_summary
└─ session_projcache/sessions/*.json
→ Token 彙總與最近一次用量
Token 統計來自持久化的投影緩存,而非僅當前活躍會話,因此冷啓動與已歸檔會話也會計入。路由響應封裝與賬戶服務一致(code / data.biz_code / data.biz_data),並處理 401 與 40003 等失效路徑。Token 僅存在於 host 進程,瀏覽器通過同源 API 獲取聚合結果,路由拒絕跨站調用。
安裝與啓用¶
前提:DSH 已啓用 deepseek-account 平臺插件,且使用官方賬戶登錄。純 API Key 模式下沒有 platform grant,金額相關行會如實說明而非顯示虛構的零。
DSH bundle 通過 package.json 中的 dsh.bundle.patch 聲明;安裝到某個 profile 目錄後,DSH 會將 patch 合入該 profile。
方式 A:插件管理器(依賴 pnpm 與 git)¶
將 <this-repo-url> 替換爲倉庫地址(例如 GitHub 上的 https://github.com/bjpd6/dsh-client-ui-usage-hud):
dsh plugin --profile desktop add <this-repo-url>
新安裝的 bundle 默認啓用。安裝後重啓 DSH 一次。
方式 B:手動安裝(無需 pnpm、無需 git)¶
- 將整個插件目錄複製到 profile 的
node_modules:
<dshHome>/profiles/<profile>/node_modules/dsh-client-ui-usage-hud/
- 在該 profile 的
package.json的dsh.profile.bundles中追加包名:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-client-ui-usage-hud"
]
}
}
}
-
重啓 DSH。加載器會應用本包的
cordis.patch.yml(插入ui-usage-hud行),並向瀏覽器提供lib/client.js。 -
刷新頁面。
若需在不重啓 DSH 的情況下迭代 host 半部(lib/index.js),可在 profile 的 cordis.patch.yml 裏爲 hmr 插件增加本插件目錄爲 config.root;lib/client.js 可由 dsh-client-hmr 輪詢,改完後刷新頁面即可。
典型用法¶
安裝並重啓、刷新 Web 客戶端後,在左側欄底部找到 HUD 觸發器(收起時爲圓形鯨魚按鈕)。點擊展開面板,可查看餘額、贈送餘額、Token 總用量與會話數、最近一次請求的 token 分項,以及累計消費;使用面板上的刷新重新拉取數據,或通過查看官方用量跳轉到 DeepSeek 平臺用量頁面。
本地開發或驗收時,倉庫提供腳本(需 Node >=18):
node tests/client-test.mjs lib/client.js
node tests/host-e2e.mjs ./lib/index.js
前者在最小 React hooks shim 下渲染客戶端組件;後者驅動真實路由並調用平臺(e2e 場景需有效登錄環境)。
適用場景與注意¶
適合:已在 DSH Web 客戶端日常使用、並已登錄 DeepSeek 官方賬戶的開發者或用戶;希望在側欄一眼看到餘額、累計消費與 Token 彙總,且接受 HUD 與「深海女僕工坊」皮膚視覺一致或獨立 fallback 樣式。
不適合或未覆蓋:僅 API Key、無 platform session 時,無法展示真實賬戶金額行(插件會說明而非僞造數據)。
安全與信任:插件以當前 DSH 進程權限運行,host 半部持有平臺 session 並訪問本地 session_projcache。安裝前請自行閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境策略。DeepSeek Harness 生態強調「一切皆插件」;SkillHub 插件目錄 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-client-ui-usage-hud 補上了 DSH 默認 UI 未投影的累計消費,並把 Token 用量與會話統計固定在側欄 foot,數據路徑在 README 中有明確表格與流程說明。若你的 profile 已配置 deepseek-account 且爲官方賬戶登錄,可按上文命令或手動步驟裝入 profile 後重啓並刷新頁面使用。