DSH 插件:dsh-turn-cost —— 在輸入框下方與對話尾部顯示人民幣花費

DSH 的界面通常顯示 token 統計(如“71 步·257 tok/s”),但缺少“花費”這一項。dsh-turn-cost 通過註冊一個只讀的會話投影,讀取 usage 事件,按價格表換算成人民幣,在輸入框下方和每輪迴復尾部顯示金額。

是什麼

這是一個 DSH 客戶端插件。它不修改 DSH 源碼或樣式,通過注入 turnCost 會話投影,從事件流中提取 token 消耗,結合價格配置計算金額。

核心功能

  1. 輸入框下方統計藥丸
    在 DSH 原有的統計藥丸中追加一個,顯示累計花費。
    文本形如:本輪 ¥0.42 · 本對話 ¥3.17。
    懸停可查看詳細的四個 token 桶數據。

  2. 每輪迴復尾部徽章
    在每個回合的動作條(與複製、點贊按鈕同排)顯示該輪花費。
    文本形如:本輪 ¥0.42。

  3. 峯谷計價支持
    讀取賬本配置中的 peakEnabled、peakWindows 等字段,支持按 UTC 時段區分峯谷價格。

  4. 內置兜底計價表
    當無法讀取 dsh-cost-meter 賬本時,使用代碼中硬編碼的 DeepSeek deepseek-flash 檔位作爲兜底。

安裝與啓用

前提:Node.js ≥ 18,本地已安裝 DSH。

  1. 克隆倉庫
    git clone https://github.com/CHIP-PHILO-GH/dsh-turn-cost
    cd dsh-turn-cost
  1. 放置插件
    將該目錄作爲插件放入 DSH 的 profile 插件目錄,例如:
    $env:DSH_HOME\profiles\node_modules\dsh-turn-cost
    (未設置 DSH_HOME 時默認爲 ~/.dsh)

  2. 加載與重啓
    插件通過 cordis.patch.yml 自動註冊 loader。安裝後重啓 dsh web 即可生效。

    重啓後宿主端會打印一行自檢日誌:

    [dsh-turn-cost] 已加載,計價:¥ 小數 4 位,匯率 7.2

配置項

插件沒有獨立的配置文件。它讀取 DSH 的 dsh-cost-meter 賬本配置。

配置路徑:
<DSH_HOME>\storages\cost-meter\ledger.json

需要讀取的字段(其餘忽略):

鍵 類型 缺省值 說明
symbol string ¥ 金額前綴
decimals number 4 顯示小數位
exchangeRate number 7.2 美元到人民幣匯率
peakEnabled boolean false 峯谷計價開關(必須嚴格等於 true 才生效)
peakEffectiveAt string 無 峯谷生效時刻,交給 Date.parse 解析
peakWindows array [] 峯時段窗口,單位是 UTC 小時
prices.models object {} 模型 id → 單價記錄
prices.default object 兜底單價 模型未登記時使用

單價記錄的字段:
- cacheHit:緩存命中價(緩存讀取與寫入均使用)
- cacheMiss:未命中輸入價
- output:輸出價
- offPeak / peak:可選,非峯/峯時段檔位

注意:配置在插件加載時讀取一次。修改賬本後必須重啓 dsh web 才能生效。

計價依據

計算公式(單位:美元 / 1M tokens):

美元成本 = (未緩存輸入 × cacheMiss + 輸出 × output + (緩存讀取 + 緩存寫入) × cacheHit) / 1,000,000
人民幣   = 美元成本 × exchangeRate

當 ledger.json 不存在、讀不了或格式不對時,插件不會報錯,而是使用內置兜底表(對應 DeepSeek 官方 deepseek-flash 檔):
- 緩存命中(含讀寫):0.0028
- 未命中輸入:0.14
- 輸出:0.28

適用場景與注意

  • 估算而非賬單:顯示值是估算,價格依賴賬本。如果賬本價格與實際合同價不同,顯示值可能不一致。
  • 只統計四個桶:只統計 usage 的四個 token 桶,其他計費項不計入。
  • 緩存寫入按命中價:與 dsh-cost-meter 對齊,緩存寫入使用 cacheHit 價格。
  • 插件權限:插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證。

總結

dsh-turn-cost 通過簡單的投影和 DOM 注入,解決了 DSH 缺少成本統計的痛點。它支持峯谷計價,並提供內置兜底,適合需要精細化控制單輪對話成本的 DSH 用戶。

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

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

小夜