DeepSeek Harness 使用統計插件

前言

DeepSeek Harness(DSH)在本地運行時,會持久化會話日誌。使用一段時間後,如果想了解總體用量情況,目前沒有統一的查看入口。手動翻閱日誌文件並不直觀,也無法快速獲取累計 Token、模型分佈、連續使用天數等指標。

下面介紹的 dsh-usage-stats 插件,就是在 DSH 設置裏增加一個「使用統計」頁面,掃描本機全部會話日誌,彙總累計、峯值、連續天數、聊天時長、每日趨勢和模型用量。

是什麼

dsh-usage-stats 是一個爲 DeepSeek Harness 提供全會話 Token 用量統計的插件。由維護者 XEsx630 開發,目前託管在 GitHub 上。它不依賴後端服務,直接在 DSH 進程內通過重放持久化日誌來計算統計數據,不修改原始日誌文件。

插件在 DSH 設置側欄新增一個「使用統計」頁面,展示累計 Token、峯值 Token、最長聊天時長、當前連續天數、最長連續天數五張卡片,以及 Token 活動熱力圖、每日 Token 趨勢圖和模型用量環圖。

核心功能

統計口徑

  • Token 計算:輸入 + 緩存讀取 + 緩存寫入 + 輸出,與 DSH 自帶的 tokenUsage 投影一致。
  • 會話統計:包含子會話,跨工作區彙總;被 fork 的子會話會物理複製父會話日誌,統計時用 inheritedEventCount 去掉父會話前綴,避免重複計費。
  • 模型識別:優先取每條 assistant/message 的 message.source.model;沒有該字段的舊日誌回退到最近的 request/header.config.model。
  • 聊天時長:同一會話內相鄰事件間隔不超過 1 小時才累計,長時間掛起不會把「聊了幾天」算成一次聊天。
  • 連續天數:按本地日期統計有 Token 用量的連續天數。

頁面內容

  • 五張卡片:累計 Token、峯值 Token、最長聊天時長、當前連續天數、最長連續天數。
  • Token 活動熱力圖:近 12 個月,支持每日 / 每週 / 累計三種聚合;懸停格子顯示日期、Token 數和輪消息數。
  • 每日 Token 趨勢圖:按模型分線(前 5 個模型 + 其他),可切換近 7 日 / 近 30 日 / 全部;懸停顯示當天總量、各模型明細和十字線。
  • 模型用量環圖:當前時間範圍內的模型佔比與 Token 數。

技術實現

數據來自 sessionQuery 對持久化日誌的重放,不會改寫日誌。首次打開會在後臺掃描全部會話(幾百個會話通常十幾秒到半分鐘,視日誌量而定),隨後緩存 5 分鐘,頁面上的「刷新」會強制重算。

插件採用 Host + Client 分離結構:
- index.js:Host 半,負責重放會話、按日期/模型摺疊、提供 /dsh-usage/api/stats 接口。
- client.js:瀏覽器半,註冊 settings.section,繪製卡片、熱力圖、趨勢圖和環圖。
- cordis.patch.yml:把 Host 插件插入 profile。
- test/fold.test.js:摺疊、模型歸屬、fork 前綴的自檢。

API 接口

GET /dsh-usage/api/stats(同源、僅本機 Host)返回 JSON:

{
  "generatedAt": 1792416000000,
  "sessions": 76,
  "failed": 0,
  "longestChatMs": 63000000,
  "totals": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0, "total": 0 },
  "days": [{ "date": "2026-10-19", "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0, "turns": 0, "total": 0 }],
  "models": [{ "model": "deepseek-v4.1-flash", "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0, "total": 0 }],
  "modelDays": [{ "date": "2026-10-19", "models": [{ "model": "deepseek-v4.1-flash", "total": 0 }] }]
}

?refresh=1 跳過 5 分鐘緩存。

安裝與啓用

從 GitHub 安裝:

dsh plugin --profile desktop add github:XEsx630/dsh-usage-stats

本地開發時,也可以在「插件 / Plugins」頁面選擇「Add plugin」,填入本目錄的絕對路徑並啓用 dsh-usage-stats。兩種方式都依賴 profile 裏聲明的 bundle;HMR 會熱加載,如果設置側欄沒有出現「使用統計」,刷新頁面(Ctrl+R)或重啓 DSH。

卸載

在插件頁面卸載,或從 profile 的 package.json 中刪除 dsh-usage-stats 依賴與 bundle 條目,再刪掉 node_modules/dsh-usage-stats。

適用場景與注意

適合需要監控 DeepSeek Harness 本地使用情況、統計 Token 用量、分析模型分佈和連續使用習慣的用戶。插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。

小結

dsh-usage-stats 通過在 DSH 設置中新增一個使用統計頁面,將原本分散的會話日誌轉化爲直觀的統計圖表,幫助用戶快速瞭解總體用量和模型分佈。如果你在本地頻繁使用 DSH,這個插件可以提供一份清晰的使用報告。

插件目錄頁
GitHub 倉庫

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

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

小夜