前言¶
在 DeepSeek Harness(下稱 DSH)裏跑智能體,接的廠商往往不止一家:官方 API、huoshan、hebox、tokenrhythm 等。持久化會話日誌裏其實一直帶着 Token 記賬和 provider/model 來源,但默認沒有一個視圖能直接回答「這段時間各家各用了多少、緩存命中率多少、按單價折算大概多少錢」。
已有的 dsh-usage-stats 插件按工作區聚合用量,廠商維度是缺的。下面介紹的 dsh-usage-vendor-stats 補的就是這一塊:以廠商爲第一維度做用量統計。
這是什麼¶
dsh-usage-vendor-stats 是 DSH 的社區用量統計插件,由 kirigayakazima 維護,MIT 許可證,當前版本 0.2.0。它按「廠商(訂閱 / 官方 API)× KPI」聚合 API 使用量,提供 GitHub 風格日曆熱力圖、趨勢折線圖與日 / 月 / 小時統計看板。
數據不需要額外採集:插件激活時自動回填全部歷史會話,之後監聽會話事件做增量摺疊,插件卸載 / 重啓後數據不丟。
核心功能¶
廠商維度與 KPI 卡片¶
- 自動發現所有使用過的廠商(如
huoshan、hebox、deepseek-official、tokenrhythm、opencode),可手動標記「訂閱 / 官方 API」類型並設置別名,持久化到$DSH_HOME/storages的 KV 單元 - KPI 卡片:總 Token(輸入 / 緩存命中 / 輸出 / 推理分項)、緩存命中率、模型調用次數、回合數、會話數、廠商數量,附多色 Token 構成比例條
熱力圖、趨勢與看板¶
- 53 周熱力圖:GitHub 綠色風格,顏色深淺按當日模型調用次數;點擊廠商 chip 篩選,懸停查看按廠商 / Token 明細
- 趨勢折線圖:Token / 調用雙軸,默認按日,選「今天」時按小時聚合
- 每日明細:近 30 天逐日 Token / 緩存 / 輸出 / 推理 / 命中率 / 回合
- 每月彙總:全部歷史按月聚合
表格、鑽取與導出¶
- 廠商 KPI 表:按總 Token 排序,含命中率、模型數、類型標籤;點擊行展開該廠商逐模型消耗
- 時間預設:今天 / 7 天 / 14 天 / 30 天 / 90 天 / 全部
- 費用估算:按廠商設置每百萬 token 單價,表格顯示折算後的預估費用列
- CSV 導出:每日 / 每月 / 廠商表格均可導出
健康度與性能卡片¶
平均 TTFT(首字延遲)、生成速度(t/s)、峯值 Context、請求錯誤率、模型 / 工具總耗時,聚合自 DSH 的 sessionStats 投影。
數據口徑¶
- 數據全部來自 DSH 持久化會話日誌:
assistant/message事件攜帶usage(Token 記賬)與message.source.{provider,model}(廠商 / 模型來源) - Token 統計口徑與 DSH 一致:
inputTokens爲未命中輸入,cacheReadTokens爲緩存命中輸入,outputTokens爲輸出,reasoningTokens爲推理,cacheWriteTokens爲緩存寫入 - 緩存命中率 = 命中 /(命中 + 未命中輸入)× 100%
安裝與啓用¶
這是標準的 DSH 社區插件包(聲明 dsh.bundle manifest + web client 半),從 GitHub 直接安裝:
dsh plugin --profile web add "github:kirigayakazima/dsh-usage-vendor-stats"
安裝後刷新頁面即可,無需手動改配置、無需重啓。
本地開發需要手動註冊時,先創建符號鏈接,再改 patch 配置:
1、把插件目錄放在任意位置,在 $DSH_HOME/profiles/node_modules/ 下創建指向它的符號鏈接(Windows 用 junction):
New-Item -ItemType Junction -Path "$env:DSH_HOME\profiles\node_modules\dsh-usage-vendor-stats" -Target "<本目錄絕對路徑>"
2、在 $DSH_HOME/profiles/web/cordis.patch.yml 添加 insert 條目:
- insert:
- id: usage-vendor-stats
name: dsh-usage-vendor-stats
用戶 patch 層會被熱重載,保存後刷新頁面生效。
典型用法¶
1、打開側邊欄底部的「設置」找到「API 用量統計」頁,或點擊側邊欄底部的「用量統計」入口打開全屏面板。
2、熱力圖顏色 = 當日調用次數;點擊廠商 chip 或表格行可篩選 / 鑽取。
3、在「廠商管理」裏給每個廠商設置別名與類型(訂閱 / 官方 API),可選設置每百萬 token 單價用於費用估算。
經過上面的步驟,看板會按所選時間範圍展示廠商 KPI 表、逐日 / 逐月明細,點擊廠商行還能繼續鑽取到逐模型消耗。
接口與架構¶
Host 半(lib/index.js)掃描持久化會話日誌聚合用量,通過 webServer 服務註冊兩條數據路由:
GET /api/usage-vendor-stats:統計快照(廠商 / 模型 / 日 / 月 / 小時 / 彙總)POST /api/usage-vendor-stats/vendor:設置廠商別名、類型與單價
Client 半(lib/client.js)是瀏覽器 bundle,註冊設置頁(settings.section 槽位)、側邊欄底部入口(sidebar.footer.action)與全屏面板(shell.overlay)。
插件無第三方運行時依賴:Host 半僅用 Cordis 服務,Client 半僅用模塊表提供的 React。日常修改 lib/client.js 刷新頁面生效;Host 半改動需重啓 DSH。
適用場景與注意¶
適合同時接多家廠商、想分攤和核對各家用量與成本、關注緩存命中率和響應性能的 DSH 用戶。使用前注意:
- 插件以當前 dsh 進程的權限運行,安裝前建議先閱讀源碼確認行爲,再決定是否啓用;許可證爲 MIT。
- 數據讀自持久化會話日誌,歷史會話在插件激活時自動回填,無需手動導入。
- 預估費用列是按你填寫的每百萬 token 單價折算的估值。
小結¶
一句話回顧:dsh-usage-vendor-stats 把散落在 DSH 會話日誌裏的用量數據,按廠商維度聚合成可篩選、可導出、可估算費用的看板,安裝即用、無需改配置。
目錄頁:https://www.skillhub.cn/plugins/kirigayakazima/dsh-usage-vendor-stats
源碼倉庫:https://github.com/kirigayakazima/dsh-usage-vendor-stats
需要說明的是,skillhub 社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。