前言¶
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_tokens、prompt_cache_miss_tokens 和 completion_tokens,即時統計緩存命中率,並按官方定價(含峯谷時段)預估 API 費用。
插件會註冊 cache_report 工具,讓 Agent 可以主動查看緩存命中率和費用。它也在瀏覽器側顯示常駐統計條和每條助手回覆末尾的本輪 tokens、人民幣消耗。
核心功能¶
統計緩存與費用¶
插件提取以下字段:
prompt_cache_hit_tokens
prompt_cache_miss_tokens
completion_tokens
基於這些字段,它即時統計緩存命中率,並按官方定價(含峯谷時段)預估 API 費用。
提供 cache_report 工具¶
cache_report 是插件註冊給 Agent 的工具。它可以輸出緩存命中率、費用和緩存健康度信息,並給出趨勢火花線。
顯示常駐統計條¶
在瀏覽器中,插件可以在輸入框下方顯示常駐統計條,即時顯示 tokens、費用和命中率。
在消息末尾顯示本輪消耗¶
插件會在每條助手回覆末尾顯示本輪 tokens 與人民幣消耗。
閾值與預算告警¶
插件支持 threshold 與 cumulativeThreshold 閾值告警,也支持 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.yaml 的 allowBuilds 列表。
典型用法¶
可以直接對 Agent 說:
調用 cache_report
也可以讓它:
看看緩存命中率和花了多少錢
如果需要逐輪明細,可以傳可選參數:
{ "detail": true, "limit": 10 }
該參數用於輸出逐輪明細,包含計價檔位、實際單價和時間戳。
也可以直接看插件提供的界面:
- 看常駐統計條:輸入框下方即時累計消耗,無需任何操作。
- 看頁腳:每條助手回覆末尾顯示本輪 tokens 與人民幣消耗。
- 看日誌:
[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