dsh-token-pill:DSH 側欄 DeepSeek 花費膠囊

前言

在 DeepSeek Harness(DSH)裏開多個會話、連續調模型時,token 消耗和賬單往往要另外打開官方用量頁才能對照。社區裏也有把用量做進側欄的做法,但若只靠 session/list 的摺疊投影,冷會話在首次摺疊前可能從列表裏漏計,今日總花費會偏低。下面介紹的 dsh-token-pill(維護者 ChrisZqaq)把「今日總花費 + 當前峯谷時段」收在側邊欄底部一枚膠囊裏,懸停可展開明細;計價與彙總在宿主側完成,客戶端只負責展示。

這是什麼

dsh-token-pill 是 DSH 社區目錄中的客戶端類插件(當前 GitHub 星標爲 0)。它在側邊欄底部、用戶名上方一行顯示常態信息:當前峯谷時段與今日總花費;鼠標懸停展開(點擊可釘住)緩存命中、按模型拆分、當前價目、下次變價時間與餘額等明細。側邊欄收起時界面退化爲一個圓點。

社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;安裝前請自行查閱源碼與許可證,插件以當前 DSH 進程權限運行。

核心功能

側欄膠囊與明細

裝好後刷新頁面即可看到膠囊。展開明細包括:緩存命中情況、按模型拆分、當前價目、下次變價時間、餘額等(具體字段由宿主下發的視圖與客戶端渲染決定)。

計價規則(宿主側)

數據來源爲本機 Session 事件流裏每條 assistant/message 自帶的 usage,按事件發生的那一刻套用當刻 DeepSeek 價目(高峯全價、空閒半價)。

  • inputTokens:未命中輸入;cacheReadTokens:緩存命中(與未命中價差約 30–50 倍);cacheWriteTokens 計入未命中。
  • 模型取自 message.source.model,拿不到時回落到該請求的 request/header。價表中沒有的模型只統計 token、不計價,並在卡片裏點名,不套用鄰近模型價格。

價目(元 / 百萬 tokens,高峯價)如下;空閒時段 = 高峯價 × 0.5。定價出處見 DeepSeek 定價頁(README 註明 2026-11 覈對)。

模型 緩存命中 未命中輸入 輸出
deepseek-flash 0.04 2 8
deepseek-v4-pro 0.30 9 27

架構要點

宿主註冊 Session 投影 tokenPill,把每次響應按「本地日期 + 當刻峯谷」累加成按天賬本,再彙總爲跨會話的今日賬本,通過同源路由 GET /dsh-token-pill/usage 交給客戶端。客戶端不讀 RPC、不掃事件,價目只存在於 host/pricing.js,隨響應下發。

爲減少冷會話漏計,宿主使用 sessionQuery.observeSession() 逐個摺疊(冷安全、首次讀即落緩存),而不是僅依賴 session/list 裏對冷會話可能尚未生成的投影緩存行。宿主只讀本地事件,不聯網、不外發;聚合結果在宿主內存中緩存 15 秒。投影保留最近 7 天,膠囊只讀今天。

主要文件分工(摘自 README):

index.js              註冊投影、暴露聚合路由
host/pricing.js       價目、峯谷規則、usage → 成本
host/projection.js    按天賬本 + 摺疊邏輯 + 下發給客戶端的視圖
host/usage.js         跨會話聚合(observeSession 冷安全讀 + 15s 緩存)
client.js             膠囊、懸停卡、明細、餘額
locale/*.json         槽位標題(多語言)
scripts/verify.mjs    離線自檢

安裝與啓用

在 DSH 中通過插件面板或 plugin_manager 將本插件目錄作爲 bundle 安裝(target 填插件目錄的絕對路徑):

plugin_manager({ action: 'install_bundle', target: '<絕對路徑>/dsh-token-pill' })

安裝後刷新頁面,膠囊出現在側邊欄底部。package.json 中客戶端配置爲 platform: web、immediately: true,並注入 @deepseek-ai/dsh-api-remotes、@deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-ui-sidebar 等依賴,需與當前 DSH 環境兼容。

典型用法

日常無需額外配置:打開 DSH 並刷新後即可在側欄查看今日花費與峯谷。需要覈對計價邏輯或改價表時,維護者將價目集中在 host/pricing.js,改後重裝或熱更新 bundle 視你的 DSH 插件機制而定。

開發或貢獻前可在倉庫根目錄做離線自檢(不依賴宿主、瀏覽器或網絡):

node scripts/verify.mjs

自檢覆蓋槽位契約、雙語字典鍵集、峯谷判定、價目換算、宿主賬本摺疊、跨會話聚合與客戶端渲染兜底等。

適用場景與注意

適合:在本機 DSH 中長時間對話、希望側欄一眼看到今日 token 花費與峯谷,並需要按模型與緩存命中拆開看的開發者。

侷限(摘自 README「已知侷限」):

  1. 節假日不建模:法定節假日 DeepSeek 按空閒計費,但日曆每年變化;插件未寫死節假日表,節假日高峯讀數可能偏高(README 提到社區插件 dsh-board 在此類場景亦有類似問題)。
  2. 金額爲本機估算:官方用量在設置頁 webview 中,數據不迴流 JS,DSH 亦無賬單接口;README 稱實測與官方約差 0.4%,以官方賬單爲準。
  3. 只看本機會話:多設備/多客戶端用量不包含在內。
  4. 僅保留近 7 天投影:歷史用量需用官方用量頁。
  5. 首次冷讀略慢:冷會話第一次摺疊需讀日誌(十幾毫秒級),之後走緩存。

使用前請閱讀倉庫源碼並確認 MIT 許可證與上述邊界是否符合你的合規與準確性要求。

結尾

dsh-token-pill 把 DeepSeek 今日花費與峯谷收進側欄一枚膠囊,用宿主側 observeSession 聚合降低冷會話漏計風險,並把緩存命中與模型價目攤開給需要覈對的人。目錄與安裝說明見 SkillHub 插件頁,實現細節與自檢腳本見 GitHub 倉庫。

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

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

小夜