前言¶
在 DeepSeek Harness(DSH)裏同時配置多家 LLM Provider 時,用量窗口、充值餘額往往分散在各家的控制台或 CLI 裏。切換網頁、對照重置時間,既打斷開發節奏,也容易在額度觸頂後才察覺。下面介紹社區插件 dsh-quota-windows:在 DSH 左側欄增加「額度窗口」入口,對已在設置中添加且插件適配器支持的 Provider,在同一頁展示訂閱用量窗口與賬戶餘額(只讀拉取)。
這是什麼¶
dsh-quota-windows(GitHub:LXD-8/dsh-quota-windows)由維護者 LXD-8 發佈,歸類爲 客戶端 插件。它在 Harness 左側邊欄註冊「額度窗口 / Quota windows」項,背後是一頁網格卡片:每張卡對應一個已添加且具備公開 usage 或 balance API 的 Provider 家族,展示各時間窗口的已用比例、嚴重程度色條、重置時間,以及餘額類錢包信息。未提供公開用量/餘額接口的 Provider(例如 README 中提到的 OpenAI、Google、本地模型服務等)不會出現在頁面上。
插件以 Host 端聚合快照、Web 端渲染的方式工作;所有查詢均爲只讀。它以當前 dsh 進程權限運行,安裝前宜自行查看源碼與 MIT 許可證。
核心功能¶
動態發現 Provider¶
發現邏輯是動態的:Host 讀取實時 LLM 路由(llm.listProviders()),與內置適配器註冊表匹配。在 Settings 裏添加、且其 family 有對應適配器的 Provider 會自動出現,無需改插件代碼。沒有公開 usage 或 balance API 的 Provider 不會匹配。
README 中列出的支持情況如下(路由 id 與數據類型以資料爲準):
| Family | Route ids | 數據 |
|---|---|---|
| OpenCode Go | opencode-go, opencode-go* |
5 小時 / 本週 / 本月 usage windows |
| Claude | anthropic(或獨立 Claude Code 憑據) |
5 小時 / 本週,Opus/Sonnet weekly,extra usage |
| DeepSeek | deepseek, deepseek-official, deepseek-account(或獨立登錄賬戶) |
充值 + bonus 錢包 |
| OpenRouter | openrouter |
credit balance(總額減用量) |
| Moonshot / Kimi | moonshotai, moonshotai-cn |
可用額 + voucher 餘額 |
| Z.ai / GLM | zai, zai-coding-cn |
Coding Plan 額度窗口(5h / 周 / 其他週期) |
| MiniMax | minimax, minimax-cn |
Token Plan session 用量 |
憑據按 Provider 從 settings profile 的 apiKeyEnv(回退到常規的 <ROUTE>_API_KEY)經 ctx.credentials 解析;Claude 讀取 Claude CLI token,DeepSeek 走賬戶服務,二者不強制要求對應 DSH 路由處於 live 狀態。
頁面交互與展示¶
每張訂閱類卡片按窗口分行,顯示已用百分比、帶嚴重程度顏色的進度條和重置時間。餘額類卡片顯示可用金額及錢包明細。概覽區「最緊窗口」與「下次重置」瓦片可點擊:會滾動到對應源卡片並短暫高亮。
各源卡片使用維護者手寫的品牌強調色表(BRAND_ACCENTS);未列入表的 id 會回退到穩定哈希色,新支持的 Provider 仍可有區分色而無需改代碼。
後端與前端分工¶
index.js(Host):匹配 live 路由與ADAPTERS,讀取各匹配項;成功結果緩存 60 秒,錯誤緩存 15 秒;提供GET /quota-windows/api/snapshot(?refresh=1可繞過緩存)。client.js(Web):註冊sidebar.panellist與main面板;進入頁面時重讀快照,之後每分鐘輪詢;卡片等寬網格佈局(數量爲 3 的倍數時三列,否則兩列)。頁面級錯誤邊界避免渲染崩潰整頁空白,並向GET /quota-windows/api/client-error上報。
安裝與啓用¶
bundle 名稱爲 dsh-quota-windows。資料提供兩種方式。
方式一:本地 link 依賴(需先取得倉庫到本機絕對路徑,再以 profile 引用;正文不展開 clone 步驟,按 README 將路徑寫入 profile):
"dsh-quota-windows": "link:/absolute/path/to/dsh-quota-windows"
在 profile 中選擇 quota-windows bundle,下次加載後側邊欄入口出現。
方式二:CLI 安裝(desktop profile):
dsh plugin --profile desktop add github:LXD-8/dsh-quota-windows
package.json 中當前版本爲 1.16.1;許可證 MIT。
典型用法¶
- 按上一節完成安裝並重新加載 DSH(desktop profile 使用 CLI 時以你的 profile 名爲準)。
- 在 Harness Settings 中照常添加需要監控的 Provider 並配置憑據(
apiKeyEnv或各家約定方式)。 - 打開左側欄「額度窗口」,查看自動出現的 Provider 卡片;需要立即刷新數據時,可請求帶
?refresh=1的快照 API(由 Host 提供)。 - 若使用反向代理等非本機 Host,可在 profile 補丁中配置
allowedHosts(見下文配置示例)。
可選配置寫在 Loader schema 校驗的 row config 中,例如 profile patch:
- id: quota-windows
config:
cacheSeconds: 60
opencodeBaseUrl: https://opencode.ai/zen/go/v1
opencodeCredentialRef: OPENCODE_GO1_API_KEY
claudeCredentialsPath: ~/.claude/.credentials.json
# Hosts allowed in addition to loopback/IP/same-origin, for a reverse proxy.
allowedHosts:
- quota.example.com
適用場景與注意¶
適合誰:在 DSH 中並行使用多家 API、需要在一屏內對照各家用量窗口與餘額、且所用家族已在 README 適配表中的開發者。
務必注意:
- 插件隨 當前 dsh 進程權限 讀取憑據並訪問各家 API;安裝前請閱讀倉庫源碼與許可證,勿在不可信環境盲目啓用。
- Claude token 只讀、不刷新;過期後卡片會提示重新登錄 Claude Code。
- OpenCode Zen 的 credit balance 未在 API-key API 暴露,頁面僅展示 Go 訂閱窗口。
- 無公開 usage/balance 端點的 family 有意不展示;若日後出現公開接口,增加適配器即可。
- Provider 失敗會本地化 HTTP 狀態、超時、空響應等前綴,具體細節仍保留 Provider 原文。
- README 說明測試命令:
node --test tests/*.test.mjs(覆蓋解析器及部分適配器的 stub HTTP)。
社區插件目錄 SkillHub 上的 dsh-quota-windows 爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係;源碼與說明以 GitHub 倉庫 爲準。
結尾¶
dsh-quota-windows 把「已添加且 API 可讀的 Provider」的訂閱窗口與餘額收到 DSH 同一頁,減少在控制台與 Harness 之間的切換。若你的日常路由落在 README 所列 family 內,可按官方 CLI 或 link 方式裝入 desktop profile,從側邊欄「額度窗口」開始使用。
- 目錄頁:https://www.skillhub.cn/plugins/LXD-8/dsh-quota-windows
- GitHub:https://github.com/LXD-8/dsh-quota-windows