前言¶
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。
典型用法¶
安裝完成後不需要額外配置,插件隨會話加載。下面按「能看到什麼」的順序走一遍。
- 打開或新建一個 DSH 會話,和模型正常對話。切到底邊欄的用量控件,pill 上除 token 總數外會帶出估算費用。
- 點開用量控件,彈窗裏先看 token 分桶和當前計費時段,再往下看會話累計與按模型費用。
- 跑一輪需要委派子智能體的任務(例如 Agent Team 成員 / 委派任務)。這輪結束後點該輪到「用量」按鈕,按鈕後追加本輪估算金額;彈窗內也多出子智能體費用區塊,逐行是標籤、金額、token 數,底部是子智能體小計與主會話加子智能體的合計。
到這裏,你已經能把「這輪花了多少、其中子智能體佔多少」對上號了。
子智能體費用怎麼統計¶
子智能體跑在各自獨立的 Session 裏,所以 Host 側是在彈窗打開時纔去聚合。步驟是:
- Host 側掃描
$DSH_HOME/sessions下的會話日誌。 - 按每個日誌 header 的
parentSession關係,找出當前查看會話的全部後代會話。 - 用與主會話相同的費用 fold 計算每個子會話的金額。
- 通過本機路由
/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