dsh-bill:爲 DSH 提供費用歸因與用量看板

前言

在 DSH 中運行會話時,成本不只是“模型輸出”這一項。工具輸入、工具輸出、系統提示、終端命令、附件、系統提醒和用戶輸入都會進入請求,只看到總花費時,很難判斷哪一類內容貢獻了主要成本。

下面介紹 dsh-bill。它把 DSH 會話中的費用拆到不同內容類型,並在每輪對話、側欄、報告頁和預算中展示相關狀態。

這是什麼

dsh-bill 是一個 DSH 成本歸因和用量看板插件,由 Jannchie 維護,許可證爲 MIT。它基於 llm-pricing 做價格解析,依賴版本爲 ^0.17.0。

它主要解決三類問題:

  • 每個完成的回合花了多少錢,以及步驟數、緩存命中情況。
  • 總費用具體由哪幾類內容構成。
  • 預算、餘額、月度預測和多幣種展示。

核心功能

成本歸因

dsh-bill 會把賬單按內容類型拆分,包括:

  • tool output
  • model output
  • system prompt
  • terminal commands
  • tool input
  • attachments
  • system reminders
  • user input

報告頁中還可以看到拆分明細、趨勢圖和熱力圖。

每輪費用

每個完成回合下方會顯示一行信息,包括:

  • 本輪成本
  • 步驟數
  • 緩存命中率

這一行直接來自會話日誌,因此安裝前的歷史回合也能作爲花費被回填。

常顯狀態

dsh-bill 會把狀態常駐在界面上:

  • 在已有統計行下方顯示一行費用信息。
  • 在側欄顯示今日花費相對於預算的位置。

可見的表面可以在設置中調整。

報告

會話中的 Cost 頁籤會展示:

  • total
  • tokens
  • cache hit
  • peak share
  • monthly forecast
  • account balance

同時提供按模型、按會話、按用途的拆分,以及趨勢和熱力圖視圖。

預算

可以設置:

  • 每日預算
  • 每月預算
  • 全週期預算

預算使用超過 80% 時會改變顏色,超預算時也會改變顏色。

多幣種

dsh-bill 提供約 166 種貨幣的即時匯率。每個模型的基礎費率會按供應商定價使用的幣種顯示。

Agent 工具

插件提供 bill_stats 工具,模型可以據此直接回答關於花費的問題。

安裝與啓用

先安裝到 web profile:

dsh plugin --profile web add dsh-bill

安裝後,重啓 dsh web 使插件生效。

典型用法

設置預算、幣種和可見表面

打開設置中的 Cost 頁面,可以設置預算、幣種和可見表面。偏好會寫入:

$DSH_HOME/dsh-bill/prefs.json

經過上面的步驟後,側欄和統計行會按你的設置顯示。

查看每輪費用和報告

在對話中,每個完成回合下方會顯示本輪成本、步驟數和緩存命中率。

打開會話中的 Cost 頁籤,可以查看總量、令牌、緩存命中、峯值佔比、月度預測、賬戶餘額,以及拆分和趨勢視圖。

讓模型查詢花費

當你需要模型直接回答花費相關問題時,可以使用插件提供的 bill_stats 工具。

覆蓋價格

如果你需要覆蓋某個價格,可以編輯:

~/.dsh/profiles/web/cordis.patch.yml

在 priceOverrides 中配置價格覆蓋。priceOverrides 會在啓動時校驗。

插件還暴露 maxRecords 配置項,默認值爲 20000。

適用場景與注意

適合以下場景:

  • 你想看 DSH 會話中錢具體花在了哪一類內容上。
  • 你需要每輪成本、步驟數和緩存命中率。
  • 你需要預算、餘額、月度預測和多幣種展示。
  • 你希望模型通過 bill_stats 直接查詢花費。

使用前注意以下幾點:

  • package.json 的 engines 要求 node >=20。
  • 依賴包括 llm-pricing ^0.17.0。
  • Peer dependencies 包括 @deepseek-ai/dsh-atomic-write 和 @deepseek-ai/dsh-tools。
  • 客戶端平臺爲 web,並注入 @deepseek-ai/dsh-client-ui-conversation。
  • 調用記錄會寫入:
$DSH_HOME/dsh-bill/records.jsonl

記錄採用 20000 條環形緩衝,舊記錄會摺疊成 rollup。

  • 賬戶餘額 API key 在宿主側使用,不會到達瀏覽器。
  • 網絡請求限於價格目錄、匯率端點和餘額查詢;不存儲會話內容。
  • 未匹配的模型名會被標記爲 ?,並從合計中排除;不會做估算。
  • 安裝前的歷史可以從會話日誌回填爲花費,但不能追溯歸因;報告會說明覆蓋比例。
  • 插件以當前 dsh 進程權限運行。安裝前建議檢查源碼和許可證。

結尾

dsh-bill 的價值在於把 DSH 會話中的花費落到內容類型、回合、預算和餘額上,而不僅是給出一個總額。

目錄頁:DSH 社區目錄中的 dsh-bill 條目。社區目錄是獨立站點,不是 DeepSeek 或幻方官方應用商店。

GitHub:

https://github.com/Jannchie/dsh-bill
羽毛球分组比赛记分
小程序二维码

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

小夜