dsh-magpie-quota:在 DSH 輸入框右側查看 Magpie 網關各賬號額度

前言

在 DSH 裏同時接多個訂閱賬號時,最煩的不是沒有模型可以用,而是不知道哪一家快要用完。切換到另一個賬號、人工去各家面板翻剩下的額度,打斷當前的作業;等額度真耗盡了再發現,往往已經跑了一段長任務。這個插件做的是把額度信息前置到輸入框旁邊:不改配置、不用 API Key,Magpie 網關裏新加的賬號會自動出現在面板裏,一眼能看到剩餘量。

下面介紹 hongcheng-li/dsh-magpie-quota,一個運行在 DSH 客戶端側的插件,負責把本機 Magpie 網關上報的額度與用量拉到 DSH 輸入框右側。

這是什麼

dsh-magpie-quota 由 Hongcheng-LI 維護,定位是 DSH 客戶端插件。它直接讀取本機 Magpie 網關(托盤程序,默認監聽 127.0.0.1:3425)的 GET /v1/magpie/quotas 與 GET /v1/magpie/usage 接口,因此在 DSH 裏呈現的額度來自 Magpie 的統一視圖:WorkBuddy、Trae、MiniMax、GLM、OpenCode Zen、Codex 等訂閱賬號,以及 DeepSeek 這類預充值餘額賬號。

Magpie 已經把這些賬號統一成了 OpenAI 兼容接口,插件只是把它的額度數據搬到 DSH 輸入框右邊,所以不需要額外配置,也沒有獨立的鑑權流程。

插件當前版本爲 0.4.2,許可證爲 MIT,engines.node 要求 >=22。

核心功能

概括成幾件事:輸入框右側一個 用量/額度 徽章;點開是一塊雙欄面板——左欄是用量彙總,右欄是逐賬號的額度清單;另有自動刷新、主題跟隨與失敗賬號的顯式提示。

1、徽章與雙欄面板

輸入框右側固定顯示 用量/額度。懸停時給出各賬號剩餘百分比與當前所選週期的花費。點開是雙欄卡片:左欄「當前用量」彙總折算消耗、調用次數、輸入/輸出 token,下面是按花費排序的模型用量榜,榜單每行第二行開頭固定寫來源(形如 WorkBuddy · 542 次 · 入 838.7K …),同一個模型名出現在兩家賬號下也能區分。右欄「額度」按賬號列出窗口與剩餘百分比。

2、三種結算口徑

左欄數字按這三類分別顯示:訂閱積分(如 84.1 積分)、按量估值(≈¥6.12,用掛牌價估算)、預充值實扣(¥6.12,如 DeepSeek 等餘額賬號)。插件不換算匯率,也不對金額做紅黃綠閾值判斷,餘額數值由 Magpie 格式化後原樣透傳。

3、額度清單與窗口翻譯

右欄逐賬號平鋪窗口行,標籤左對齊、數值右對齊,例如:

MiniMax (China)
4 小時用量上限                    剩餘 95%
每週限額                          剩餘 33%

DeepSeek(預充值)
餘額                              ¥9.99

Magpie 原樣給出的窗口名會翻譯成 Codex 的措辭:5 hours → 5 小時用量上限,7 days → 每週限額,Credits → 額度,MCP · Month → 月度限額。同名處理同樣適用於任意 N hours / N days,原始名稱保留在懸停提示裏。窗口順序固定爲短週期在上、長週期在下,與 Magpie 返回的數組順序無關。

4、用量週期

左欄標題右側有 當天 / 7 天 / 30 天 / 全部 分段按鈕,選擇記在 localStorage 鍵 magpie-quota-usage-period,默認 30 天。

5、預付餘額賬號與頂部餘額條

kind: "balance" 的賬號(DeepSeek、AIHubMix、new-api 中轉站等)在面板裏顯示「餘額 ¥9.99」加粗大字,而不是一行空着的百分比。所有預付餘額賬號會彙總成標題下的一行 餘額 DeepSeek ¥9.99,不用往下滾。徽章在沒有百分比窗口時會退化成 DeepSeek 餘額 ¥9.99。

6、讀取失敗的賬號

Magpie 會把探測錯誤掛在條目上(error 字段,典型如 401 Unauthorized: … api key: ****6b92 is invalid)。插件把這些賬號排到最前,右上寫紅色「讀取失敗」,下一行給出可執行的原因(如「API key 無效(401),請到 Magpie 裏更新這個賬號的 Key」),完整原文放在懸停提示裏。這類賬號不會被顯示成「未提供餘額」。

7、重置卡與免費賬號

Magpie 的 resets.each 裏每張卡帶窗口和到期時間,面板按「種類 + 到期日」歸類成一行,例如 重置卡 5 小時 ×4 · 11-22 到期;5 小時 ×3 · 12-22 到期,完全重置的寫成 完全 ×N,懸停給出每類共幾張、具體哪天到期。

免費賬號(Magpie 數據裏的 plan/名字含 Free,或插件內置已知列表中的,如不帶 Free 字樣的 Trae CN)會在賬號名後跟灰色 (免費賬號) 後綴。

8、刷新、配色與主題

面板 60 秒自動刷新,打開時若緩存超過 15 秒會強制拉一次,底部有手動「↻ 刷新」。配色按鈕在面板右上角,循環切換 跟隨 DSH → 淺色 → 深色,選擇記在 localStorage 鍵 magpie-quota-card-theme(該鍵沿用插件曾用名 magpie-quota,改名後保留以免清掉偏好),刷新後保持。選淺色/深色時卡片在自身的 --dsw-* 變量上做行內覆蓋,因此即使 DSH 主題爲深色,卡片也能固定成淺色。面板底色、文字、邊框、陰影、狀態色全部取 DSH 自身的設計令牌(--dsw-alias-*),淺色深色自動一致。面板 860px 寬,窄屏自適應爲單欄,最高 84vh,超出內部滾動。

安裝與啓用

插件要求本機運行 Magpie(默認端口 3425,可用環境變量 MAGPIE_URL 覆蓋)。下面兩種安裝方式取自 README。

# npm(推薦,安裝最快)
dsh plugin --profile desktop add dsh-magpie-quota

# 或者直接從 GitHub 裝
dsh plugin --profile desktop add github:Hongcheng-LI/dsh-magpie-quota

npm 包名與 GitHub 倉庫名一致,都是 dsh-magpie-quota(dsh-magpie 裸名已被他人佔用)。

如果要做本地開發,按下面的形態掛載:

dsh plugin --profile desktop add "<本目錄的絕對路徑>"

然後刷新 DSH 頁面(或重啓 DSH)即可看到輸入框右側的徽章。

插件分瀏覽器半邊與 host 半邊:dsh/index.js 註冊在 DSH web server 上,負責讀 Magpie 的 quotas 與 usage 接口(quota 緩存 15s、usage 緩存 20s,同一時刻只保留一次 in-flight 請求,Magpie 離線時面板顯示錯誤原因而不是空白);dsh/client.js 是瀏覽器半邊,負責輸入框右側插槽的徽章和彈層面板。改動 dsh/index.js 後必須重啓 DSH 才生效,只改 dsh/client.js 刷新頁面即可。

瀏覽器側通過同源請求 /magpie/quotas 與 /magpie/usage(Magpie 自身的 API 不帶 CORS 頭,所以由 host 半邊代取)。

典型用法

裝好並刷新頁面後,正常在 DSH 裏使用即可。想確認數據是否通了,用當前頁面地址欄裏的端口自檢,host 半邊不需要登錄 token:

curl.exe --noproxy '*' http://127.0.0.1:<當前端口>/magpie/quotas

不打開 DSH 也能看樣式,用真實 Magpie 數據渲染一個自包含的 preview.html:

node scripts/preview.mjs [輸出路徑]

Magpie 沒開時渲染的是「連不上 Magpie」的離線態。想看「當天」週期,改腳本里的 usagePeriod。

如果你用的是 new-api / one-api 這類第三方中轉站,插件本身只讀 Magpie,能不能顯示某家餘額取決於 Magpie 有沒有給它配餘額探測。在 Magpie 側配好即可,面板會自動顯示,不用改插件代碼:

# new-api / one-api 中轉站(要 access token + 用戶 id)
magpie provider set my-relay balance=https://relay.example.com/api/user/self `
  balance.path='$data.quota / 500000' balance.token=<access token> header.New-Api-User=<user id>

Magpie provider 支持的鍵有 balance=<URL>(餘額查詢地址)、balance.path=<表達式>(金額在響應裏的位置,可用 + - * / 和括號組合,$ 或 .. 前綴取帶符號值,末尾 % 表示按 1 的比例顯示成百分比)、balance.method=GET|POST、balance.token=<token>、header.X-Foo=<v>。如果廠商根本不提供餘額查詢接口,那就任何工具都取不到餘額,只能退而看 Magpie 的花費統計:GET /v1/magpie/usage(30 天 cost / credits / 調用數)。

適用場景與注意

適合已經在本機用 Magpie 把多個訂閱賬號和餘額賬號統一成 OpenAI 兼容接口、並在 DSH 裏使用這些賬號的開發者。它的價值在於把「哪一家快用完了」這件事從記憶裏搬出來,變成輸入框旁邊常駐的一塊信息,長任務前可以先掃一眼再決定用哪家。

需要注意的幾點:

  • 插件以當前 DSH 進程的權限運行,host 半邊會訪問本機 127.0.0.1:3425 等 Magpie 端口。安裝前先打開源碼和 LICENSE 檢查一遍(當前版本 0.4.2,MIT 許可證)。
  • 數據源是 Magpie,不接雲端或第三方接口;Magpie 未運行時面板顯示錯誤原因,不會靜默展示空數據。
  • 列表頁對它的描述是客戶端分類。它的 README 也提供了 npm 包名與 GitHub 倉庫名,兩者一致。
  • 倉庫自帶測試與語法檢查,全離線,不依賴 Magpie 也不需要 DSH:node --check 兩個入口文件,node --test tests/client.test.mjs tests/host.test.mjs(15 項斷言),CI 見 .github/workflows/ci.yml(Node 22,語法 + 測試 + manifest 校驗)。

結尾

這個插件解決的是一個很具體的問題:多賬號額度分散、沒有地方集中看。它把 Magpie 已經聚合好的 quotas 與 usage 接口接到 DSH 輸入框右側,零配置,新增賬號自動出現。

目錄頁:https://www.skillhub.cn/plugins/Hongcheng-LI/dsh-magpie-quota
GitHub:https://github.com/Hongcheng-LI/dsh-magpie-quota
npm:https://www.npmjs.com/package/dsh-magpie-quota

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

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

小夜