dsh-usage-panel:把 DeepSeek 側欄用量面板常駐在左欄底部

前言

用 DSH 做智能體開發和日常對話時,往往不止一個 DeepSeek 官方賬號,還可能接了 new-api 類的中轉站。DSH 本身不展示 API 用量:想確認餘額、今天花了多少、當前是高峯還是空閒時段,只能逐個打開各站點後臺,切賬號、翻賬單。側欄雖然常駐,卻缺一塊直觀的用量指示。

dsh-usage-panel 處理的就是這件事:在 DSH 左側邊欄底部嵌入一塊麪板,輪播顯示官方賬號(或手填 key)與各中轉站的餘額、今日消耗,官方站點額外標註當前處於高峯還是空閒時段。插件由 InkiChang 維護,屬於客戶端分類。

這是什麼

dsh-usage-panel 是 DeepSeek Harness 的一個客戶端插件。它不改 DSH 本身,而是在側欄底部追加一塊常駐面板;面板位於「記憶」這類底部入口之下、賬號行(頭像與用戶名)之上,採用嵌入排版而非浮層覆蓋。

它解決三類信息查詢:官方賬號餘額、new-api 中轉站餘額與今日/本月消耗、以及當前計價時段(官方高峯爲空閒的 2 倍,面板用「峯 / 閒」標記)。

核心功能

能力 說明
側欄常駐塊 嵌入側欄底部,位於底部入口之下、賬號行之上,寬度與左縮進同相鄰入口一致
多站點輪播 官方賬號、多個官方 key、多箇中轉站可同時存在,按間隔輪播
不遮擋其它入口 面板佔據側欄內的實際位置;其它插件新增底部入口時向上排布,兩者不重疊
餘額 + 今日消耗 每個站點兩行數字,未配置或出錯時給出原因與入口
峯 / 閒字塊 僅官方站點顯示,顏色隨主題自適應
懸停浮層 餘額與今日消耗;中轉站另有本月已用、本月起算日,官方另有高峯/空閒分賬
手動刷新 點擊面板上的時間即可立即刷新
設置浮層 增刪站點、測試連接、顯示開關、刷新間隔,全部在面板內完成
只存本機 令牌與 key 落在 ~/.dsh/usage-panel/config.json,不外發

核心的實現方式是:插件不註冊到 DSH 的插件入口表,因此不與「記憶」「導入會話」等入口競爭位置;它定位側欄底部的賬號行,在該行之前插入一個透明佔位元素,佔位高度等於面板自身高度,宿主佈局會把佔位下方內容下移,形成面板空間,面板繪製於佔位區域。宿主重繪側欄時佔位可能被清除,插件每 900 毫秒檢查一次並在缺失時補回。

這帶來三個直接後果:

  • 其它插件在底部新增入口時,面板位置不隨之移動,不會重疊。
  • 窗口尺寸、主題切換、站點輪播均不影響停靠位置,面板始終位於賬號行上方。
  • 側欄底部高度增加約 56 像素(等於面板高度),會話列表可見行數相應減少。

安裝與啓用

插件以本地目錄作爲 bundle 包安裝,而不是用包名拉取。先把本倉庫目錄下載到本機,然後在 DSH 會話裏讓插件管理器安裝:

# 在 DSH 會話裏讓插件管理器安裝本地目錄(換成你的絕對路徑)
plugin_manager action=install_bundle target="C:\path\to\dsh-usage-panel"

安裝或卸載插件後,需完整退出並重啓一次 DSH,否則側欄不會顯示該面板。原因是 DSH 在進程啓動時讀取插件清單並註冊後端入口與前端資源,運行中的進程不會因重裝而重建這份清單,僅刷新頁面(Ctrl+R)同樣無法加載新安裝的代碼,實測表現爲前端資源返回 404、側欄對應位置爲空。

生效規則需要記清:

  • 插件已安裝且只修改 client.js(界面部分)時,刷新頁面(Ctrl+R)即可生效。
  • 修改 index.js(後端),或重裝、卸載插件後,必須完整退出並重啓 DSH。

典型用法

安裝並重啓後,按下面順序配置即可開始讀取用量。

  1. 左欄底部出現用量面板後,點擊面板上的「設置」(尚未配置時顯示「去設置」),或從 設置 → Usage 面板 進入。
  2. 配置官方站點:默認「數據來源」爲 DSH 已登錄賬號,處於登錄狀態即顯示餘額,無需填 key。如需單獨跟蹤某個 key,將來源改爲「手填 API key」並填入 key。
  3. 添加中轉站:填寫站點地址(例如 https://<中轉站域名>)與訪問令牌。部分站點還需填寫數字用戶 ID(響應頭 New-Api-User),填寫後可正常取數。
  4. 點擊「測試連接」確認可讀取餘額後保存。

數據口徑上,官方站點餘額取自 GET /user/balance,今日消耗則由本機採樣推算:官方只提供餘額接口、沒有用量明細,插件記錄餘額隨時間的變化,用「當日首個樣本餘額 − 當前餘額」估算今日消耗,並按採樣時刻判斷該筆消耗落在高峯還是空閒時段。因此 DSH 未運行的時段不計入統計,插件首次使用的當天從啓動時刻起算。

中轉站按 new-api 的接口形態讀取:餘額來自 GET /api/user/self 的 data.quota 除以 /api/status 提供的 quota_per_unit;今日/本月已用按 /api/data/self、/api/log/self/stat、/api/log/self 三種接口的優先級嘗試,取到即止。「本月起算」顯示自然月首日。

配置項集中在設置浮層:

配置 位置 說明
刷新間隔 設置浮層 默認 300 秒,最小 60 秒
顯示哪些站點 設置浮層 關閉後該站點不參與輪播
數據來源 官方站點卡片 DSH 已登錄賬號 或 手填 API key
用戶 ID 中轉站卡片 站點要求 New-Api-User 時填寫
今天算節假日 設置浮層 強制把今天按空閒時段計價

配置文件爲 ~/.dsh/usage-panel/config.json(站點與令牌)與 ~/.dsh/usage-panel/samples.json(餘額採樣,保留 4 天)。

適用場景與注意

適合需要同時盯着官方賬號與 new-api 中轉站用量、又希望少離開 DSH 界面的場景。本着「一切皆插件」的理念,這類能力本就應由外部插件補齊。

使用前注意以下幾點:

  • 插件以當前 DSH 進程權限運行,安裝前應先檢查源碼與許可證(本插件爲 MIT)。
  • 手填官方 API key 是未驗證路徑:官方目前只對外提供 /user/balance,本機沒有可用的官方 key,這條分支未經實測;遇到問題時先改回「已登錄賬號」來源再排查。
  • 官方今日消耗是採樣估算,精度等於刷新間隔,插件未運行期間的消費不會被記錄。
  • 中轉站只按 new-api 的接口形態適配,其他面板(如 one-api 的不同分支)字段不一致時可能需要改 index.js 裏的取數函數。
  • 不做跨站彙總:側欄按站點輪播,浮層只顯示當前站點自己的數字,不同站點的餘額與單位不可直接相加。
  • 嵌入定位通過讀取 DSH 側欄現有 DOM 結構實現,不屬於官方接口;宿主調整側欄結構後表現爲面板回退爲貼在「記憶」入口上方,其餘功能正常。
  • 隱私方面,所有請求只發往設置裏填寫的站點以及 api.deepseek.com,沒有第三方統計上報;令牌只寫本機配置文件,界面上只顯示前三位與後四位。

小結

dsh-usage-panel 把多站點 DeepSeek 用量壓縮成側欄底部一塊常駐面板:餘額、今日消耗、峯/閒時段都能直接看到,增刪站點與測試連接在面板內完成,改動不會與其它側欄入口搶位置。對於同時使用官方賬號和 new-api 中轉站、且希望少切後臺的場景,算一個直接可用的補充。

目錄頁:https://www.skillhub.cn/plugins/InkiChang/dsh-usage-panel
GitHub:https://github.com/InkiChang/dsh-usage-panel

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

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

小夜