dsh-token-ledger:DeepSeek Harness Token 消耗監控

前言

DeepSeek Harness 的投影緩存主要用於展示,數據可能滯後或覆蓋不全。對於需要精確覈算成本或監控使用量的場景,直接讀取會話日誌是更可靠的選擇。dsh-token-ledger 正是基於這個需求開發,它不依賴投影緩存,而是直接解析本地會話日誌,提供基於本地日期的每日 Token 消耗統計。

是什麼

這是一個由 doremifaso12345 維護的插件,用於監控 DeepSeek Harness 的每日 token 消耗。它提供設置頁卡片、輸入框徽標、聊天命令和模型工具四個入口,幫助用戶直觀地瞭解 Token 使用情況。

核心功能

儀表盤與數據視圖

儀表盤展示四個互不重疊的用量桶,全部基於 Provider 真實上報值:
* 未緩存輸入:未命中前綴緩存的輸入。
* 緩存讀取:命中緩存的輸入。
* 緩存寫入:寫入緩存的輸入。
* 輸出:補全輸出(已含 reasoning,不重複計)。

除此之外,還提供以下指標:
* 合計:四者之和。
* 緩存命中率:計算公式爲 緩存讀取 / (未緩存輸入 + 緩存讀取 + 緩存寫入)。
* 累計 Token 數:全部歷史四桶之和。
* 峯值 Token 數:單日最高值。
* 最長聊天時長:定義爲“連續活動時長”,即相鄰事件間隔不超過 30 分鐘的累積時間,而非首尾時間差。
* 活動熱力圖:GitHub 貢獻圖樣式,展示 52 周 × 7 天的消耗情況。
* 工具排行:按調用次數和成功率排序。

交互入口

  • 設置頁卡片:設置 → Token 賬本。支持選擇 7/14/30/90/180/365 天窗口,支持一鍵導出 CSV(帶 BOM)。
  • 輸入框徽標:顯示今日合計(如 1.23M)與近 7 天累計,每 60 秒刷新,懸停顯示明細。
  • 聊天命令:通過 /tokens 命令快速查看報表。
  • 模型工具:token_usage 工具,允許 Agent 直接查詢用量數據。

安裝

插件無需構建,直接通過命令安裝。請確保使用正確的 Profile 名稱(默認爲 web)。

dsh plugin --profile web add github:doremifaso12345/dsh-token-ledger

安裝後請重啓 dsh web。

典型用法

聊天命令

在聊天框中使用以下命令:
* /tokens:查看近 7 天的日報表與總覽。
* /tokens 30:查看近 30 天的數據。
* /tokens today:只看今日數據。
* /tokens csv [days]:導出 CSV 到 harness home。
* /tokens help:查看幫助。

模型工具

調用 token_usage 工具,傳入 days 和 includeSessions 參數。

環境與依賴

運行環境

  • Node.js:必須滿足 ^22.15.0 || >=23.8.0。此版本範圍包含了 Node 內置 zlib.zstdDecompressSync API,用於解壓多幀 zstd 會話日誌。如果版本過低(如 23.0–23.7),插件會直接報錯,避免顯示錯誤的 0 數據。
  • DeepSeek Harness:目標版本 0.1.5-rc.2。
  • 數據源:<DSH_HOME>/sessions/<workspace>/<session>/session.v3.jsonl.zstd。插件會自動處理多幀 zstd 容器,並復刻官方投影的語義(如重試場景下的摺疊計費)。

配置

在 cordis.patch.yml 中可調整:

- insert:
    - id: dsh-token-ledger
      name: 'dsh-token-ledger'
      config:
        enabled: true       # 總開關
        cacheTtlMs: 5000    # 結果緩存時間(毫秒)
        root: null          # 顯式指定 harness home

注意事項

  • 零第三方依賴:插件僅使用 Node 內置模塊,不依賴 @deepseek-ai/* 包,這意味着宿主版本升級時,只要不破壞契約依賴,插件仍能正常工作。
  • 數據完整性:如果 sessions 目錄不存在或日誌解壓失敗,儀表盤會顯示空數據,不會靜默報錯。
  • 契約依賴:安裝前請確保宿主已掛載 commands、tools、webServer 等服務,否則部分入口將不可用。

總結

dsh-token-ledger 提供了一套完整的 Token 消耗監控方案,從數據源(會話日誌)到展示形式(儀表盤、熱力圖、導出)都經過了針對性設計。它解決了投影緩存可能缺失或不準確的問題,適合需要精細化管理和成本覈算的開發者使用。

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

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

小夜