dsh-token-stats:面向 DSH Web 的全局 Token 用量統計插件

前言

在 DSH Web 中使用模型時,調用可能來自不同供應商、不同模型和不同會話。只看單次回答,很難判斷當月用量、緩存命中、費用估算和延遲變化。dsh-token-stats 是面向 DeepSeek Harness / DSH Web 的插件,用於把 llm/stream 調用的真實 usage 記入賬本,並在界面上提供全局統計。

下面介紹它的功能、安裝命令和常用入口。

這是什麼

dsh-token-stats 是一個全局 Token 用量統計插件。資料頁顯示 owner 爲 1148281964,許可證爲 MIT;GitHub 與社區目錄鏈接見文末。由於已抓取資料中 package.json 的 repository 字段爲佔位符,本文不把 owner 字段當作完全確認的維護者歸屬。

它主要用於集中展示 DSH Web 中的 token 用量:記錄真實 usage,聚合供應商、模型、會話、日期維度,估算費用,並給出緩存命中率、成功率、平均耗時、首字延遲等指標。

核心功能

真實 usage 與賬本

  • 從 llm/stream 調用採集真實 usage:輸入、輸出、緩存讀、緩存寫、推理 tokens。
  • 構建跨重啓持久的 JSONL 賬本,啓動/熱重載時從賬本重建。
  • 默認賬本目錄爲 <profile>/data/token-stats/,可用 DSH_TOKEN_STATS_DIR 覆蓋。
  • 統計口徑爲真實 usage;輸入 = 未緩存 + 緩存讀 + 緩存寫。這與 DSH 內置 token-meter 的估算口徑不同。

聚合與指標

  • 按供應商、模型、會話、日期聚合,支持當月和近 31 天趨勢。
  • 統計緩存命中率、成功率、平均耗時、首字延遲(TTFT)。
  • 會話維度的分佈基於最近 500 條保留窗口聚合,總量 totals 爲完整賬本。

費用估算

  • 提供費用估算。
  • 可從 OpenRouter 拉取最新模型價格,並重算曆史費用。
  • 可用 DSH_TOKEN_STATS_PRICES 覆蓋價格 JSON。
  • 費用爲估算值,實際結算以網關/廠商賬單爲準。

界面展示

  • 右下角可拖動 FAB 懸浮球;點擊展開面板,支持「全局 | 當前會話」切換。
  • 點擊面板右上角的全屏入口,可打開居中大屏彈窗。
  • 大屏彈窗展示 KPI、環形圖、趨勢、供應商/模型表格、近期調用明細。
  • 當前會話跟隨基於 DOM 探測 UI 選中會話行並匹配標題;會話列表不可見或標題歧義時,回退到最近活躍會話。

模型工具與 HTTP API

  • 提供模型工具 token_stats,支持可選 sessionId 參數。
  • 提供以下 HTTP 端點:
GET /token-stats/api/query
GET /token-stats/api/sessions
POST /token-stats/api/refresh-prices

所有端點校驗 Origin(僅本機),HEAD 不返回 body。

歷史回掃

  • 提供 backfill-history.mjs 腳本,可冪等補錄插件安裝前調用。
  • 僅補錄成功且帶 usage 的調用;耗時/首字延遲無法回補。
  • 費用按當前價格表重算。
  • 導入前自動備份賬本。

安裝與啓用

插件面向 DSH Web profile。資料給出的 CLI 安裝命令是:

dsh plugin --profile web add dsh-token-stats

資料顯示 peerDependencies 要求 @deepseek-ai/cordis ^4.0.1。該包爲純 JavaScript,無 prepare 構建腳本;資料還說明 github: 安裝無需 allowedBuilds 配置。

安裝前建議檢查源碼與 MIT 許可證。插件會以當前 dsh 進程權限運行,因此只在你信任其代碼的 DSH 實例中啓用。

典型用法

瀏覽器面板

1、在右下角點擊 FAB 展開面板,可拖動位置。

2、在面板中切換「全局 | 當前會話」統計範圍。

3、點擊面板右上角的全屏入口,打開居中大屏彈窗。

4、在大屏彈窗中查看 KPI、環形圖、趨勢、供應商/模型表格和近期調用明細。

設置頁

進入「設置 → Token 統計」,可以打開與 FAB 相同的面板與大屏彈窗。

更新價格

在大屏彈窗中點擊“更新價格”入口,從 OpenRouter 拉取最新模型價格,並重算曆史費用。

模型工具

在對話中調用模型工具 token_stats,用於讓模型直接查詢統計結果。可傳可選參數:

{"sessionId": "..."}

HTTP API

可調用以下端點:

GET /token-stats/api/query
GET /token-stats/api/sessions
POST /token-stats/api/refresh-prices

這些端點校驗 Origin(僅本機),且 HEAD 請求不返回 body。

歷史回掃

插件安裝前的調用可用腳本補錄:

node backfill-history.mjs
node backfill-history.mjs --dry-run
node backfill-history.mjs --force

腳本用於冪等補錄插件安裝前的調用;導入前自動備份賬本。

適用場景與注意

適合以下場景:

  • 需要在 DSH Web 中查看全局 token 用量和趨勢。
  • 需要按供應商、模型、會話、日期比較用量。
  • 需要估算費用、觀察緩存命中率、成功率、平均耗時和 TTFT。
  • 需要讓模型通過 token_stats 查詢統計結果。

注意事項:

  • 費用是估算值,不等於最終賬單;以網關/廠商賬單爲準。
  • 統計口徑是真實 usage,與 DSH 內置 token-meter 的估算口徑不同。
  • 當前會話跟隨依賴 DOM 探測和標題匹配;失敗時回退最近活躍會話。
  • 會話維度分佈基於最近 500 條保留窗口,總量 totals 是完整賬本。
  • 歷史回掃無法補回耗時和首字延遲,且費用按當前價格表重算。
  • DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。

參考

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

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

小夜