dsh-usage-summary:DSH Web 輸入框旁的用量膠囊與明細麪板

前言

在 DeepSeek Harness(DSH)Web 裏跑長會話時,token 消耗和套餐額度往往分散在上游控制台或日誌裏,切換渠道後還要自己對照 provider。若只想在寫 prompt 的同一屏看到「當前會話用了多少、官方餘額還剩多少、Go 套餐三窗口走到哪」,需要在宿主 UI 裏掛一塊輕量彙總,而不是另開頁面查賬。

下面介紹社區插件 dsh-usage-summary(維護者 lionwill,分類:模型推理):在輸入框下方狀態欄註冊一顆緊湊膠囊,點擊向上展開面板,並按當前會話正在使用的渠道自動切換展示內容。

這是什麼

dsh-usage-summary 是 DSH Web 的用量彙總小組件:注入位置爲 conversation.composer.dock(order: -10),排在「N 輪 M 步 · tok/s」統計膠囊左側。面板錨定在膠囊上方,跟隨會話渠道在 DeepSeek 官方與 OpenCode Go 兩套視圖之間切換。

插件不內置密鑰;OpenCode Go 與 DeepSeek 的 key 由宿主 credentials 解析(默認引用 OPENCODE_GO_API_KEY / DEEPSEEK_API_KEY,可在 profile 配置裏改)。

兩種展示模式

當前會話渠道 膠囊示例 面板標題 面板內容
DeepSeek 官方(deepseek-official / deepseek-account) ● DS ¥128.40 DeepSeek 官方餘額 官方 token(未命中輸入 / 緩存命中 / 輸出)、按時段計費的估算金額、賬戶餘額;不顯示 Go 套餐
OpenCode Go(其他情況) ● Go 5h 12% · 周 8% · 月 46% OpenCode Go 用量彙總 頂部「本會話」行(僅 Go 渠道 token 與調用次數);下方 5 小時 / 周 / 月進度條與重置時間

既有交互:進度與圓點顏色默認綠 <60%、60–85% 黃、≥85% 紅;點膠囊開面板,點外部或 Esc 收起;60 秒自動刷新;面板內 ↻ 強制刷新;取數失敗顯示錯誤與重試。

DeepSeek 官方模式下,顏色按餘額金額判定(餘額 < ¥10 橙、< ¥1 紅),與 Go 模式的可調閾值無關。

顏色閾值(面板內 ⚙)

Go 模式的進度條、百分比與膠囊圓點共用三檔顏色,默認切分點爲 60 / 85。打開面板後點標題欄 ⚙ 可改橙色起點與紅色起點,需滿足 1 ≤ 橙色起點 < 紅色起點 ≤ 100,否則拒絕保存。

保存後立即生效,寫入瀏覽器 localStorage(鍵 dsh-usage-summary:thresholds)。膠囊圓點取三個窗口裏最高百分比來着色。該設置隻影響本瀏覽器顯示,不在服務端 cordis.patch.yml 裏配置。

歷史會話與後臺索引

宿主內存通常只保留當前進程打開過的會話。插件通過 ctx.sessionPersistence 讀持久化日誌,並在後臺靜默全量索引:

  1. 啓動時 sessionPersistence.list() 枚舉已存會話,按最近活動時間倒序排隊摺疊,會話之間默認間隔 120ms。
  2. 面板打開時若該會話尚未索引完,「本會話」顯示 統計中…,打開期間每 2 秒輪詢,完成後自動變爲數字。
  3. 點 ↻ 會把當前會話插到隊列最前並等待結果(默認最長 indexTimeoutMs 8s)。
  4. 索引在內存中只建一次;每 5 分鐘按 revision 複查已存日誌,有變化才重摺疊。

索引過程不寫日誌、不發通知、不佔用會話。

數據來源與統計方式

Host 提供兩個 HTTP 端點(默認前綴可在配置裏設爲 apiPath: /usage-summary/v1):

端點 用途
GET /usage-summary/v1/plan OpenCode Go 套餐用量(host 輪詢上游 https://opencode.ai/inference/go/v1/usage,60s 緩存)
GET /usage-summary/v1/session?session=<id> 當前會話彙總:路由判定 + 官方/Go 本地統計 + 餘額;未索引歷史會話返回 pending:true,&refresh=1 觸發高優先摺疊

用量統計在 host 側摺疊會話持久日誌(request/header 判路由,assistant/message 的 source.provider + usage 記賬),不額外發起推理。餘額優先匹配認證方式:API-key 走官方 /user/balance,賬號路由走 DSH 賬號平臺錢包,失敗會回退另一來源(60s 緩存)。官方花費按 2026-10-17 價目表逐次按北京時間峯/閒時段估算;法定節假日未建模,Search/Fetch 按次費用不計。

安裝與啓用

從本地目錄安裝(路徑須爲絕對路徑且無空格):

dsh plugin --profile web add link:/絕對/無空格/路徑/dsh-usage-summary

從 npm 打包的 tgz 安裝同樣可行(README 示例文件名爲 dsh-usage-summary-0.5.0.tgz,以你手頭的包爲準):

dsh plugin --profile web add /絕對路徑/dsh-usage-summary-0.5.0.tgz

首次安裝或升級 host 半邊後需要重啓 dsh web;僅修改 lib/client.js 時刷新頁面即可。

卸載:

dsh plugin --profile web remove dsh-usage-summary

可選配置

在 profile 的 cordis.patch.yml 中按插件 id 覆蓋,例如:

- id: usage-summary
  config:
    apiBase: https://opencode.ai/inference/go/v1
    apiKeyEnv: OPENCODE_GO_API_KEY
    apiPath: /usage-summary/v1
    refreshMs: 60000
    timeoutMs: 15000
    goProviders: [opencode-go]
    deepseekApiBase: https://api.deepseek.com
    deepseekKeyEnv: DEEPSEEK_API_KEY
    deepseekProviders: [deepseek-official, deepseek-account]
    deepseekAccountVersion: 1.0.0
    balanceRefreshMs: 60000
    indexDelayMs: 120
    indexRescanMs: 300000
    indexTimeoutMs: 8000
    deepseekPrices:
      deepseek-flash:
        peak: { cacheHit: 0.04, cacheMiss: 2, output: 8 }
        offPeak: { cacheHit: 0.02, cacheMiss: 1, output: 4 }
      deepseek-v4-pro:
        peak: { cacheHit: 0.30, cacheMiss: 9, output: 27 }
        offPeak: { cacheHit: 0.15, cacheMiss: 4.5, output: 13.5 }

擴展新渠道時,需在配置裏列出要計入「本會話」的 provider id,並在有餘額/套餐上游接口時增加 fetch 適配;目前內置 Go 與 DeepSeek 官方兩組,不會隨 DSH 設置頁裏的「渠道」自動接入。

典型用法

  1. 安裝並重啓 dsh web 後,打開任意會話,在輸入框下方狀態欄左側找到用量膠囊。
  2. 使用 DeepSeek 官方 provider 時,膠囊顯示餘額縮寫;點開可查看本會話 token 分項與估算花費。
  3. 使用 OpenCode Go 時,膠囊顯示三窗口最高佔用摘要;點開可看「本會話」Go 用量與套餐進度,必要時點 ↻ 刷新或 ⚙ 調整顏色閾值。
  4. 打開歷史會話時,若「本會話」短暫爲「統計中…」,等待後臺索引或點 ↻ 優先統計。

適用場景與注意

適合長期在 DSH Web 裏切換 DeepSeek 官方與 OpenCode Go、又希望在同屏掌握額度與會話 token 的開發者。插件以當前 dsh 進程權限運行,安裝前建議閱讀源碼與 MIT 許可證,並確認 credentials 與環境變量配置符合你的安全策略。

已知限制包括:會話日誌依賴 Session.snapshotEvents()(deprecated);只統計成功上報 usage 的消息;deepseek-account 餘額需賬號插件已登錄,否則回退 API-key 餘額;缺少 sessionPersistence 時歷史會話可能取數失敗;會話很多時首次後臺索引需數秒。金額爲估算,勿當作賬單唯一依據。

結尾

dsh-usage-summary 把 DeepSeek 官方餘額/本會話 token 與 OpenCode Go 套餐窗口收進狀態欄一顆膠囊,減少在 Harness 內外來回查用量的切換成本。詳情與安裝說明見 SkillHub 目錄頁與 GitHub 倉庫:

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

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

小夜