dsh-token-spend:在 Composer 裏實時看本會話 Token 與人民幣花費

前言

在 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 註冊行爲。

方式一:市場索引(推薦)

  1. 在 DSH「插件」頁啓用實驗插件 自定義插件索引(@deepseek-ai/dsh-experimental-plugin-market-bundle)。
  2. 打開「發現」頁 → 添加索引源,粘貼:
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
  1. 搜索 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 已寫明):

  1. 只統計當前會話的模型調用;子代理會話是獨立 Session,不計入父會話。
  2. 聯網搜索/抓取按次計費(文檔寫明 ¥5/1000 次)不在 Token 計費範圍內。
  3. 未上報 usage 的模型調用無法計入(與內置 tokenUsage 相同限制)。
  4. 法定節假日需手動配置 holidays,否則僅按「工作日 + 時段」規則計算。
  5. 卸載後註冊隨插件 fiber 釋放;平時無網絡請求、無遙測、不寫文件、不調用模型。

結尾

dsh-token-spend 把本會話 Token 用量與按 DeepSeek 公開峯/閒單價估算的 CNY 花費,收進 Composer dock 一行控件,數據與內置 usage 同源,配置可完全本地覆蓋。若要查找社區目錄條目或閱讀完整說明,可打開 skillhub.cn 插件頁 與 GitHub 倉庫。

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

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

小夜