前言¶
DSH 的插件化方式允許在會話、工具調用和上下文管理周圍擴展能力。做 token 成本覈算時,常見的問題是把不同來源的信息混成一個總數:有些調用沒有持久化 usage,有些路由不在價格本里,當前上下文壓力也和累計花費不是一回事。
dsh-cost 針對這類問題。它基於 durable assistant/message.usage 事件計算成本,把路由拆分、證據完整度、可選預算狀態和當前 ctx.tokenMeter 壓力快照分開呈現,並提供明確的 fail-open/fail-closed 預算檢查。
這是什麼¶
dongsheng123132/dsh-cost 是 DeepSeek Harness(DSH)的插件,定位爲:
Evidence-first token cost ledger and budget checks for DeepSeek Harness
它由 dongsheng123132 維護,採用 MIT 許可證,要求 Node.js >=22;@deepseek-ai/dsh-tools 是可選 peer dependency。
核心功能¶
會話成本報告¶
dsh-cost 提供 durable session cost report,包括:
- 基於 durable
assistant/message.usage事件計算成本 - route breakdown
- evidence completeness
- optional budget status
- 當前
ctx.tokenMeterpressure snapshot
這裏的成本不是憑空彙總,而是從已有的持久化 usage 事件出發。缺少 usage 或價格本未覆蓋的調用會保持顯式狀態,而不是被合併成一個看起來完整的總額。
預算檢查¶
插件提供 explicit fail-open/fail-closed budget check。
需要注意:它不聲稱會自動攔截未來調用。預算檢查是決策輸出,而不是對後續請求的自動攔截機制。
MCP server¶
插件自帶 stdio MCP server,暴露:
cost_reportcost_check
MCP 只接受 bounded、sanitized usage rows,並拒絕 prompts、message bodies、credentials 以及其他額外字段。
價格本¶
成本計算使用 user-owned price book。價格按 per million tokens 計算,並將 token buckets 分爲:
- input
- output
- cache-read
- cache-write
這些桶是 disjoint 的。價格本不內置供應商價格;價格應由使用者根據當前供應商合同維護,並保持爲當前有效價格。
離線 CLI ledger¶
dsh-cost 提供離線 CLI ledger,用於從 durable assistant/message.usage events 計算成本。
安裝與啓用¶
在目標 profile 下安裝插件:
dsh plugin --profile <name> add github:dongsheng123132/dsh-cost
安裝後,需要配置價格本路徑和默認預算。已覈實的配置項包括:
priceBookFile
defaultBudget
示例配置如下:
- id: dsh-cost
name: dsh-cost
config:
priceBookFile: C:/absolute/path/prices.json
defaultBudget: 5
priceBookFile 指向用戶自己維護的價格文件,defaultBudget 用於默認預算值。價格文件裏的價格應按每百萬 token 填寫,並區分 input、output、cache-read、cache-write 四個桶。
典型用法¶
離線計算會話成本¶
當已有 session events 和價格本時,可以直接使用離線 CLI:
dsh-cost --events session-events.json --prices prices.json --budget 5 --fail-closed
該命令用於從已有事件文件計算成本,並結合預算參數做 fail-closed 檢查。
如果存在 missing usage 或 unpriced calls,低於預算的結果應理解爲 unknown,而不是 within。也就是說,當證據不完整時,插件不會給出一個看似可靠的“預算內”結論。
通過 MCP 使用¶
同一套證據覈算能力也可以通過 bundled stdio MCP server 使用,接口名爲:
cost_report
cost_check
MCP 側只接受 bounded、sanitized usage rows,並會拒絕 prompts、message bodies、credentials 以及其他額外字段。
適用場景與注意¶
適合在以下場景中使用:
- 需要對 DSH 會話中的 token 成本做賬本式記錄
- 需要區分路由拆分、證據完整度和預算狀態
- 需要顯式檢查 budget,而不是隻看一個彙總數字
- 需要把 missing usage、unpriced calls 作爲獨立狀態保留下來
- 需要通過 MCP 將成本報告和預算檢查暴露給外部工具
使用前注意:
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與 MIT 許可證
dsh-cost不做未來調用的自動攔截,預算檢查是明確決策,而不是請求網關- 價格本由使用者維護,不內置供應商價格
- 若 usage 缺失或調用未定價,低於預算的結果是 unknown,不是 within
- MCP 只接受 bounded、sanitized usage rows,並拒絕額外字段
- DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不要把它理解爲官方應用商店
結尾¶
dsh-cost 的價值在於把 token 成本從模糊總數變成可審計的證據鏈:成本來自 durable usage 事件,路由和證據狀態分開呈現,預算檢查明確區分 fail-open 與 fail-closed,缺失信息不會被包裝成“預算內”。
相關鏈接:
- 社區目錄:按
dsh-cost查看條目 - GitHub:https://github.com/dongsheng123132/dsh-cost