前言¶
在 DeepSeek Harness(DSH)裏跟模型多輪對話時,內置統計能看到用量,但要把 Token 換算成按官方價目表(含高峯與空閒時段)估算的人民幣,往往還要自己對照文檔手算。dsh-token-spend 是社區維護的客戶端類插件:在聊天輸入框上方 Composer 統計行裏,緊挨內置「活動」「用量」,增加一塊 (¥) 1.56 · 37M 形式的控件,用與內置 tokenUsage 同源的數據,按 DeepSeek 公開單價實時彙總當前會話花費。下面介紹它的能力、安裝方式與可選配置。
這是什麼¶
- 名稱:
dsh-token-spend(npm 包名相同) - 維護者:kelaocai
- 分類:客戶端(瀏覽器半掛載 Composer dock;Host 半註冊會話投影)
- 倉庫:https://github.com/kelaocai/dsh-token-spend
- 許可證:MIT(資料中 package.json 與 README 一致)
- 版本:資料記載當前 npm 版本爲
0.1.1 - 環境要求:DSH 0.2.2-rc.1 或更高(依賴會話投影與 composer dock 槽位)
插件只讀取當前會話已提交的 Session 事件,不聯網、不上傳數據;金額是按公開單價的估算,不等於平臺賬單。
核心功能¶
界面與交互¶
在 Composer dock 中多一個花費控件,實時顯示當前會話累計 Token 與按官方規則估算的 CNY 金額。點擊可展開明細,包括:
- 緩存命中 / 未命中 / 輸出的 Token 與金額
- 緩存命中率
- 高峯 / 空閒時段金額
- 按模型彙總
每一輪模型調用結算後立即刷新,節奏與內置 usage 統計一致,無需刷新頁面。
計價規則(默認)¶
- Token 來源:provider 上報的 usage,與內置
tokenUsage一致。 - 時段:高峯爲北京時間工作日 09:00–12:00、14:00–18:00;其餘時間(含週末)按空閒價;空閒價爲高峯價的一半。判定所用默認時區爲
Asia/Shanghai。 - 默認價目(元 / 百萬 tokens,來源 README 引用的 DeepSeek 模型 & 價格):
| 模型 | 輸入(緩存命中)峯/閒 | 輸入(緩存未命中)峯/閒 | 輸出 峯/閒 |
|---|---|---|---|
deepseek-flash |
0.04 / 0.02 | 2 / 1 | 8 / 4 |
deepseek-v4-pro |
0.30 / 0.15 | 9 / 4.5 | 27 / 13.5 |
deepseek-v4-flash、deepseek-v4-flash-vision-exp 等歷史別名按 flash 價格計費。若 provider 上報了 cacheWriteTokens,默認按緩存未命中價計,可在配置中用 cacheWrite 覆蓋。
實現要點(便於排障)¶
- Host 半註冊
tokenCost會話投影,摺疊assistant/message、assistant/attempt、model/selection等事件,按「模型 × 高峯/空閒」累計 Token;狀態隨會話 checkpoint 持久化。 - 瀏覽器半在
conversation.composer.dock註冊控件,通過useProjection('tokenCost')渲染;無 Host 半時退化爲只顯示 Token。
安裝與啓用¶
安裝前請自行查看倉庫源碼與 MIT 許可證;插件在當前 DSH 進程權限下運行,與所有 DSH 插件一樣,安裝即信任其讀寫 Session 投影與 UI 註冊行爲。
方式一:市場索引(推薦)¶
- 在 DSH「插件」頁啓用實驗插件 自定義插件索引(
@deepseek-ai/dsh-experimental-plugin-market-bundle)。 - 打開「發現」頁 → 添加索引源,粘貼:
https://cdn.jsdelivr.net/gh/kelaocai/dsh-token-spend@main/market/index.json
備用地址:
https://raw.githubusercontent.com/kelaocai/dsh-token-spend/main/market/index.json
- 搜索
dsh-token-spend,點擊安裝。
社區插件目錄站點(如 skillhub.cn 上的條目)是獨立索引,與 DeepSeek / 幻方無官方從屬關係;上述索引 URL 以倉庫 README 爲準。
方式二:從 Git 倉庫安裝¶
dsh plugin add git+https://github.com/kelaocai/dsh-token-spend.git
dsh plugin add 僅將包納入 profile;隨後在「插件」頁啓用名爲 dsh-token-spend 的 bundle。
方式三:npm¶
dsh plugin add dsh-token-spend
包頁:https://www.npmjs.com/package/dsh-token-spend
典型用法¶
開箱即用¶
安裝並啓用 bundle 後,默認使用 README 內置的 DeepSeek 官方價格表,無需改配置即可在 Composer 上看到 (¥) … · …M 控件;點擊即可查看明細。
覆蓋價格與時段¶
需要自定義幣種、高峯窗口、法定節假日或未知模型兜底價時,在 profile 的 cordis.patch.yml(路徑:~/.dsh/profiles/<profile>/cordis.patch.yml)中追加 token-spend 配置塊。示例(與 README 一致,可按需刪減字段):
- id: token-spend
config:
currency: '¥'
timeZone: Asia/Shanghai
peakWeekdays: [1, 2, 3, 4, 5]
peakWindows:
- [9, 12]
- [14, 18]
# 官方規則裏法定節假日全天按空閒價,但插件不內置節假日日曆;需要時逐日補充
holidays: ['2026-10-01', '2026-10-02']
models:
deepseek-flash:
peak: { cacheMiss: 2, cacheHit: 0.04, output: 8 }
offPeak: { cacheMiss: 1, cacheHit: 0.02, output: 4 }
deepseek-v4-pro:
peak: { cacheMiss: 9, cacheHit: 0.3, output: 27 }
offPeak: { cacheMiss: 4.5, cacheHit: 0.15, output: 13.5 }
fallback:
peak: { cacheMiss: 1, cacheHit: 0.01, output: 2 }
offPeak: { cacheMiss: 0.5, cacheHit: 0.005, output: 1 }
主要字段含義:
| 字段 | 默認 | 說明 |
|---|---|---|
currency |
¥ |
金額前綴 |
timeZone |
Asia/Shanghai |
判定高峯/空閒所用時區 |
peakWeekdays |
[1,2,3,4,5] |
高峯星期(0=週日) |
peakWindows |
[[9,12],[14,18]] |
高峯小時區間,左閉右開 |
holidays |
[] |
YYYY-MM-DD,當日全天按空閒價 |
models |
內置 DeepSeek 價格 | 鍵爲模型 id,或用 provider/model 精確覆蓋 |
fallback |
null |
未知模型兜底費率;null 表示只顯示 Token、不計金額 |
改價不需要遷移歷史數據:投影狀態只保存 Token 計數,金額在發佈給客戶端時計算。
適用場景與注意¶
適合誰:在 DSH Composer 里長時間調試智能體、需要當場感知「這一輪又花了多少 Token / 大概多少人民幣」的開發者;尤其適合需要區分緩存命中與高峯計價的場景。
邊界(README 已寫明):
- 只統計當前會話的模型調用;子代理會話是獨立 Session,不計入父會話。
- 聯網搜索/抓取按次計費(文檔寫明 ¥5/1000 次)不在 Token 計費範圍內。
- 未上報 usage 的模型調用無法計入(與內置
tokenUsage相同限制)。 - 法定節假日需手動配置
holidays,否則僅按「工作日 + 時段」規則計算。 - 卸載後註冊隨插件 fiber 釋放;平時無網絡請求、無遙測、不寫文件、不調用模型。
結尾¶
dsh-token-spend 把本會話 Token 用量與按 DeepSeek 公開峯/閒單價估算的 CNY 花費,收進 Composer dock 一行控件,數據與內置 usage 同源,配置可完全本地覆蓋。若要查找社區目錄條目或閱讀完整說明,可打開 skillhub.cn 插件頁 與 GitHub 倉庫。