在使用 DeepSeek Harness (DSH) 進行開發或使用大模型時,會話的 token 消耗與成本是常需關注的指標。DSH 本身不提供顯式的用量展示,手動統計較爲繁瑣。dsh-usage-cost 插件通過在狀態欄和詳情面板提供實時數據,解決了這一需求。
插件定位¶
這是一個本地化的用量監控工具。由 lhh666-6 維護,開源協議爲 MIT。它不涉及任何數據上傳,所有計算均在本地完成,數據通過 projection 模式持久化。
核心功能¶
插件提供常駐狀態欄膠囊與詳情面板,數據來源分爲流式估算與請求結束後的權威校準。
- 常駐膠囊顯示:註冊到會話標題欄右側,實時顯示模型名、輸入/輸出 token、本次會話成本。流式輸出期間數字會實時滾動,估算值帶
~標記。 - 詳情面板:點擊膠囊展開,顯示輸入/輸出 token、緩存命中/未命中 token、總 token、本次成本、耗時、tokens/s、數據狀態(估算中/已校準/未完成),以及今日/本月累計成本。
- 本地實時估算與權威校準:流式期間使用
gpt-tokenizer進行估算,按每 50 個 chunk 或每 100ms 節流;請求結束後使用 DeepSeek 返回的usage(prompt_tokens/completion_tokens/prompt_cache_hit_tokens/prompt_cache_miss_tokens)進行校準。 - 數據持久化:本次會話數據通過 session projection 落盤;今日/本月/按模型的累計數據寫入
$DSH_HOME/usage-cost/aggregates.json,重啓不丟失。 - 自定義價格表:支持自定義價格表配置,默認價格以人民幣/百萬 token 爲單位。
安裝與啓用¶
使用官方的 dsh plugin 命令安裝:
dsh plugin --profile desktop add dsh-usage-cost
dsh plugin --profile web add dsh-usage-cost
安裝後重啓 DSH(或切換一次 profile),發起對話時狀態欄右側即會出現用量膠囊。
配置價格表¶
默認價格(人民幣 / 百萬 token)如下:
| 模型 | 緩存命中 | 緩存未命中 | 輸出 |
|---|---|---|---|
deepseek-chat |
¥0.5 | ¥2 | ¥8 |
deepseek-reasoner |
¥1 | ¥4 | ¥16 |
如需修改或添加模型,編輯 $DSH_HOME/settings.yaml:
usage-cost:
models:
- id: deepseek-chat
cacheHit: 0.5
cacheMiss: 2
output: 8
- id: deepseek-reasoner
cacheHit: 1
cacheMiss: 4
output: 16
chunkInterval: 50
timeIntervalMs: 100
技術實現¶
插件採用雙面架構,與 dsh-plugin-desktop 同一套插件系統:
- Host 面:註冊
usageCostsession projection,監聽session/event累計數據,並處理本地持久化。 - Client 面:註冊狀態欄膠囊組件,通過
useProjection('usageCost')讀取實時值。
注意事項¶
- 數據隱私:僅本地計算與持久化,不上傳任何內容。
- 數據完整性:流式中斷或報錯會保留估算並標記“未完成”,不會覆蓋歷史準確數據。
- 會話隔離:切換會話時數據由投影按會話隔離,不會串數據。
- 多幣種:暫不做匯率轉換,默認爲人民幣。
- 模型交互:不注入任何模型可見指令、工具或請求字段,只做觀察。