dsh-usage-insights:基於真實會話日誌的 Token 用量、成本估算與 CPU 監控

前言

在 DeepSeek Harness(DSH)裏跑多 workspace、子智能體會話時,Token 消耗分散在各次 assistant/message 事件裏,Web 界面默認不會把「全庫彙總、按日趨勢、預算還剩多少」放在一處。若只靠賬單或手工翻日誌,很難對照當前 profile 裏到底花了多少、哪條 session 最貴、Host 進程是否喫滿 CPU。

下面介紹的 dsh-usage-insights 是社區維護的 Web UI 插件(維護者 yuhaoboris),在左側欄增加 用量統計 入口,用 profile 已持久化的會話日誌做聚合,不造假數據、也不另建賬本。

這是什麼

dsh-usage-insights 歸類爲「模型推理」相關插件。它在 Harness Web 側欄註冊圖標(順序 5,位於 Plugins 與 Schedules 之間),打開後展示完整統計面板:總 Token、會話數(含子 agent 拆分)、估算美元成本、預算剩餘、按日時間線、可搜索的會話表,以及 Host 進程的 CPU / 內存採樣。

數據全部來自 ctx.sessionQuery 重放各 session 日誌裏已提交的、帶 provider usage 的 assistant/message;fork 繼承的事件(inheritedEventCount)會跳過,避免父會話重複計費。開發與驗證目標版本爲 DSH 0.2.1-rc.5;package.json 中插件版本爲 1.0.0,許可證 MIT。

核心功能

KPI 與預算

頂欄 KPI 包括:總 Token、帶 sub-agent 拆分的會話數、估算成本、預算剩餘。預算區展示已花費相對 budgetUsd 的進度、今日花費、近 7 日日均、30 日投影、按當前節奏估算的剩餘天數。預算對比的是全歷史估算成本與配置上限;30 日投影依據最近 7 日日均成本。

時間線

按 7 / 14 / 30 天切換日粒度柱狀圖,軸上帶數值標籤。可堆疊展示 cache-read / input / output Token、僅 output,或按日成本;懸停某日可看明細,當天在軸上有標記。Host 返回的日桶長度由 timelineDays 控制(7–90 天)。

會話列表

表格列出全部 session,支持排序與搜索,每頁 10 條、表頭固定。列包括模型、Token 合計、估算成本、最後活動時間;展開行可看 Token 分項、模型、工作目錄、session ID、父 session。

CPU 與費率

CPU 區塊展示進程 CPU(每核與整機佔比)、系統 CPU、load 1/5/15、內存、uptime、每核條形圖,以及近期採樣的滾動 sparkline;採樣間隔約 2 秒,數據來自 Host 內 node:os 與 process。

Rates 爲可摺疊表格,列出估算成本所用的「每百萬 Token 美元」費率;可在配置裏按模型覆蓋,未列出的模型走 defaultPrice。

成本模型(估算)

成本按 README 公式從 usage 字段折算,單位爲 USD / 1M tokens;reasoning tokens 計入 output,不二次計費。這是按配置費率的估算,不是供應商賬單。

cost = input × inputRate
     + cacheRead × cachedInputRate
     + cacheWrite × cacheWriteRate
     + output × outputRate

數據刷新與隱私

Host 緩存各 session 的 fold:活躍 session 至多每 10 s 重讀,全庫至多每 5 min 重讀;瀏覽器默認每 5 s 輪詢 snapshot,因此不會每次請求都重放全部日誌。

只讀路由 GET /usage-insights/snapshot 掛在現有 webServer 上,返回聚合、標題、工作目錄、session ID 與 CPU/內存計數,不包含消息正文。與其它命名路由一樣未單獨做鑑權,繼承 server 的 loopback 綁定;響應爲 no-store。

環境與依賴

  • Profile 需通過 Web GUI(@deepseek-ai/dsh-web-app 或等價物)組裝,並提供 ctx.sessionQuery 與 ctx.webServer。
  • Node/Host 運行環境需支持 node:os(常規 DSH desktop/web 部署均滿足)。
  • 插件無運行時 npm 依賴,安裝目錄即可,無需 npm install。

安裝與啓用

官方流程是先取得倉庫目錄,再在 Harness Web UI 裏把該目錄作爲 bundle 裝進 profile。

git clone https://github.com/yuhaoboris/dsh-usage-insights.git
# SSH instead of HTTPS:
# git clone git@github.com:yuhaoboris/dsh-usage-insights.git

在 Web UI 中選擇 Plugins → Add,選中克隆下來的 dsh-usage-insights 文件夾;profile 的 bundle 選擇與 dsh.profile.bundles 會隨之更新。程序化安裝可對克隆目錄的絕對路徑調用 plugin_manager 的 install_bundle action。

bundle 通過 cordis.patch.yml 插入配置行,默認示例爲:

- insert:
    - id: usage-insights
      name: dsh-usage-insights
      config:
        budgetUsd: 20
        timelineDays: 30
        includeSubagents: true

安裝完成後在左側欄打開 用量統計。若 profile 支持 HMR 通常無需整頁刷新;否則需重啓 profile 後再用。

配置說明

可在 profile 的 cordis.patch.yml 中編輯 usage-insights 行,或在安裝前改 bundle 內 cordis.patch.yml 的 config 塊。完整字段示例如下:

- id: usage-insights
  config:
    budgetUsd: 20
    timelineDays: 30
    refreshMs: 5000
    liveRefreshMs: 10000
    fullRefreshMs: 300000
    includeSubagents: true
    pricing:
      deepseek-flash:
        input: 0.28
        cachedInput: 0.028
        cacheWrite: 0.28
        output: 0.42
    defaultPrice:
      input: 0.28
      cachedInput: 0.028
      cacheWrite: 0.28
      output: 0.42
字段 默認值 含義
budgetUsd 20 預算上限;0 表示不顯示上限相關 UI
timelineDays 30 Host 返回的日桶天數(7–90)
refreshMs 5000 瀏覽器輪詢間隔(最小 2000)
liveRefreshMs 10000 活躍 session 最小重讀間隔
fullRefreshMs 300000 全庫重讀間隔
includeSubagents true 是否在合計與表格中計入 sub-agent session
pricing DeepSeek 風格估算 各模型 USD/1M tokens
defaultPrice 同上 未列出模型的回退費率

默認費率偏 DeepSeek 官方量級,實際賬戶價不同時應改 pricing / defaultPrice,否則成本數字僅供趨勢參考。

典型用法

  1. 在已啓用 Web GUI 的 profile 中按上文安裝 bundle 並打開 用量統計。
  2. 先看 KPI 與預算條,確認全庫估算成本是否接近你設定的 budgetUsd。
  3. 在時間線切換 7 / 14 / 30 天,按 Token 堆疊或「僅 cost」觀察近期峯值日。
  4. 在 Sessions 表搜索模型名或按成本排序,展開高成本行覈對 working directory 與 session ID。
  5. 長時間跑 agent 時對照 CPU 區塊與 load,判斷 Host 是否資源緊張。

Host 側實現位於 index.js(聚合、snapshot、CPU 採樣),客戶端爲無構建步驟的 client.js,經上述 HTTP 路由拉取數據而非 Remote namespace,以保持零依賴。

適用場景與注意

適合:需要在 DSH Web 裏一眼看到真實會話 Token 與估算 spend、做簡單預算約束、同時關心 Host CPU/內存的開發者。

注意:

  • 插件在 當前 DSH Host 進程權限 下運行,並註冊本機 web 路由;安裝前請閱讀 倉庫源碼 與 MIT 許可證,確認符合你的安全策略。
  • 社區目錄 SkillHub 插件頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,安裝來源以你信任的倉庫爲準。
  • 無 ctx.sessionQuery 或非 Web GUI profile 無法滿足 README 中的 Requirements。
  • GitHub 星標爲 0(截至資料抓取),不代表功能描述;以 README 與 CHANGELOG 爲準升級。

結尾

dsh-usage-insights 把 profile 裏真實的 assistant/message usage 折成總覽、預算、時間線與逐 session 明細,並附帶 Host 側 CPU 監控,適合作爲日常跑 Harness 時的用量儀表盤。安裝與配置以倉庫 README 爲準。

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

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

小夜