前言¶
在 DeepSeek Harness(DSH)裏開多個會話、連續調模型時,token 消耗和賬單往往要另外打開官方用量頁才能對照。社區裏也有把用量做進側欄的做法,但若只靠 session/list 的摺疊投影,冷會話在首次摺疊前可能從列表裏漏計,今日總花費會偏低。下面介紹的 dsh-token-pill(維護者 ChrisZqaq)把「今日總花費 + 當前峯谷時段」收在側邊欄底部一枚膠囊裏,懸停可展開明細;計價與彙總在宿主側完成,客戶端只負責展示。
這是什麼¶
dsh-token-pill 是 DSH 社區目錄中的客戶端類插件(當前 GitHub 星標爲 0)。它在側邊欄底部、用戶名上方一行顯示常態信息:當前峯谷時段與今日總花費;鼠標懸停展開(點擊可釘住)緩存命中、按模型拆分、當前價目、下次變價時間與餘額等明細。側邊欄收起時界面退化爲一個圓點。
- 插件目錄頁:https://www.skillhub.cn/plugins/ChrisZqaq/dsh-token-pill
- 源碼與說明:https://github.com/ChrisZqaq/dsh-token-pill
- 許可證:MIT(見倉庫 README)
- 當前包版本:
0.2.2(見package.json)
社區插件目錄爲獨立站點,與 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「已知侷限」):
- 節假日不建模:法定節假日 DeepSeek 按空閒計費,但日曆每年變化;插件未寫死節假日表,節假日高峯讀數可能偏高(README 提到社區插件
dsh-board在此類場景亦有類似問題)。 - 金額爲本機估算:官方用量在設置頁 webview 中,數據不迴流 JS,DSH 亦無賬單接口;README 稱實測與官方約差 0.4%,以官方賬單爲準。
- 只看本機會話:多設備/多客戶端用量不包含在內。
- 僅保留近 7 天投影:歷史用量需用官方用量頁。
- 首次冷讀略慢:冷會話第一次摺疊需讀日誌(十幾毫秒級),之後走緩存。
使用前請閱讀倉庫源碼並確認 MIT 許可證與上述邊界是否符合你的合規與準確性要求。
結尾¶
dsh-token-pill 把 DeepSeek 今日花費與峯谷收進側欄一枚膠囊,用宿主側 observeSession 聚合降低冷會話漏計風險,並把緩存命中與模型價目攤開給需要覈對的人。目錄與安裝說明見 SkillHub 插件頁,實現細節與自檢腳本見 GitHub 倉庫。