dsh-turn-cost:把每輪花費壓成回覆下方的一行灰字

前言

DSH 用久了,一次「繼續」到底燒了多少錢,很容易失去感知。上下文一長,單輪的 token 量和花費就很難心算;dsh 本身有 token 用量面板,但要展開、要手算、還要自己記住今天是峯時還是谷時。維護者 inzia005 的 dsh-turn-cost 插件就是來做這件事的。

這是什麼

dsh-turn-cost 是一個客戶端 DSH 插件,維護者爲 inzia005,當前版本 0.1.0,許可證 MIT。它在每條回覆下面顯示一行,內容爲本輪花費、token 數、峯谷價,例如:

¥0.093 · 942k tok · 峯

鼠標懸停能看到明細,包含本輪 token、未命中輸入、緩存命中率、輸出、峯谷價、模型名,例如:

本輪 942k tok · 輸入 4.9k · 緩存命中 931k(99%) · 輸出 5.8k · 峯時價 · deepseek-flash

它解決的問題是「單輪成本不可見」:不需要展開用量面板,也不需要手算。

核心功能

下面介紹插件的記賬口徑,這是理解顯示數字的關鍵。

項 谷時 峯時
緩存命中輸入 ¥0.02 ¥0.04
未命中輸入 ¥1 ¥2
輸出 ¥4 ¥8
  • 峯時 = 北京時間「週一至週五 09:00–12:00、14:00–18:00」,其餘時間(含週末)按谷時。
  • 緩存寫入(cacheWriteTokens)按未命中輸入價計,官方價目裏沒有單獨的緩存寫入檔。
  • reasoningTokens 是 outputTokens 的一部分,不重複累加。
  • 模型名帶 pro 的按 Flash 的 3 倍計價。
  • 內置的節假日判斷只按週末簡化,沒有內置法定節假日表:遇到法定節假日會按工作日峯谷規則算,比實際略高一點。

安裝與啓用

README 給出的安裝命令如下。第一條從 GitHub 安裝,第二條從本地目錄安裝:

# 從 GitHub
dsh plugin --profile desktop add github:<你的用戶名>/dsh-turn-cost

# 或本地目錄
dsh plugin --profile desktop add /絕對路徑/dsh-turn-cost

安裝完成後需要重啓桌面端,因爲宿主半邊要重新加載插件。

典型用法

裝好並重啓後,插件無需額外配置。對話過程中每條回覆下方自動出現一行成本信息,鼠標懸停即可看到明細。安裝完成後沒有可寫的配置文件,也沒有手動命令需要執行。

工作原理

插件分兩半。

  • 宿主半邊 lib/index.js:訂閱 session/event,把每個 (會話, 輪次) 的 assistant/message usage 累加起來(緩存讀、未命中輸入、緩存寫、輸出分開記),按輪次結束時間判斷峯谷並換算成人民幣,通過 GET /dsh-turn-cost/turn.json?turn=&seq= 暴露查詢接口。用 seq 做首選鍵,避免兩個會話恰好有同一輪次號時串賬。
  • 瀏覽器半邊 lib/client.js:往 conversation.chat.turnTail 槽位註冊一個組件,每條回覆下方渲染那一行字,數據全部來自上面的接口,不在瀏覽器裏重複算價。

適用場景與注意

適合希望在對話流裏直接看到單輪成本、而不是反覆展開用量面板的開發者。需要注意幾點:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證(MIT)。
  • 只統計插件加載之後發生的輪次,不回填歷史對話。
  • 記錄在內存裏,進程重啓就清空。
  • 判斷峯谷用本機時鐘換算 +8 小時的北京時間,不校驗系統時區是否正確。
  • 隱私上只讀 dsh 自己的會話事件裏的 usage 數字,全部計算在本地,不聯網、不上傳、不寫文件;路由只在本機 web server 上監聽,不對外暴露。

結尾

dsh-turn-cost 的價值在於把單輪成本壓縮成掃一眼就能讀的一行,省掉展開面板和手算的步驟。目錄頁:https://www.skillhub.cn/plugins/inzia005/dsh-turn-cost,源碼:https://github.com/inzia005/dsh-turn-cost。

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

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

小夜