DSH Session Stats Viewer:在 Web 側邊欄查看會話 Token 與成本統計

前言

在 DeepSeek Harness(DSH)裏做多輪對話和工具調用時,Token 會分散在各條會話裏。只靠逐條打開會話或翻日誌,很難回答「這段時間一共花了多少 Token」「哪幾個會話最費錢」「緩存有沒有幫上忙」這類問題。社區插件 DSH Session Stats Viewer(npm 包 @bright9025/dsh-session-stats-viewer)在 DSH Web 側邊欄增加「會話統計」頁,把各會話日誌聚合成只讀儀表盤:總覽、每日拆分、排行、對話性能與 DSH 進程運行狀態,不另起服務、不寫回會話數據。

這是什麼

維護者爲 Bright9025。插件分類屬於 客戶端:在瀏覽器側註冊側邊欄入口與統計頁面,Host 側通過 DSH 的 sessionQuery 讀日誌並暴露 POST /api/session-stats.data。當前 npm 版本爲 1.2.1,許可證 MIT。README 標明適用於帶 Web 界面的 DSH Desktop 或 Web GUI profile;使用和安裝不需要 Node.js(Node.js ≥ 20 僅用於本地跑 npm test)。

設計思路是隻讀統計:不寫入、修改、歸檔或刪除任何會話;無運行時 npm 依賴,Host 與 Client 均爲可直接加載的純 JavaScript,無構建步驟。

核心功能

總覽與時間範圍

頂部可切換 近 24 小時 / 7 天 / 14 天 / 30 天 / 所有,展示總 Token、預估成本、會話數、緩存命中率等指標。成本按 Token 單價估算,界面會按已用量自動選用 1M / 10M / 100M / 1B tokens 作爲可讀單位,減少「¥0.00」一類無意義展示。

貨幣與每日消耗

中文界面默認人民幣,其他語言默認美元;可手動切換,本次停留期間保持選擇。cnyPerUsd 等默認值寫在插件附帶的 cordis.patch.yml 中,可在 profile 裏覆蓋(下文配置節)。

「每日消耗」以堆疊柱狀圖區分四類 Token:輸入 / 緩存讀取 / 緩存寫入 / 輸出,懸停可看完整日期與拆分。

會話排行與性能

會話消耗排行支持 按 Token / 按耗時 / 按金額 排序,主數字隨所選指標變化,並顯示所屬工作區與輪次;點擊行可打開對應會話。會話標題取自 DSH 的 title 投影,與側邊欄一致,而非原始日誌或首條消息。

「對話性能」包括平均每輪耗時、平均首字延遲、輸出速度、工具錯誤率(按 tool/result 中帶 error 的記錄統計)。

運行狀態與刷新策略

「DSH 運行狀態」每 5 秒採樣:進程 CPU(單核與整機)、內存 RSS / 堆、事件循環 p99、運行時長、PID、Node 版本。說明:CPU / 內存主要描述 DSH 自身進程;「整機」行爲所有核心的總 CPU。

頁面每 20 秒自動刷新;切換時間範圍會立即重新取數。實現上採用 緩存先行 + 增量刷新:完整摺疊結果寫入 $DSH_HOME/cache/session-stats/fold-v2.json,首屏先顯示上次快照,後臺僅重讀 revision 有變化的會話。

語言

側邊欄入口與頁面文案跟隨 DSH「設置 → 通用設置 → 語言」,內置中文、English、日本語、Español、Français、Deutsch、Русский、Português 八種字典。

安裝與啓用

環境要求:

  • 當前 profile 具備 DSH Web 界面;
  • 無需額外服務或 API Key。

推薦從 npm 安裝(命令須與 README 一致):

dsh plugin --profile <profile> add @bright9025/dsh-session-stats-viewer

包地址:https://www.npmjs.com/package/@bright9025/dsh-session-stats-viewer。也可在 DSH 對話中說明安裝 npm 包 @bright9025/dsh-session-stats-viewer,由智能體代爲安裝。

安裝後刷新 DSH 頁面。左側邊欄「自動化任務」下方應出現 會話統計;在「設置 → 插件」中也能看到該插件。打開頁面後應能看到總 Token、預估成本與近期會話數據。若入口未出現,先刷新頁面,仍無則重啓 DSH。

升級時先卸載舊版再執行上述安裝命令。卸載路徑:設置 → 插件 → 會話統計 → 卸載(只移除插件,不刪會話數據)。

源碼本地 bundle 安裝方式見倉庫 README,適合開發調試;與 npm 安裝不要同時使用。

典型用法

  1. 點擊左側邊欄 會話統計。
  2. 頂部切換時間範圍與貨幣(人民幣 / 美元)。
  3. 在每日消耗柱狀圖上懸停,查看某天的四類 Token 拆分。
  4. 在會話排行中切換 按 Token / 按耗時 / 按金額,點擊行進入會話。
  5. 觀察對話性能與 DSH 運行狀態區塊,結合 20 秒自動刷新觀察變化。

配置成本估算單價

成本爲估算值。默認單價(人民幣 / 百萬 Token)及匯率在 cordis.patch.yml 中定義:

字段 默認值 含義
input 0.5 未命中緩存的輸入
cacheRead 0.05 緩存讀取
cacheWrite 0.5 緩存寫入
output 2 輸出
cnyPerUsd 7.2 人民幣 / 美元換算

修改時需在 profile 的 cordis.patch.yml 中覆蓋 session-stats-page 條目(會替換整份 config,須寫全字段),然後重啓 DSH:

- id: session-stats-page
  config:
    pricing:
      input: 0.5
      cacheRead: 0.05
      cacheWrite: 0.5
      output: 2
      cnyPerUsd: 7.2

適用場景與注意

適用:長期在 DSH Web 裏跑多會話、需要彙總 Token / 緩存命中 / 耗時排行,並順帶查看本機 DSH 進程資源佔用的開發者。

注意:

  • 插件以當前 DSH 進程權限讀取會話日誌;安裝前應查看 GitHub 源碼 與 MIT 許可證,確認符合你的安全與合規要求。
  • 成本數字不等於真實賬單,僅供橫向對比與粗算。
  • 首次無快照時需完整摺疊一次,冷啓動可能較慢;選「所有」時若歷史不足 30 天,窗口會比「近 30 天」短,但總量與全量歷史一致。
  • 工作區名依賴會話 cwd 與已註冊工作區匹配;匹配失敗時排行僅顯示輪次等信息。

DSH 生態強調「一切皆插件」;SkillHub 目錄頁 爲社區收錄,與 DeepSeek / 幻方無官方從屬關係。

鏈接

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

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

小夜