dsh-cost-meter:把 DSH 會話的 token 用量換算成人民幣估算費用

前言

DSH 會記錄每次模型調用的 token 計數,但計數本身看不出花了多少錢。想知道一輪迴答的成本,得自己去查價目表、判斷調用落在哪個時段,再按模型分別算。會話裏還有 Agent Team 委派的子智能體,它們各自跑在獨立的 Session 裏,費用更難歸到一起。

下面介紹的 dsh-cost-meter 就是用來處理這件事的插件:它只做展示,把 token 換算成按官方價目與峯谷時段估算的人民幣費用,並且把子智能體費用單獨列出。插件不發起模型請求,也不寫會話數據。

這是什麼

dsh-cost-meter 由 xiaobaijunya 維護,當前版本 0.2.0,MIT 許可證,分類爲模型推理。一句話定位:一個 display-only 的 DSH 插件,把 harness 的 token 分桶換算成估算金額,同時覆蓋主會話與子智能體兩層。

它不改變 DSH 的執行邏輯,不發起模型調用,也不寫會話數據。金額是按官方價目表與已記錄調用時間估算的,不是賬單。

核心功能

先說清它掛載在哪個位置,再講顯示了什麼。

底邊欄用量 pill。 底邊欄原有的用量控件現在帶出整段會話的估算值,形如 51M tok · ¥2.20。點開是「用量與費用」彈窗,列四類信息:token 分桶、當前計費時段、會話累計費用、按模型拆分的費用(含各自的谷/峯單價)。

每輪費用。 每輪迴答結束後,「用量」按鈕後追加 · ¥0.0274;原生「本輪用量」彈窗末尾追加三行:本輪費用、會話累計、計費時段。

子智能體費用單獨列出。 彈窗內有獨立的「子智能體費用」區塊,按子會話逐行顯示標籤、金額、token 數,並給出子智能體小計與「合計(主會話 + 子智能體)」。主會話金額口徑不變,不與子智能體混算。

區分模型與峯谷。 內置 DeepSeek Flash / Pro 價目,按北京時間判定峯谷;一輪的回答開始與結束落在不同時段的,標記爲「高峯/空閒混合」。

計價規則

計價來源是 DeepSeek 官方價目頁(2026-11 現行價),單位爲元 / 百萬 token:

模型 緩存命中(谷/峯) 未緩存輸入(谷/峯) 輸出(谷/峯)
deepseek-flash(含 deepseek-v4-flash、deepseek-v4-flash-vision-exp) 0.02 / 0.04 1 / 2 4 / 8
deepseek-v4-pro 0.15 / 0.30 4.5 / 9 13.5 / 27

峯谷按北京時間判定:工作日(不含中國法定節假日)9:00–12:00、14:00–18:00 爲高峯,其餘時段爲谷價。2026-08-23 起週末全天谷價,插件對歷史日誌保留該分界。

三條補充口徑:

  • 未知模型名回落到 Flash 價目,並在界面標註「按 Flash 價估算」。
  • 緩存寫入 token 按未命中輸入價計。
  • 內置 2026 年法定節假日表,2027 年安排公佈後需補到 lib/pricing.js。

安裝與啓用

按部署方式選一種。

已裝插件市場的 DSH 桌面端 / Web:本倉庫被 awesome-dsh-plugin 收錄後,在市場裏搜索 dsh-cost-meter 一鍵安裝。

普通 dsh web(CLI):

dsh plugin --profile <profile> add github:xiaobaijunya/dsh-cost-meter

Release tarball(無需構建):

dsh plugin --profile <profile> add https://github.com/xiaobaijunya/dsh-cost-meter/releases/download/v0.2.0/dsh-cost-meter-0.2.0.tgz

手動 profile patch(任意部署):在 profile 的 cordis.patch.yml 追加一個 insert 條目指向本倉庫 lib/index.js,DSH 的 HMR 會在數秒內熱加載。完整步驟、驗收與回滾見倉庫裏的 tools/INSTALL.md。

需要提醒一句:官方 DSH 桌面端自己管理保留的 desktop profile,請在應用內 Plugins 頁安裝,不要用 CLI 去改桌面 profile。

典型用法

安裝完成後不需要額外配置,插件隨會話加載。下面按「能看到什麼」的順序走一遍。

  1. 打開或新建一個 DSH 會話,和模型正常對話。切到底邊欄的用量控件,pill 上除 token 總數外會帶出估算費用。
  2. 點開用量控件,彈窗裏先看 token 分桶和當前計費時段,再往下看會話累計與按模型費用。
  3. 跑一輪需要委派子智能體的任務(例如 Agent Team 成員 / 委派任務)。這輪結束後點該輪到「用量」按鈕,按鈕後追加本輪估算金額;彈窗內也多出子智能體費用區塊,逐行是標籤、金額、token 數,底部是子智能體小計與主會話加子智能體的合計。

到這裏,你已經能把「這輪花了多少、其中子智能體佔多少」對上號了。

子智能體費用怎麼統計

子智能體跑在各自獨立的 Session 裏,所以 Host 側是在彈窗打開時纔去聚合。步驟是:

  1. Host 側掃描 $DSH_HOME/sessions 下的會話日誌。
  2. 按每個日誌 header 的 parentSession 關係,找出當前查看會話的全部後代會話。
  3. 用與主會話相同的費用 fold 計算每個子會話的金額。
  4. 通過本機路由 /dsh-cost-meter/subagents 提供給前端,彈窗打開期間每 4 秒刷新一次。

日誌按 mtime + size 緩存,不寫會話目錄。

隱私與範圍

這一塊決定你能放心把它掛在哪個 profile 上:

  • 只讀取本機 DSH 會話日誌(僅爲子智能體彙總),聚合結果只在內存緩存。
  • 只寫一個診斷/狀態文件 $DSH_HOME/.dsh-cost-meter-status.json,並註冊兩條供自身 UI 使用的 localhost 路由。
  • 不向任何模型提供方發請求,不上傳 prompt、用量或日誌數據。

侷限

使用前請知道它明確不覆蓋的情況:

  • 僅爲估算:價格調整、訂閱折扣與提供方側舍入都不反映。
  • 單次請求的峯谷按記錄到的結算時間歸段,跨時段邊界會有歸段誤差。
  • 歷史價目(如 2026-09-10 之前的 Flash 舊價)未建模。
  • 子智能體費用僅在其日誌仍存在於 $DSH_HOME/sessions 時出現,歸檔或清理掉的會話不會列出。

適用場景與注意

適合做這些事:想知道一個 DSH 會話、一輪迴答大概花了多少錢;想把主會話與 Agent Team 子智能體的花費分開看;想在峯谷計費體系下粗略判斷哪個時段調用更便宜。

三點提醒:

  • 插件以當前 DSH 進程的權限運行,讀完上面「隱私與範圍」再決定掛到哪個 profile。
  • 安裝前建議先審一遍源碼與許可證(MIT),確認讀取路徑和狀態文件路徑符合預期。
  • 金額只是估算,不要拿它做預算或對賬;需要精確賬單請以官方後臺爲準。

結尾

dsh-cost-meter 做的是一件很窄的事:把已經記錄的 token 計數,按官方價目和峯谷時段換算成人民幣估算,並把子智能體費用單獨列出來。它不發起模型調用、不寫會話數據,只加一層展示。

目錄頁:https://www.skillhub.cn/plugins/xiaobaijunya/dsh-cost-meter

GitHub:https://github.com/xiaobaijunya/dsh-cost-meter

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

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

小夜