meow-cachebilling:把即時賬單裝進上下文圓環的 DSH 插件

前言

用 DSH 跑長上下文任務時,緩存命中率往往很漂亮,但總花費並不會因此停下:上下文越長,每一步請求裏帶着的緩存 token 越多,賬單也就越滾越大。「緩存命中率 100% 卻越用越貴」說的就是這種情況。光知道 token 用量不夠,還得知道這些 token 折成錢是多少,纔好判斷什麼時候該開新會話、什麼時候該壓縮上下文。

下面介紹 meow-cachebilling(喵賬單),一個把即時賬單放進上下文圓環彈層的 DSH web 插件。

這是什麼

meow-cachebilling 是由 Phant0Meow 維護的 DSH 插件,MIT 許可證。它在輸入框右側上下文圓環的彈層底部渲染一張無邊框小賬表:一步、一輪、會話三行,每行帶總價獨立一列,右側三列是緩存命中、緩存未命中、輸出明細。賬單與「上下文用了多少」同屏對看,token 和錢在一處對照。

核心功能

三級賬單一表收

當前每次 API 請求(一步)、當前輪、會話累計合併成一張無邊框小表。首列是「一步 / 一輪 / 會話」行標籤,總價獨立一列,右側三列分別是緩存命中、緩存未命中、輸出明細,一覽即比。

峯谷計價自動判定

北京時間工作日 09:00–12:00 / 14:00–18:00 按峯價,其餘時段及週六日全天按谷價。判定是純事件時刻換算,與系統時區無關。峯谷標註寫在模型信息行:DeepSeek 官方路由標「梁文峯/梁文谷」,其他路由寫「峯價/谷價」,一口價條目不標註。

第三方中轉也認

官方路由按刊例價精確計價。第三方中轉只要在響應裏報用量就照樣記賬:模型名命中價目表按刊例價計(峯谷或一口價),未命中按 flash 價估算並在賬單裏標明。注意第三方的費率是本地估算,實際扣費以你的賬單爲準。

價目表可視化編輯

設置頁新增獨立「喵緩存賬單」標籤頁(與「通用」「模型」平級),可以添加、修改、恢復預填,改完即時生效,無需重啓。包根的 rates.yml 是預填層,改它才需要重啓 dsh web。條目寫壞會自動跳過並警告,不會弄崩 DSH。

模型分價

V4 Flash / V4 Pro / V4 Flash Vision Exp 單價不同,按每步實際使用的模型計。

兩個按步計數

會話累計按各筆事件時刻的峯谷費率逐筆累加,跨輪不比價。另有兩個按步計數:「緩存失效次數」指該步 API 返回了緩存寫入 token(寫入即前綴變更、舊緩存作廢);「完全失效次數」指該步有輸入但緩存命中爲 0。官方 API 不報緩存寫入 token,「緩存失效次數」僅部分中轉可計;全新會話第一輪沒有緩存可命中,會如實顯示金額並計入「完全失效次數」,屬正常現象。

金額精度自適應

小於 0.01 的金額四捨五入保留一位有效數字,0.005、0.0003 這類零頭一眼可見;大於等於 0.01 的四捨五入到分。

平均累計花費曲線

插件爲每個會話留存每一步的真實花費,按「供應商/模型/峯谷」聚合最近 30 天會話的平均累計花費曲線,並在同一張圖裏畫出本會話的實際累計花費。對照曲線斜率,可以直觀看出本會話的花費增速與歷史平均的差異。

右欄數據兩節

曲線圖縮在左半邊,右半邊兩節數據:「消耗比較」包含讀代碼、緩存、緩存失效;「緩存」包含完全失效次數、緩存時間估算與現在失效可能(後者爲佔位待實現)。桌面端懸停標籤各有解釋,觸屏設備同樣顯示,只是沒有懸停解釋。

安裝與啓用

安裝命令:

dsh plugin --profile web add github:Phant0Meow/dsh-meow-cachebilling

安裝即生效:安裝時自動編譯(包內含 prepare 腳本)、自動掛載,重啓 dsh web 後啓用,無需任何配置。

一個已知的坑:pnpm ≥10 默認會阻止安裝期的構建腳本,首次 add 可能失敗並提示 allowBuilds。按提示把輸出的鍵加進 profile 的 pnpm-workspace.yaml 後重跑即可。

卸載命令:

dsh plugin --profile web remove meow-cachebilling

重啓 dsh web 後不再加載。

典型用法

1、查看賬單:點開輸入框右側的上下文圓環,彈層底部就是賬單。

2、自定義價目表:先在設置頁「喵緩存賬單」標籤頁添加、修改或恢復預填,改完即時生效;要改預填層,就修改包根 rates.yml,峯谷條目用 days × ranges 叉乘,一口價用 const,時區用 IANA 名,改後重啓 dsh web。

內置價目表爲 2026-08-17 官方刊例(元 / 百萬 token):

模型 峯(命中 / 未命中 / 輸出) 谷(命中 / 未命中 / 輸出)
deepseek-v4-flash 0.1 / 3 / 9 0.05 / 1.5 / 4.5
deepseek-v4-pro 0.3 / 9 / 27 0.15 / 4.5 / 13.5

數據口徑與說明

  • 賬目只認 usage 的 input / cacheRead / cacheWrite / output 四類 token。
  • 每步花費歷史存於 DSH 官方存儲層(meow_cachebilling.json),曲線隨會話越攢越準,舊會話再次活動時按當前價目表回填。
  • 三級賬單與緩存失效次數統計來自 better-er 的大幅重寫(PR #2),對非 DeepSeek 官方 API 的顯示支持也來自其改動。
  • 如果你想 fork 改代碼,注意 lib/client.js 的 factory 必須以 return module.exports 結尾,否則模塊導出爲 undefined,DSH 啓動即 fail-loud。

適用場景與注意

適合這幾類使用者:

1、長上下文、多輪任務跑得多,想知道每一步、每一輪、整個會話實際花多少錢的人;
2、用第三方中轉,想要一份本地賬目做參照的人;
3、關心峯谷價差,想按事件時刻的費率逐筆對賬的人。

注意:插件以當前 dsh 進程的權限運行,安裝前建議先檢查源碼與許可證(本項目爲 MIT)。rates.yml 是預填層,隨版本更新;你在設置頁的修改是獨立一層,即時生效。

結尾

meow-cachebilling 把「緩存命中率」翻譯成「這一步到底花了多少錢」,賬單就住在上下文圓環的彈層裏,看上下文用量的同時順手對賬。DSH 的理念是一切皆插件,計費這類能力同樣由社區插件補齊。

  • 插件目錄頁:https://www.skillhub.cn/plugins/Phant0Meow/dsh-meow-cachebilling (社區獨立目錄,與 DeepSeek / 幻方無官方從屬關係)
  • GitHub 倉庫:https://github.com/Phant0Meow/dsh-meow-cachebilling
羽毛球分组比赛记分
小程序二维码

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

小夜