dsh-token-usage:統計本機 DSH 會話的歷史 Token 消耗

前言

DeepSeek Harness (DSH) 採用插件化架構,支持通過插件擴展功能。在本地開發或使用過程中,統計全局 Token 消耗是一個常見需求。dsh-token-usage 插件旨在解決這個問題,它通過掃描本地會話日誌,彙總本機全部 DSH 會話的歷史 Token 總消耗,並提供多維度的統計視圖,解決了單一會話統計無法反映全局成本的問題。

核心功能

該插件具備以下核心能力:

  • 跨會話彙總:支持跨會話、跨工作區、跨 DSH home 彙總數據。
  • 正確去重:基於 message.id 進行全局去重,避免因會話副本(如 v0/v3、resume/fork)導致的數據虛高。
  • 多維分組:支持按天、模型、Provider、項目或會話進行分組統計。
  • 日期範圍:支持自定義日期範圍,或選擇全部/今天/近7天/近30天等快捷選項。
  • 接入方額度:支持按接入方(Provider)統計額度,配置啓用開關、額度值及刷新日。
  • 多種輸出:提供 HTTP API 和命令行報表兩種方式獲取數據。

安裝與啓用

插件採用本地安裝方式。推薦安裝到 Desktop profile:

dsh plugin --profile desktop add /Users/d/Personal_Project/dsh-token-usage

安裝後需重啓 DSH Desktop 以使配置生效。

使用方法

1. 設置頁配置

重啓後進入 設置 → Token 統計。在此頁面可以配置總量卡片、統計範圍、分組方式以及接入方額度統計。

2. HTTP API

插件提供了本地迴環 API,可用於二次開發或腳本調用。常用接口如下:

# 獲取彙總數據(按天分組)
GET /dsh-token-usage/summary?range=all&groupBy=day

# 獲取接入方額度信息
GET /dsh-token-usage/quota

支持的 range 參數包括 all、today、7d、30d、month、cycle;groupBy 參數支持 day、model、provider、project、session。

3. 命令行報表

無需 DSH 進程,可直接運行 Node.js 腳本生成報表:

# 生成近30天報表
node scripts/report.mjs --range 30d
# 按指定維度分組
node scripts/report.mjs --group day,model,project

技術細節與注意事項

  • 統計口徑:僅統計 assistant/message 中的 usage 字段,忽略 assistant/chunk 的重複上報。默認不計 compaction/summary。
  • 性能:插件通過緩存機制加速掃描,全量掃描約需 1.4s。
  • 依賴:Host 端僅依賴 Node.js 內置模塊,不引入 @deepseek-ai/*;Client 端僅使用 React。

總的來說,dsh-token-usage 是一個輕量級、專注統計的 DSH 插件,適合需要精確掌握本地 Token 消耗的開發者。插件遵循 MIT 許可證,源碼託管在 GitHub。更多詳情請訪問 插件目錄。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜