dsh-token-stats:爲 DeepSeek Harness 增加 Token 用量統計

前言

DeepSeek Harness(DSH)圍繞插件機制組織擴展能力。對於使用 DSH 進行會話和智能體開發的開發者來說,Token 消耗、模型使用分佈和 DeepSeek 賬戶餘額通常是日常需要關注的數據。

dsh-token-stats 是 huantian1223 維護的一個 DSH 插件,許可證爲 MIT。它解析 DSH 會話日誌 session.jsonl.zstd 中的真實 provider usage,不估算、不抓包,把用量整理爲統計信息、熱力圖、模型/工作區排名、會話角標和餘額信息。

下面介紹這個插件能做什麼、如何啓用,以及日常查看時常用的幾個入口。

這是什麼

dsh-token-stats 的定位是 DeepSeek Harness 的 Token 用量統計插件。它面向本地 DSH 會話日誌,解決“看得到調用,但不方便看用量結構”的問題。

它主要提供幾類信息:

  • 累計、今日、峯值 Token,以及最長聊天時長、當前連續天數、最長連續天數。
  • GitHub 風格 12 個月活動熱力圖,支持每日、每週、累計視圖,也支持 12 個月、3 個月、30 天範圍切換。
  • 輸入、輸出、緩存讀取、緩存寫入、推理的消耗構成。
  • 模型和工作區維度的消耗排名。
  • 會話頭部的當前會話 Token 角標與 DeepSeek 賬戶餘額角標。
  • DeepSeek 賬戶餘額顯示與刷新,以及餘額預警。
  • 獨立統計頁、按日期下鑽會話明細、重複標題會話合併、分頁和 CSV 導出。

數據來源

插件不依賴外部估算,也不抓包。它讀取 DSH 會話日誌 session.jsonl.zstd 中記錄的真實 provider usage,並基於這些數據生成統計結果。

統計結果存儲在:

$DSH_HOME/token-stats/usage.jsonl

其中 $DSH_HOME 是 DSH 數據根目錄,默認是 ~/.dsh,也可以通過 DSH_HOME 環境變量指定。

核心功能

用量統計

頁面會展示累計 Token、今日 Token、峯值 Token,以及最長聊天時長、當前連續天數和最長連續天數。

活動熱力圖

熱力圖採用 GitHub 風格,覆蓋 12 個月窗口。可以切換每日、每週、累計三種視圖,也可以切換 12 個月、3 個月、30 天範圍。

消耗構成與排名

插件會把消耗拆成輸入、輸出、緩存讀取、緩存寫入、推理幾類,並展示模型和工作區兩個維度的消耗排名。

會話角標與餘額

會話頭部會顯示當前會話 Token 角標和 DeepSeek 賬戶餘額角標。餘額可以顯示並刷新;當餘額低於配置閾值時,會觸發紅色餘額預警。

餘額相關請求中,API Key 通過 DSH 憑證服務解析,僅在 host 進程內使用,絕不下發瀏覽器。

獨立統計頁

插件提供獨立統計頁:

http://127.0.0.1:3080/token-stats

這個頁面可以直接訪問,用於查看統計、餘額、明細和導出 CSV。

安裝與啓用

插件通過 DSH 的 web profile 機制啓用。先確認本地 Node 環境滿足包聲明的版本要求:

"engines": {
  "node": ">=22.13"
}

然後按下面步驟啓用:

1、在 web profile 的 package.json 中添加 dsh-token-stats 依賴,並將其加入 dsh.profile.bundles 列表。例如:

{
  "dependencies": {
    "dsh-token-stats": "link:../dsh-token-stats"
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-token-stats"]
    }
  }
}

2、在 profile 目錄執行依賴安裝:

pnpm install

3、重啓 DSH。

經過上面的步驟後,插件會隨 DSH 的 web profile 一起加載。

典型用法

訪問獨立統計頁:

http://127.0.0.1:3080/token-stats

在熱力圖的每日視圖中點擊日期格子,可以查看當日會話明細。重複標題的會話會合並顯示,並支持分頁。

導出 CSV 時,插件會導出當前範圍的按日數據,文件帶 UTF-8 BOM,適合直接交給表格軟件處理。

如果要查看當前生效配置,可以請求:

GET /token-stats/api/config

餘額預警閾值由 balanceWarnThreshold 控制。默認是 ¥5;設置爲 0 時關閉預警。

配置

插件配置放在:

$DSH_HOME/token-stats/config.json

修改或新增配置後,需要重啓 DSH 才能生效。

已覈實的可調參數示例如下:

{
  "balanceWarnThreshold": 5
}

其中 balanceWarnThreshold 控制 DeepSeek 賬戶餘額預警閾值,默認值爲 ¥5,設爲 0 表示關閉預警。

適用場景與注意

適合以下場景:

  • 使用 DSH web profile,需要查看本地 Token 用量。
  • 需要區分輸入、輸出、緩存讀取、緩存寫入和推理消耗。
  • 需要按模型或工作區查看消耗排名。
  • 需要關注 DeepSeek 賬戶餘額並配置低餘額預警。
  • 需要把按日導出成 CSV 做後續分析。

注意:

  • 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與 MIT 許可證。
  • 它依賴 DSH 會話日誌中的真實 provider usage,不是通用抓包統計工具。
  • 配置修改後需要重啓 DSH。
  • 本文給出的啓用方式基於 profile package.json 與 pnpm install;未給出未覈實的單條 dsh plugin add 命令。
  • 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。

鏈接

  • 目錄頁:https://www.skillhub.cn/plugins/huantian1223/dsh-token-stats
  • GitHub:https://github.com/huantian1223/dsh-token-stats
羽毛球分组比赛记分
小程序二维码

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

小夜