前言¶
在 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 安裝不要同時使用。
典型用法¶
- 點擊左側邊欄 會話統計。
- 頂部切換時間範圍與貨幣(人民幣 / 美元)。
- 在每日消耗柱狀圖上懸停,查看某天的四類 Token 拆分。
- 在會話排行中切換 按 Token / 按耗時 / 按金額,點擊行進入會話。
- 觀察對話性能與 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 / 幻方無官方從屬關係。