會話賬單插件:DSH 底欄花費監控

前言

在使用 DeepSeek Harness(DSH)進行多輪對話時,如果會話較長,很難直觀判斷當前已花費多少。平臺後臺通常只提供總量統計,無法查看每輪的計價明細,也不支持按時段(高峯/空閒)分別覈算。

下面介紹的是 dsh-billing-capsule 插件:它在 DSH Web GUI 輸入框底欄新增一個「賬單」膠囊,實時顯示當前會話按 DeepSeek 官方價目表折算的人民幣花費;點開後可查看四類 token 分桶與逐輪明細,無需再去平臺後臺對賬。

插件定位

  • 名稱:dsh-billing-capsule
  • 維護者:CKLYZZQ(Ricardo)
  • 分類:客戶端
  • 許可:MIT
  • 倉庫:https://github.com/CKLYZZQ/DSH-plugin-Billing-Capsule

它僅提供 UI 展示,不讀寫任何憑據,也不上傳任何數據。

核心功能

1. 底欄膠囊

在 DSH Web GUI 的輸入框底欄(conversation.composer.dock)原有「會話統計 / token 用量 / 上下文」三個項目旁,新增第 4 個項目「賬單」。膠囊顯示會話累計花費,保留兩位小數;不足 1 分顯示 <¥0.01;若整會話歷史未全部加載,會在金額前加 ≈ 前綴,表示該值爲估算量級。

如果價目表中沒有當前模型,膠囊顯示 --,絕不編造數字。

2. 逐輪明細彈層

點擊膠囊可展開彈層,查看:

  • 四類 token 分桶:未緩存輸入、緩存讀取、緩存寫入、輸出;每桶顯示 token 數、該時段單價與小計;
  • 計價模型、單價來源與數據時間;
  • 高峯/空閒時段判定說明;
  • 逐輪明細:輪次、token、計價模型、時段、該輪花費,最新一輪在最上面。

3. 計價規則

插件按 DeepSeek 官方價目表計價,單位爲「元 / 百萬 tokens」,分爲「高峯」與「空閒」兩檔,空閒爲高峯半價。

高峯時段爲北京時間(Asia/Shanghai)週一至週五 9:00–12:00 與 14:00–18:00,其餘時段及週末按空閒計價。緩存寫入未在官方表中列出,該桶按 0 計價。

中國法定節假日未內置;如需精確,可在 cordis.patch.yml 的 holidays 列表中添加日期(YYYY-MM-DD),這些日期會按空閒計價。

4. 精度與估算

插件根據會話狀態返回「精確」或「估算」:

  • 已加載輪次帶唯一模型路由,且其 token 合計等於整會話投影:精確,逐輪分別計價。
  • 會話歷史未全部加載(分頁/壓縮)或輪次缺少路由:顯示 ≈,按整會話總量與最近使用的模型估算,不會因分頁而少算總額。
  • 切到非對話視圖導致取不到逐輪數據:只按整會話總量估算。
  • 模型不在價目表內:該輪/該會話不計金額,彈層提示「單價未知」並列出 token。

會話總量始終取自 Harness 的整會話 tokenUsage 投影,逐輪數據只用於分攤。

安裝與啓用

插件支持從 npm 或源碼安裝。

從 npm 安裝(推薦)

Web 端:

dsh plugin --profile web add dsh-billing-capsule

Desktop 端:

dsh plugin --profile desktop add dsh-billing-capsule

從源碼安裝

dsh plugin --profile web add github:CKLYZZQ/DSH-plugin-Billing-Capsule

在界面裏安裝

在 DSH 的 Plugins 頁面點擊「安裝」,輸入包名 dsh-billing-capsule,或讓 agent 用 plugin_manager 的 install_bundle,將 target 設爲包名、倉庫地址或 tarball 絕對路徑。

安裝後刷新頁面,膠囊會出現在底欄「會話統計 / token 用量 / 上下文」右側。

卸載:在 Plugins 頁取消選擇,或用 plugin_manager 的 remove_bundle。

典型用法

  1. 安裝插件後,打開任意 DSH 會話。
  2. 在輸入框底欄右側,會看到「賬單」膠囊,顯示當前會話花費。
  3. 點擊膠囊展開彈層,查看四類 token 分桶、計價模型、高峯/空閒判定與逐輪明細。

配置項(cordis.patch.yml 的 config)

鍵 默認值 含義
priceSourceUrl 官方中文價格頁 Host 半抓取並解析的地址
refreshHours 12 重新抓取官方價格頁的間隔;0 表示不定時抓取
requestTimeoutMs 8000 單次抓取超時時間
loopbackOnly true 只回應迴環來源的 prices.json 請求
holidays [] 按空閒計價的日期(YYYY-MM-DD,北京時間)
models {} 手動單價覆蓋,優先級最高

手動覆蓋示例:

        models:
          deepseek-chat:
            cacheHitInput: { peak: 0.2, idle: 0.2 }
            cacheMissInput: { peak: 2, idle: 2 }
            output: { peak: 3, idle: 3 }

價格來源

插件的價格數據來自三個層級:

  1. 客戶端內置基線:來自官方價格頁,當前爲 2026-10-11 抓取。
  2. Host 半自動抓取:插件激活時以及每 refreshHours 小時,Host 半抓取官方價格頁並解析,經同源路由 GET /dsh-billing/prices.json 提供給客戶端;客戶端每 6 小時拉取一次,拿到就覆蓋基線。
  3. cordis.patch.yml 中的手動覆蓋:優先級最高。

抓取或解析失敗不會影響使用;彈層會顯示當前用的是哪一來源。官方改版導致解析失敗時,需要按「更新價格」章節處理。

權限與外部服務

  • 唯一的對外網絡請求:Host 半抓取 https://api-docs.deepseek.com/zh-cn/quick_start/pricing/(官方價格頁),默認每 12 小時一次,可用 refreshHours 調整或關閉。
  • 提供的本地接口:GET /dsh-billing/prices.json(價格表)與 POST /dsh-billing/refresh(立即重抓),註冊在 Harness 自身的 Web 服務上,默認只回應 127.0.0.1 / ::1,只讀價格數據,不返回會話內容。
  • 不讀取憑據:不訪問 API key、賬號 token、cookie 或任何憑據存儲。
  • 無遙測、不上傳:沒有任何回傳代碼;會話數據只在本機瀏覽器內讀取與計算。
  • 客戶端只讀:只讀 Harness 已有的 tokenUsage、modelSelection 投影與當前對話的逐輪用量,不寫入任何會話事件。

依賴與兼容

  • 零 dependencies、零 peerDependencies、零 install script:不 import 任何 @deepseek-ai/*,不會觸發 peer 版本拒絕或產生待批准的構建腳本。
  • dsh.client.inject 只聲明激活順序:目標 profile 需組合 ui-conversation(座位與底欄)與 ui-chat(逐輪數據)。缺 ui-chat 時降級爲整會話總量估算;缺 dsh-token-meter 時不顯示(拿不到會話總量)。
  • Host 半的 webServer 是可選依賴;沒有它時只用內置基線。
  • 已在 DSH 0.2.0-rc.2 與 0.2.1-rc.2 / profile desktop 上驗證。

更新價格

官方改價後:

  1. 等自動刷新:Host 半會在 refreshHours 內重新抓取;也可用 POST /dsh-billing/refresh 立即觸發。
  2. 更新內置基線(僅官網改版導致解析失敗時需要):改 client.js 的 BASELINE,並運行 node tests/fetch-fixture.cjs 刷新 tests/fixture-pricing.html,按新頁面改 tests/pricing.test.js 裏的期望值。
  3. 改別名:官方改了模型名時,在 client.js 的 ALIASES 里加舊名到新名的映射,或在 config.models 裏直接給該 id 定價。

適用場景與注意

適合需要實時掌握會話花費量級、希望按模型與時段分別覈算 token 用量的 DSH 用戶。

安裝前建議檢查源碼與許可證。插件以當前 DSH 進程權限運行,所有計算均在本地完成,不涉及外部服務或數據上傳。

總結

dsh-billing-capsule 是一個輕量級、零依賴的客戶端插件,在 DSH 底欄提供實時會話花費監控與逐輪明細。它基於官方價目表計價,支持高峯/空閒雙檔,通過膠囊與彈層兩種視圖呈現,幫助你在開發與調試時更直觀地評估成本。

插件目錄頁:https://www.skillhub.cn/plugins/CKLYZZQ/DSH-plugin-Billing-Capsule
GitHub 倉庫:https://github.com/CKLYZZQ/DSH-plugin-Billing-Capsule

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

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

小夜