DSH 的界面通常顯示 token 統計(如“71 步·257 tok/s”),但缺少“花費”這一項。dsh-turn-cost 通過註冊一個只讀的會話投影,讀取 usage 事件,按價格表換算成人民幣,在輸入框下方和每輪迴復尾部顯示金額。
是什麼¶
這是一個 DSH 客戶端插件。它不修改 DSH 源碼或樣式,通過注入 turnCost 會話投影,從事件流中提取 token 消耗,結合價格配置計算金額。
核心功能¶
-
輸入框下方統計藥丸
在 DSH 原有的統計藥丸中追加一個,顯示累計花費。
文本形如:本輪 ¥0.42 · 本對話 ¥3.17。
懸停可查看詳細的四個 token 桶數據。 -
每輪迴復尾部徽章
在每個回合的動作條(與複製、點贊按鈕同排)顯示該輪花費。
文本形如:本輪 ¥0.42。 -
峯谷計價支持
讀取賬本配置中的peakEnabled、peakWindows等字段,支持按 UTC 時段區分峯谷價格。 -
內置兜底計價表
當無法讀取dsh-cost-meter賬本時,使用代碼中硬編碼的 DeepSeek deepseek-flash 檔位作爲兜底。
安裝與啓用¶
前提:Node.js ≥ 18,本地已安裝 DSH。
- 克隆倉庫
git clone https://github.com/CHIP-PHILO-GH/dsh-turn-cost
cd dsh-turn-cost
-
放置插件
將該目錄作爲插件放入 DSH 的 profile 插件目錄,例如:
$env:DSH_HOME\profiles\node_modules\dsh-turn-cost
(未設置DSH_HOME時默認爲~/.dsh) -
加載與重啓
插件通過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 用戶。
- 技能包目錄:dsh-turn-cost
- GitHub 倉庫:dsh-turn-cost