dsh-turn-cost-pill:把「上一輪花了多少錢」放進輸入框旁邊

前言

用 DSH 做智能體開發時,一輪任務可能跑多個步驟、發多次模型請求。想知道「剛剛這輪到底花了多少錢」,通常得翻會話日誌、把每一次請求的 usage 拿出來手動算,再對照價目表折算。這個插件解決的就是這件事:把最新一次交互的人民幣花費直接顯示在輸入框「權限」按鈕右側。

插件由 ly13277 維護,源碼倉庫 ly13277/DshRmbCostPer1Talk,分類屬於模型推理,倉庫包名是 dsh-turn-cost-pill。表意很直白:這一輪(自你最後一次發消息起)最新一次交互,一共花了多少錢。

顯示狀態:本輪與上次

一輪跑完後,膠囊顯示「上次 ¥0.0123」;這一輪還在跑時顯示「本輪 ¥0.0041」,並帶綠色小圓點,金額隨每一步請求結算實時增長。也就是說不需要等整輪結束就能看到累計花費。

鼠標懸停還能看到明細:未緩存輸入、緩存命中、輸出的 token 數,以及實際使用的模型。

數據來源與計價口徑

這個插件不自己發起模型請求,也不採集、不上傳數據。它讀的是會話日誌裏提供方上報的每一次計費請求用量:

  • token 來源:每次計費請求的 assistant/message / assistant/attempt 用量,按「回合 + 步」歸併;重試過的計費嘗試同樣計入。
  • 價格:對照 DeepSeek 官方價目(元 / 百萬 tokens)。空閒時段 Flash 爲緩存命中 0.02、未命中輸入 1、輸出 4;Pro 爲 0.15 / 4.5 / 13.5。高峯時段(北京時間工作日 09:00–12:00、14:00–18:00,不含法定節假日)價格乘 2。
  • 緩存寫入按未命中輸入價計算;金額四捨五入到 6 位小數後再展示。
  • 非 DeepSeek 官方模型沒有內置價目,會回退到 Flash 價並標註 ≈,避免把估算當成精確值。

價目與節假日表寫在 index.js 頂部,官方調價後改這一處即可。

安裝與啓用

安裝命令如下,owner 換成本倉庫所屬的 ly13277:

dsh plugin --profile web add github:ly13277/DshRmbCostPer1Talk

裝完刷新頁面,在輸入框工具行就能看到金額膠囊,位置在「權限」按鈕右側。

卸載用命令名 dsh-turn-cost-pill:

dsh plugin --profile web remove dsh-turn-cost-pill

代碼結構

插件由兩半邊配合,Host 側只註冊一個會話投影,瀏覽器側負責渲染膠囊:

文件 作用
index.js Host 半邊:註冊會話投影 turnSpend,把每輪用量折算成金額(wire.view)。
client.js 瀏覽器半邊:在 conversation.input.left 註冊金額膠囊(緊跟權限/計劃按鈕之後)。
cordis.patch.yml 向 profile 插入 turn-cost-pill Loader 行。
locale/*.json 插件管理頁的標題與描述。
icon.svg / assets/icon-180.png 插件圖標與市場卡片圖標(原創)。

適用場景與注意

適合在調試過程中想隨時看花費、又不想每次翻日誌的開發者,尤其是按量計費、在意成本歸因的場景。

需要注意三點:

  • 這個插件以當前 dsh 進程的權限運行,會在用戶主目錄、憑據目錄與項目目錄寫入數據。安裝或啓用前,先檢查源碼與許可證(本倉庫使用 MIT 許可),確認知悉其權限範圍。
  • 金額是按 DeepSeek 官方價目折算的估算值,不是賬單原值;實際扣費以 DeepSeek 賬單爲準。
  • 只統計模型請求的 token 花費,不包含圖片附件等按次計費項(DeepSeek 當前沒有此類項)。

另外,如果某個提供方沒有上報 usage(例如請求在中途被強殺),這一步就不會出現在金額裏——會話日誌裏沒有可用的計費數據,屬於數據源本身的缺失。

小結

這個插件的價值在於把「本輪/上次花了多少錢」從翻日誌計算中抽出來,變成輸入框旁邊一個常駐的即時讀數,數據來自會話日誌已有的 usage 上報。目錄頁見 skillhub.cn 插件頁,源碼見 GitHub 倉庫。

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

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

小夜