dsh-cache-cost-monitor:爲 DSH 增加緩存命中率與費用觀察

前言

DSH 使用插件擴展工作流。在多輪 Agent 調用中,模型 API 通常會返回 token 用量,但開發者還想知道前綴緩存是否命中、每一輪大約花了多少錢、累計費用是否接近預算。dsh-cache-cost-monitor 是 DSH v0.1.x 的 Cordis 插件,用於把這些信息從日誌和響應字段裏整理成可觀察的指標。

這是什麼

eurt-nano/dsh-cache-cost-monitor 是一個 MIT 許可的 DSH 插件。它監聽每一輪 Agent 的模型 API 調用,提取 prompt_cache_hit_tokensprompt_cache_miss_tokenscompletion_tokens,即時統計緩存命中率,並按官方定價(含峯谷時段)預估 API 費用。

插件會註冊 cache_report 工具,讓 Agent 可以主動查看緩存命中率和費用。它也在瀏覽器側顯示常駐統計條和每條助手回覆末尾的本輪 tokens、人民幣消耗。

核心功能

統計緩存與費用

插件提取以下字段:

prompt_cache_hit_tokens
prompt_cache_miss_tokens
completion_tokens

基於這些字段,它即時統計緩存命中率,並按官方定價(含峯谷時段)預估 API 費用。

提供 cache_report 工具

cache_report 是插件註冊給 Agent 的工具。它可以輸出緩存命中率、費用和緩存健康度信息,並給出趨勢火花線。

顯示常駐統計條

在瀏覽器中,插件可以在輸入框下方顯示常駐統計條,即時顯示 tokens、費用和命中率。

在消息末尾顯示本輪消耗

插件會在每條助手回覆末尾顯示本輪 tokens 與人民幣消耗。

閾值與預算告警

插件支持 thresholdcumulativeThreshold 閾值告警,也支持 budgetUsd 費用預算與超支告警。

異常時降級

字段缺失、無定價、服務不可用等異常情況下,插件只記錄日誌,不拖垮主程序。

安裝與啓用

前置要求:

Node.js >= 18
pnpm
DSH v0.1.x

固定版本安裝命令:

dsh plugin --profile web add https://github.com/eurt-nano/dsh-cache-cost-monitor.git#v0.3.0 --config.node-linker=isolated

安裝後需要重啓 DSH:

dsh web

頁腳與統計條需要刷新瀏覽器頁面。

Windows 下安裝或移除時,需要保留:

--config.node-linker=isolated

如果 git 安裝時 pnpm 攔截構建腳本,需要把 dsh-cache-cost-monitor 加入 profile 的 pnpm-workspace.yamlallowBuilds 列表。

典型用法

可以直接對 Agent 說:

調用 cache_report

也可以讓它:

看看緩存命中率和花了多少錢

如果需要逐輪明細,可以傳可選參數:

{ "detail": true, "limit": 10 }

該參數用於輸出逐輪明細,包含計價檔位、實際單價和時間戳。

也可以直接看插件提供的界面:

  1. 看常駐統計條:輸入框下方即時累計消耗,無需任何操作。
  2. 看頁腳:每條助手回覆末尾顯示本輪 tokens 與人民幣消耗。
  3. 看日誌:[cache-monitor] 前綴的 warn/info 輸出告警與啓動信息。

適用場景與注意

這個插件適合使用 DSH v0.1.x、希望觀察緩存命中率和 API 費用估算的開發者。插件以當前 dsh 進程權限運行,安裝前建議先檢查源碼與許可證。

費用按“配置定價 × 實際 token 數”估算,不含折扣、重試與網關加價;未配置定價的模型按 0 計。

cache_report 的進程內累計統計隨 DSH 重啓歸零;每條消息頁腳數據來自會話投影,重啓後歷史輪次仍可顯示。頁腳只顯示插件安裝之後且 API 響應攜帶 usage 的輪次。

參考

倉庫地址:

https://github.com/eurt-nano/dsh-cache-cost-monitor
羽毛球分组比赛记分
小程序二维码

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

小夜