DSH 餘額面板插件:實時監控 OpenCode Go 與通用配額

在使用 DeepSeek Harness (DSH) Web UI 進行開發時,需要頻繁確認當前會話的 Provider 配額或現金餘額。手動切換頁面或查看控制台既低效又不直觀。該插件在 DSH Web 界面右側邊緣添加了一個常駐浮動卡片,根據當前會話的 Provider 自動切換數據源。

插件定位

這是由 MST19711 維護的客戶端插件,核心是一個可擴展的後端架構。它不僅支持 OpenCode Go 的訂閱配額,還兼容 Zhipu 和 DeepSeek 的按量計費餘額。噹噹前會話使用的模型命中某個已接入後端時,會在右側邊緣顯示一張常駐小窗;切換到未接入的 provider 時自動隱藏。

核心功能

  1. 浮動卡片
    顯示在 DSH Web UI 右側邊緣。面板內容按當前 Provider 自動選擇,同一時刻只顯示一張。卡片包含標題、當前模型名、數據行以及更新時間戳。

  2. 自動選擇機制
    插件內置 OpenCode Go、Zhipu、DeepSeek 三種後端。根據當前會話的 Provider ID 或 BaseURL 自動匹配對應後端。

  3. OpenCode Go 訂閱配額
    支持訂閱配額展示,包含 5h 滾動、本週、本月三個維度的窗口。
    * 展示內容:剩餘百分比、重置倒計時、進度條。
    * 顏色提示:剩餘比例 ≤30% 顯示橙色,≤10% 顯示紅色。

  4. 通用餘額後端
    * Zhipu:支持按量計費現金餘額(可用餘額、累計充值、累計消費)。贈送和凍結餘額在非零時出現。徽章圓點按絕對餘額提醒(<¥10 紅色,<¥50 橙色)。
    * DeepSeek:支持按量計費現金餘額。展示可用餘額、其中充值、其中贈送。當賬戶不可用(is_available: false)時,會追加狀態行。徽章圓點按幣種閾值提醒(CNY <¥10 / <¥50,USD <\(2 / <\)10)。

安裝與驗證

安裝

使用官方提供的安裝腳本,默認安裝到 web profile:

bash install.sh

驗證

運行驗證腳本可以測試後端邏輯。腳本支持離線模式(使用假上下文和假上游)和在線模式(讀取 ~/.dsh/.credentials.yaml):

node test-deepseek-backend.mjs          # 離線驗證
node test-deepseek-backend.mjs --live   # 在線驗證

擴展與安全

擴展新供應商

插件採用多後端可擴展架構,客戶端無需改動即可擴展。在 lib/index.js 的 BACKENDS 數組中添加後端對象即可:

{
  id: 'my-provider',
  displayName: 'My Provider',
  cache: new TTLCache(60_000),
  matchesProvider(id, node) { ... },
  async resolvePanel(ctx, providerId, node) {
    return {
      ok: true,
      panel: {
        title: 'My Provider',
        rows: [ { label: '剩餘', value: '…', bar: { fill: 42, tone: 'warn' } } ],
        chip: { text: '…', tone: 'ok' },
        foot: '…',
      },
    };
  },
}

安全與防護

  • API Key 安全:API key 僅經 DSH credentials 服務在服務端進程內解析,key 永不進入瀏覽器、不寫入日誌。
  • 獨立緩存:各後端獨立緩存。OpenCode Go 緩存 15s,Zhipu 和 DeepSeek 各緩存 5min。失敗不緩存,下次輪詢重試。
  • 路由防護:路由具備同源/loopback 防護,跨站讀取返回 403。

升級說明

從舊版本升級時,需先移除舊包名,並替換 dsh.profile.bundles 中的包名,重啓 DSH 後生效。

總結

該插件爲 DSH 用戶提供了直觀的實時數據反饋,解決了在 Web UI 中監控配額和餘額的痛點。更多細節請參考 GitHub 或 社區目錄。

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

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

小夜