dsh-usage-cost:在 DSH 用量彈窗裏把 token 折算成金額

前言

在 DeepSeek Harness(DSH)裏跑對話時,界面會給出 token 分項:未緩存輸入、緩存讀取、緩存寫入、輸出。這些數字能說明「用了多少」,但很難直接對應「花了多少錢」——尤其 DeepSeek 官方價目表還區分峯谷時段,同一桶 token 在不同時段單價不同。

若你已經在用社區掛件 dsh-whale-widget 做餘額觀測,會希望用量彈窗裏的估算與掛件口徑一致。下面介紹維護者 O789Real 發佈的客戶端插件 dsh-usage-cost:它在 DSH 自帶的「用量」彈窗中,把每一行 token 右側追加人民幣金額,並在末尾增加合計行;價目與峯谷規則與 dsh-whale-widget 同源(DeepSeek 官方 CNY 價目表 + 峯谷價)。

這是什麼

dsh-usage-cost 是標準 DSH bundle 插件(npm 包名 dsh-usage-cost,當前版本 0.2.0,MIT 許可證)。維護者在 DSH 0.2.0-rc.2(桌面端 / Web)上開發與驗證;package.json 聲明兼容 dsh 版本 >=0.2.0-0 <0.3.0-0。

插件分宿主半(lib/index.js:註冊靜態路由、向頁面注入加載腳本)與瀏覽器半(assets/usage-cost.js:價目、峯谷、標註、回執)。它不讀會話、不記賬、不介入模型請求,只在官方已有 DOM 上追加節點,全局對所有會話自動生效,無需逐會話開關或額外按鈕。

核心功能

覆蓋的兩個彈窗

  1. 每條回答下方「用量 xx」膠囊打開的 本輪用量 彈窗。
  2. 輸入框下方 Token 用量 會話級膠囊打開的彈窗。

界面效果

在每行 token 數字右邊顯示對應金額,並在 dl 末尾追加「本輪費用」或會話級合計。示例(來自項目 README):

本輪用量                                        888,131 tok
─────────────────────────────────────────────────────────────
提供方 / 模型              deepseek-account/deepseek-flash
緩存命中                                            99.97%
未緩存輸入                          296 tok  ¥0.000592
緩存讀取                        886,912 tok  ¥0.0355
緩存寫入                              0 tok  ¥0.00
輸出                                923 tok  ¥0.007384
本輪費用                                    ¥0.0435(高峯價)

定價口徑

  • 單價單位:元 / 百萬 token,每類 token 爲 [空閒價, 高峯價] 二元組。
  • 支持的模型價目(README 表格):
  • deepseek-flash(含舊名 deepseek-v4-flash 等):緩存命中 0.02 / 0.04,未命中 1 / 2,輸出 4 / 8。
  • deepseek-v4-pro:緩存命中 0.15 / 0.30,未命中 4.5 / 9.0,輸出 13.5 / 27.0。
  • 峯谷:北京時間週一至週五(不含法定節假日)9:00–12:00、14:00–18:00 爲高峯;其餘時段(含週末、調休上班的週末、法定節假日全天)按空閒價;高峯價 = 空閒價 × 2。
  • 本輪用量彈窗:峯谷按該輪實際發生時刻判定(從打開中的膠囊回溯到 [data-turn-tail],讀取該輪動作行末尾時鐘),不是按你點開彈窗的時刻。合計行會標註 (高峯價) / (谷價)。
  • 會話級 Token 用量合計跨多輪,無法歸到單一時段,按當前時段單價估算,括注 (按當前時段價)。
  • 金額是本地估算,不是官方賬單;與小鯨魚掛件「每輪消耗」口徑一致,真實消費仍以官方賬單及掛件餘額觀測爲準。

運行時特性

  • 使用 MutationObserver 與 1.5s 輪詢兜底,官方重渲染後自動補回標註。
  • 僅使用 Node 內置模塊,無運行時 npm 依賴;瀏覽器半爲經典腳本(非 ES 模塊)。

安裝與啓用

插件以當前 DSH 進程權限運行。安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境策略。

推薦:DSH CLI 一行安裝

--profile 換成你的 profile 名(桌面端一般爲 desktop,純 Web 部署常見 web):

dsh plugin --profile desktop add dsh-usage-cost

也可在 DSH 設置 → 插件 中安裝。本地開發可指向源碼目錄:

dsh plugin --profile desktop add link:/絕對路徑/dsh-usage-cost

Windows:PowerShell 腳本

powershell -ExecutionPolicy Bypass -File .\install.ps1

卸載:

powershell -ExecutionPolicy Bypass -File .\uninstall.ps1

默認安裝到 E:\deepseekharness\.dsh\profiles\desktop;換 profile 時使用 -ProfileDir "<路徑>"。

裝完如何生效

界面 操作
桌面端應用窗口 完全退出並重開 DeepSeek Harness(注入表在宿主啓動時收集,無熱刷新)。
瀏覽器訪問 http://127.0.0.1:<port>/ 刷新頁面(F5)即可。

僅修改 assets/usage-cost.js 時刷新頁面即可;修改 lib/index.js 需重啓 DSH。

典型用法與改價

安裝並重啓(或刷新)後,正常使用 DSH 對話即可:點擊用量膠囊打開彈窗,金額會自動出現在 token 右側。無需配置即可使用內置價目表。

若 DeepSeek 官方調價,可在 <DSH_HOME>/usage-cost-pricing.json 覆蓋部分字段,無需重啓或刷新,每次打開彈窗會讀取最新值。示例:

{
  "currency": "¥",
  "models": {
    "deepseek-flash": { "hit": [0.02, 0.04], "miss": [1, 2], "out": [4, 8] },
    "my-gateway-model": { "hit": [0.1, 0.2], "miss": [2, 4], "out": [8, 16] }
  },
  "peakHours": [[9, 12], [14, 18]],
  "holidays": { "2027-01-01": 1 }
}

內置價目表位於 assets/usage-cost.js 頂部 @pricing-core 標記之間;官方調價時瀏覽器半與可選覆蓋文件兩處都需與 dsh-whale-widget 保持同步。每年 11 月國務院發佈次年放假安排後,需補充節假日日期(插件內 HOLIDAY_VALLEY 與掛件側均需更新)。

自檢與排障

界面未出現金額時,可按 README 建議順序檢查:

  1. http://127.0.0.1:19387/dsh-usage-cost/health 是否返回 200(宿主半與路由)。
  2. 響應中 clientJsServed 是否大於 0(頁面是否拿到客戶端腳本)。
  3. http://127.0.0.1:19387/dsh-usage-cost/report 中的 census(彈窗與膠囊是否被腳本識別)。

其他診斷入口:/dsh-usage-cost/pricing.json(當前生效價目)、<DSH_HOME>/usage-cost-host.log、<DSH_HOME>/usage-cost-report.jsonl。倉庫內可運行 npm test 做離線探針(語法、價目、假 DOM 標註行爲)。

適用場景與注意

適合誰:在 DSH 裏頻繁查看 token 分項、希望就地看到人民幣估算、且已與或計劃配合 dsh-whale-widget 對數的開發者與用戶。

邊界(README「已知邊界」):

  • 會話級合計僅爲當前時段估算,界面已標明。
  • 主要識別中英文官方 locale 行標籤;其他語言可能走文字兜底,存在標不出的情況。
  • 官方若大幅改動用量彈窗 DOM 或去掉輪次時鐘,可能影響峯谷回溯或標註。
  • 插件目錄(如 SkillHub 插件頁)爲社區收錄,與 DeepSeek / 幻方無官方從屬關係;DSH 生態遵循「一切皆插件」,安裝第三方 bundle 前請自行審閱代碼。

結尾

dsh-usage-cost 把 DSH 自帶用量彈窗從「純 token 計數」擴展爲「token + 按輪次峯谷的 CNY 估算」,並與 dsh-whale-widget 共用同一套官方價目與峯谷規則。若你需要在對話界面裏直接對賬每一輪的輸入/輸出成本,可先按上文命令安裝,重啓或刷新後即可在兩種用量彈窗中看到金額。

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

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

小夜