前言¶
DSH 插件生態支持功能的靈活擴展。在使用 LLM 進行開發或實驗時,監控不同項目的 Token 使用量與費用是必要的。dsh-token-cost 插件通過分析本地會話日誌,解決了按項目追蹤 Token 消耗和計算人民幣成本的問題。
這是什麼¶
這是由 gdy01 維護的 DSH 插件,用於顯示每個項目的 LLM Token 使用情況,並將 Token 轉換爲人民幣成本。成本分爲三部分:輸入(未命中緩存)、命中緩存、輸出。計算基於模型的官方標準價格表。
核心功能¶
- 讀取本地日誌:掃描 DSH 會話目錄(
~/.dsh/sessions或$DSH_HOME/sessions)下的session.jsonl.zstd或session.jsonl文件。 - 聚合統計:按會話的
cwd(當前工作目錄)和模型維度聚合數據。 - Web 界面集成:在 DSH Web 側邊欄底部添加 💰 按鈕,點擊可查看項目總計和可展開的模型級別明細。
- 零依賴:使用 Node 原生的
node:zlib解碼 Zstandard 壓縮的日誌,無運行時 npm 依賴。 - 本地 API:提供僅本地迴環訪問的 HTTP API。
安裝與啓用¶
必須安裝插件目錄下的 dsh-token-cost 子目錄,不能安裝父文件夾。由於路徑包含空格,安裝命令需要用引號包裹。
dsh plugin --profile web add "file:/Users/dg/Documents/dsh plugin/dsh-token-cost"
如果在當前目錄下,可以使用 $PWD:
cd /Users/dg/Documents/dsh plugin/dsh-token-cost
dsh plugin --profile web add "file:$PWD"
如果之前安裝了錯誤的父文件夾,需要先移除再安裝:
dsh plugin --profile web remove "dsh plugin"
dsh plugin --profile web add "file:/Users/dg/Documents/dsh plugin/dsh-token-cost"
安裝完成後,重啓 dsh web 並刷新瀏覽器,側邊欄底部會出現 💰 按鈕。也可以使用包含的安裝腳本:
./scripts/install.sh
工作原理¶
插件掃描 DSH 會話目錄,通過重放數據提取信息:
* session.cwd → 確定項目。
* request/header → 確定當前使用的模型。
* assistant/chunk { type: 'usage' } 和 assistant/message.usage → 提取輸入、命中、輸出 Token 數。
插件會去重同一 (turn, step) 的使用樣本,確保數據與 DSH 自身的 Token 計數邏輯一致。
價格表¶
默認使用 DeepSeek 官方標準價格(元 / 1M tokens):
| 模型 | 輸入(未命中) | 命中 | 輸出 |
|---|---|---|---|
deepseek-chat / deepseek-v4-flash |
2 | 0.5 | 8 |
deepseek-reasoner / deepseek-v4-pro |
4 | 1 | 16 |
對於價格表中未列出的模型,插件會列出其 Token 數但不計算費用。可以在配置文件的 cordis.patch.yml 中覆蓋價格配置。
API 接口¶
插件提供以下本地接口:
GET /dsh-token-cost/api/stats— 獲取按項目/模型的完整 JSON 統計。GET /dsh-token-cost/api/prices— 獲取當前生效的價格表。GET /dsh-token-cost/healthz— 健康檢查。
注意事項¶
- 插件基於 Node.js >= 22 運行。
- API 僅允許本地迴環訪問,安全性由 DSH 代理保證。
- 開源協議爲 MIT。