DeepSeek Harness 插件介紹:dsh-usage-lite

DSH(DeepSeek Harness)的核心理念是「一切皆插件」。在智能體開發與調試過程中,追蹤跨會話的 Token 消耗是高頻需求。dsh-usage-lite 是一個由開發者 ChrisLou-bioinfo 維護的插件,它無需構建步驟,直接在本地聚合所有會話的 Token 數據,並在設置面板新增「用量統計」頁進行可視化展示。

核心功能

該插件提供以下統計與展示能力:

  • 彙總卡片:展示總 Tokens、輸入(未緩存)、緩存讀(含命中率)、緩存寫、輸出(含推理)。
  • 時間範圍切換:支持 7 天、30 天或全部歷史數據的查看。
  • 多維度排行與圖表:提供按天用量柱狀圖、按模型排行以及按工作區排行。
  • 增量索引與持久化:首次全量掃描後,僅重讀新增或變更的會話,並將索引快照持久化到 ~/.dsh/usage-lite/index.json,避免重複計算。

安裝與啓用

通過官方插件命令安裝。該插件適配 DSH 0.2.0-rc.2+(桌面端與 Web Profile 均可)。

dsh plugin add github:ChrisLou-bioinfo/dsh-usage-lite

安裝完成後,打開 Settings → 用量統計 頁面即可查看統計數據。

統計口徑與數據流

插件的數據來源爲本地會話日誌,具體規則如下:

  • 數據源:優先讀取 ctx.sessionQuery(Live 數據),兜底使用 readSession(id) 讀取持久化事件。
  • 過濾規則:僅統計 assistant/message 事件中 data.usage 且 data.message.source.kind === "model" 的樣本,忽略流式 assistant/attempt 裏的過程值。
  • 去重處理:跳過 inheritedEventCount 之前的事件,避免 fork 或 resume 會話時重複計算父會話的 Token。
  • 計算公式:total = input + output + cacheRead + cacheWrite;reasoning 單獨列出。
  • 緩存命中率:cacheRead / (cacheRead + input),若 Provider 不上報緩存則顯示 “—”。

技術維護注意

  • 客戶端約束:客戶端 Bundle(client.js)只能依賴平臺種子模塊(如 react、dsh-client-store 等),禁止引入外部依賴。
  • 注入服務名:client.js 的 exports.inject 必須是服務名 ["slots"](非包名)。若配置錯誤,Web 啓動會判定 “entry did not activate” 並拒絕啓動,桌面端連續失敗會觸發恢復流程。
  • 升級排查:若升級 DSH 版本後設置頁空白,請前往 Settings → Plugins → Plugin list 檢查裝載審計信息。
  • 移除插件:
    • 命令行:dsh plugin remove dsh-usage-lite
    • 手動:刪除對應 profile 的 cordis.patch.yml 中的插入條目。
    • 索引清理:~/.dsh/usage-lite/ 目錄可一併刪除(建議)。

總結

dsh-usage-lite 是一個輕量級的 Token 統計工具,它通過增量索引和本地快照技術,在無需網絡請求的情況下實現了跨會話的數據聚合。對於需要精細化控制成本和監控模型調用的開發者,這是一個直接可用的工具。

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

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

小夜