前言¶
DSH 把每一次模型調用的 usage 都寫進了會話日誌,日誌是 session.v4.jsonl.zstd,落在
~/Library/Application Support/DeepWhale Desktop/dsh-home/sessions 下,按工作區與會話分目錄。
想算清這段時間花了多少錢,傳統做法是自己拼一條管道:zstd -dc 解壓、再用 jq 把 usage
撈出來、按時間窗聚合、再套定價表換算。日誌一多,這一步基本沒人會去做。
下面介紹的 feely0208/dsh-token-cost 把這件事做完了:插件讀本機日誌,把 token 用量和花費
做成側欄面板,當期花費、緩存節省、模型與會話排行、預算進度都能直接看到,還能導出 CSV / JSON。
先說清楚一點:金額是本機估算,不是官方賬單——按本機日誌裏逐次調用的 usage 與 DeepSeek
官方定價頁快照計算,不含平臺贈送額度、優惠和匯率波動。
這是什麼¶
插件名是 @deepwhale-cn/dsh-token-cost,倉庫 feely0208/dsh-token-cost,維護者 feely0208,
作者署名是溫州深鯨智能科技有限公司,許可證 MIT。當前版本 0.1.1,包聲明滿足的宿主範圍是
dsh >=0.1.0-rc.6 <0.3.0、node >=18。
定位一句話:把 DSH 會話日誌裏的 token usage 變成側欄裏的花費視圖,只讀本機數據,不聯網、
不上傳。它同時給出按模型和按會話的排行,讓「錢花在哪」這個問題有可回溯的答案,而不是
只能看賬單總數。
面板裏有什麼¶
| 區塊 | 內容 |
|---|---|
| 四個窗口 | 今日 / 近 7 天 / 近 30 天 / 本月(按本地自然日,本月按本地 1 日起) |
| 概覽 | 花費(美元 + 人民幣)、緩存命中節省、緩存命中率、調用次數 / token 總量 |
| 預算進度 | 本月花費對比預算,進度條 + 剩餘;預算只存在本機瀏覽器 localStorage |
| 日趨勢 | 近 30 天每日花費柱狀圖(懸停看當天金額 / 次數 / token) |
| 按模型 | 按金額排序,含服務商;第三方模型標「未知價」不計入金額 |
| 按會話 | 前 20 個最貴會話,帶工作目錄、token 量、是否子代理 |
| 導出 | CSV(按日 / 會話 / 模型)與 JSON(含彙總與明細),只含本機統計 |
預算這一項值得單獨說一句:預算數字只存在瀏覽器 localStorage 裏,不改任何配置文件,也不會
同步到別處。想設默認預算,用環境變量 DSH_TOKEN_COST_BUDGET。
安裝與啓用¶
安裝命令來自 README 原文:
dsh plugin --profile web add @deepwhale-cn/dsh-token-cost
裝好後側欄會多一個「Token 花費」圖標,點開就是上面的面板。
前置條件只有一個:系統裏有 zstd 可執行文件。沒有它讀不了 .zstd 日誌。macOS 可以
brew install zstd;插件默認會找 /opt/homebrew/bin/zstd、/usr/local/bin/zstd,也走 PATH,
不新增任何 npm 依賴。
數據從哪來¶
下面是默認路徑與目錄結構,只讀,不修改、不刪除、不移動任何日誌:
~/Library/Application Support/DeepWhale Desktop/dsh-home/sessions/--<workspace>--/<sessionId>/session.v4.jsonl.zstd
日誌是 zstd 多幀、追加寫入。插件從中讀取兩類事件(README 註明 2026-10-29 用真實日誌核過):
assistant/message:取data.usage { inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens, totalTokens },模型與服務商在data.message.source。compaction/summary:取data.usage,服務商和模型在data.provider/data.model。
解析全部在本機進程內完成,不聯網、不上傳;導出文件也不會離開本機。可用環境變量:
| 變量 | 作用 |
|---|---|
DSH_SESSIONS_DIR |
覆蓋會話日誌根目錄 |
DSH_ZSTD_BIN |
指定 zstd 可執行文件路徑 |
DSH_TOKEN_COST_USD_CNY |
美元→人民幣匯率(默認 7.2) |
DSH_TOKEN_COST_BUDGET |
默認月度預算;≤1000 視爲美元,否則視爲人民幣 |
價格口徑¶
價格快照取自 2026-10-29 的 DeepSeek 官方定價頁,單位是美元 / 百萬 tokens:
| 模型 | 輸入(緩存命中) | 輸入(緩存未命中) | 輸出 |
|---|---|---|---|
deepseek-flash(V4.1-Flash-1017)峯時 |
$0.006 | $0.30 | $1.20 |
deepseek-flash 閒時 |
$0.003 | $0.15 | $0.60 |
deepseek-v4-pro 峯時 |
$0.044 | $1.32 | $3.96 |
deepseek-v4-pro 閒時 |
$0.022 | $0.66 | $1.98 |
計算規則:
- 閒時價是峯時的一半;峯時 = 週一至週五
01:00–04:00、06:00–10:00UTC,其餘(含週末)爲閒時。 - 每條調用按發生時刻逐條判斷峯 / 閒,再按三檔累加。
- 緩存節省 = 命中 token ×(未命中價 − 命中價)。
- 舊名
deepseek-v4-flash/deepseek-v4-flash-vision-exp按官方註釋歸到 Flash 價格。 - 只有
deepseek-official/deepseek-account兩個服務商按官方價計;其它網關(例如agnes)標「未知價」,只統計 token、不計金額,並單獨提示。 - 未扣除中國法定節假日(官方節假日全天按閒時),所以法定節假日會按峯時多算,屬於偏保守估算。
- 官方保留調價權利,插件只是某一時刻的快照,不構成賬單。
驗證與發佈前檢查¶
README 給出的驗證命令:
node --check lib/index.js # 以及 lib/*.js、tests/*.mjs
node scripts/preflight-client.mjs . # 客戶端 bundle 預檢(模擬宿主加載/激活/渲染)
node tests/smoke.mjs # 定價 + zstd 多幀假日誌端到端
node tests/http.mjs # HTTP 出口
node tests/client-render.mjs # 用真實形狀的報告渲染面板,抓渲染期異常
其中 preflight-client.mjs 是白屏事故後的強制關卡:任一客戶端插件 entry 激活失敗,宿主整頁
會顯示「Failed to load plugins」。package.json 裏 prepublishOnly 也指向同一個腳本,所以
發佈前必須跑。
適用場景與注意¶
適合這幾類人:想知道「這兩天到底花了多少、花在哪個模型和哪個會話上」的 DSH 使用者;想盯
本月預算的;想驗證緩存命中到底省了多少的人。對只想看官方賬單的人來說,面板裏的金額不夠
精確,直接用 DeepSeek 後臺賬單更合適。
注意事項:
- 插件以當前 dsh 進程的權限運行,會讀本機會話日誌目錄。安裝前應當先檢查源碼與許可證(MIT)。
- 日誌格式是 DSH 的內部格式,未來版本若改結構,插件會顯示「沒有數據」而不是猜測。
- 已知盲區:會話標題生成、Search & Fetch 等不在會話日誌 usage 裏的調用不會計入;平臺贈送餘額、
限時折扣、匯率波動也不在口徑裏。
結尾¶
這個插件的價值不在於讓計費更精確,而在於讓本機已有的日誌產出一個能日常看一眼的視圖:
當期花了多少、緩存省了多少、錢花在哪個會話上。數據全程留在本機,導出與否由使用者自己點。
目錄頁:https://www.skillhub.cn/plugins/feely0208/dsh-token-cost
GitHub:https://github.com/feely0208/dsh-token-cost