DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。在多會話或批量使用的場景下,追蹤全機器的 Token 消耗往往需要手動彙總多個目錄的日誌。zoyluoblue/deepseek-harness-token 插件通過摺疊所有 dsh 家目錄的會話日誌,提供了一個集中的 Token 視圖。
這是一個 DeepSeek Harness (DSH) 插件,用於報告全機器的 Token 使用統計。它會摺疊每個 dsh 家目錄(~/.dsh 和 ~/.dsh_desktop/<version>)的會話日誌。在設置頁面中顯示總數、GitHub 風格的貢獻熱力圖、連勝記錄、最高峯時段以及按模型的細分(輸入/緩存讀取/緩存寫入/輸出)。它註冊零個面向模型的工具,不追加會話事件,因此掛載它不會增加對話成本。
安裝與啓用¶
安裝前請確保系統已安裝 Node.js ^22.19 || >=24 以及 pnpm(dsh plugin 是一個薄 pnpm 前端)。
dsh plugin --profile web add @zoytown/dsh-token
安裝完成後,在 DSH 中打開 設置,進入 Token 頁面即可查看統計。
如果當前環境沒有全局 dsh 命令,也可以通過以下方式安裝:
npx -y @deepseek-ai/dsh plugin --profile web add @zoytown/dsh-token
# 或者
pnpm dsh plugin --profile web add @zoytown/dsh-token
配置¶
插件的配置項位於 profile 的 cordis.patch.yml 文件中,鍵名爲 dsh-token:
| Key | Default | Meaning |
|---|---|---|
extraSessionRoots |
[] |
額外的 dsh 家目錄,用於掃描。默認已覆蓋 ~/.dsh 和 ~/.dsh_desktop/<version>,若通過 $DSH_HOME 訪問的家目錄未生效,需在此列出。 |
includeCompaction |
true |
是否統計生成壓縮摘要所消耗的 Token(dsh 自身的 tokenUsage 投影無法看到這部分)。設爲 false 可使其與投影數據 1:1 對齊。 |
refreshIntervalMs |
30000 |
重新掃描新增會話日誌的頻率(毫秒)。 |
indexChunkYieldMs |
16 |
掃描過程中協作讓步的間隔(毫秒)。 |
功能與限制¶
數據來源與訪問方式¶
該插件讀取本地文件,爲只讀模式,不會寫入會話,也不接觸網絡服務。它僅響應循環調用(loopback callers)。
支持的 Shell 與數據路徑¶
插件僅支持 dsh web。Electron 桌面 Shell 因其對原生模塊解析的限制,無法加載該插件,因此不支持在桌面 Shell 的 DSH_HOME 中安裝。但桌面 Shell 記錄在 ~/.dsh_desktop/<version>/ 下的會話日誌,依然會被 Web Shell 讀取。
不包含的功能¶
- 成本估算:插件不存儲價格表,也不提供貨幣估算。賬戶餘額屬於
@zoytown/dsh-billing的範疇。 - 模型工具:插件不註冊任何面向模型的工具。
統計定義¶
頁面底部的頁腳會披露計費覆蓋率、重試步驟、仍在寫入的會話以及被跳過的日誌。
- Total tokens:包含緩存讀取,這是四個互斥的提供者桶的總和。
- Sessions:排除子代理會話,但統計其 Token 數。
- Messages:指非空的助手消息,而非日誌記錄(流式響應會產生大量 delta 事件,記錄數會偏差 2-3 個數量級)。
- 每日/每小時:使用本地日曆(
IntlAPI),連勝基於中午錨點計算,避免夏令時切換影響。 - 重試步驟:Provider 請求在步驟內重試時,日誌僅保留最終使用報告,因此重試步驟會低估消耗。