dsh-xdpool-billing:在 DSH 裏看清 XD Pool 積分與消耗

前言

用 DeepSeek Harness(DSH)做智能體開發時,模型調用往往走 WorkBuddy 的 XD Pool 多賬號池。積分按包發放、有過期時間,Token 用量又分散在多賬號、多模型上。若只在上游網頁裏偶爾點開查看,很難在寫提示、調工具的日常節奏裏持續掌握「還剩多少、今天花了多少、哪包快過期」。

dsh-xdpool-billing 是面向 DSH 桌面 Web 界面的客戶端插件:在對話輸入區下方提供常駐膠囊面板,彙總餘額、消耗與過期預警,並可選通過 Agent 工具讀取同一份數據。它不替代上游賬號管理,也不重複實現 XD Pool 協議,而是讀取同機已安裝的 dsh-xdpool 暴露的只讀路由。

這是什麼

  • 名稱:dsh-xdpool-billing(展示名 XD Pool Billing Meter)
  • 維護者:Xun-Prog
  • 分類:客戶端(渲染在 conversation.composer.dock 槽位)
  • 版本:1.0.0(見 package.json)
  • 許可證:MIT

插件定位是 XD Pool(WorkBuddy)積分計費面板:顯示各賬號剩餘積分與積分包明細;按餘額快照差值統計今日/本月/累計已消耗;彙總 Token 用量;並對一次性積分包做分檔過期預警。數據源唯一依賴社區插件 dsh-xdpool;未安裝或未啓用時,面板顯示「數據源不可用」,而不是空白卡片。

數據從哪來

本插件不聯網,也不讀取 WorkBuddy 憑據。它只請求同一臺 DSH Web 服務器上 dsh-xdpool 已註冊的兩個路由:

路由 內容
GET /plugins/dsh-xdpool/status?region=cn\|global 各賬號 credits.total 與 credits.packages
GET /plugins/dsh-xdpool/usage Token 用量賬本(輸入/輸出/思考/緩存、調用數、按模型與賬號聚合)

本地還維護賬本與聚合狀態:

  • 賬本文件:$DSH_HOME/storages/xdpool-billing/ledger.json(按天聚合 + 每賬號基線)
  • 面板/API 數據:GET /__xdpool-billing/state.json(加 ?refresh=1 可立即拉一次上游)

核心功能

膠囊面板

安裝並刷新頁面後,輸入區下方會出現小膠囊;點擊展開可查看餘額、今日/本月/累計已用、累計佔比進度條、過期預警、Token 用量,以及各賬號餘額與各自最近到期時間。樣式使用宿主主題令牌(--dsw-alias-*),中英雙語隨宿主 locale。

「快過期」預警

積分包多有期限。面板從急到緩提供三層信息(只統計一次性包 monthly=false,月度包按週期刷新,不計入「快過期」以免誤報):

  1. 最近一次到期:剩餘天數、過期積分、賬號與包名;摺疊狀態下 7 天內會在膠囊上顯示紅色角標(如 ⏳ 5.9d)。
  2. 3 / 7 / 30 天分檔:各檔即將過期的積分累計量(檔之間是包含關係,不可相加)。
  3. 到期日曆:按日列出將過期多少積分,便於優先消耗快過期部分。

分檔窗口默認 3、7、30 天;可用環境變量 XDPOOL_BILLING_EXPIRY_WINDOWS=3,7,30,60 覆蓋。README 說明上游 expiringSoon 僅 3 天窗口,本插件自行分檔以避免大批積分顯示爲 0。

已使用多少:實測與推算

面板區分兩種口徑:

  1. 實測消耗(measured):約每 60 秒記一次餘額快照,餘額下降部分計爲真實消耗;簽到、領券、新開包導致的上升不計入;月度包重置也不扭曲該差額。
  2. 按包推算(packages):一次性包用 size - remain;月度包只表示本週期已用,單獨展示、不併入一次性累計。

Agent 工具

註冊工具名 xdpool_billing,數據與 state.json 一致,支持 refresh 參數,便於在對話裏讓智能體查詢當前計費狀態。

安裝與啓用

運行環境要求(package.json):Node >=20,DSH >=0.1.5-rc.1 且 <0.3.0。

從插件市場安裝(README 推薦):

dsh plugin --profile desktop add dsh-xdpool-billing

從本地源碼目錄安裝:

dsh plugin --profile desktop add ./dsh-xdpool-billing

(需先取得插件源碼目錄,例如自行下載 release 或已有副本;本文不按名稱拼接未出現在資料中的 github: 安裝串。)

安裝完成後刷新 DSH Web 頁面,膠囊應出現在輸入區下方。請先確保已安裝並啓用 dsh-xdpool,否則面板會一直提示數據源不可用。

典型用法與排錯

查看面板:在 DSH 對話頁點擊輸入區下膠囊展開明細。

立即刷新上游數據:

curl "http://127.0.0.1:<你的端口>/__xdpool-billing/state.json?refresh=1"

面板顯示「數據源不可用」(多爲上游問題):

  1. 確認 dsh-xdpool 已安裝且啓用。
  2. 訪問 http://127.0.0.1:<端口>/plugins/dsh-xdpool/status?region=cn;404 通常表示上游未啓用或路由變更。
  3. 查看 state.json 中 ok 與 reason(如 xdpool-not-available(404)、xdpool-status-unavailable、N account(s) balance unavailable)。

餘額顯示「未知 (N)」:有 N 個賬號餘額未查到(刻意不把失敗當 0,避免誤讀爲鉅額掉點);常見原因是該賬號登錄過期。

國際版賬號餘額爲空:上游國際版網關無積分系統,屬上游事實而非本插件缺陷。

適用場景與注意

適合已在 DSH 桌面配置中使用 XD Pool 多賬號、需要在本機界面內持續觀察積分與 Token 用量的開發者。本插件以當前 DSH 進程權限運行,僅讀寫本機 $DSH_HOME 下的賬本與本地路由;安裝前宜查看 GitHub 倉庫 源碼與 MIT 許可證。DSH 生態強調「一切皆插件」;SkillHub 目錄頁 爲社區收錄站點,與 DeepSeek / 幻方無官方從屬關係。

若 dsh-xdpool 調整隻讀路由,本插件需隨上游變更——這是「不重複實現協議」帶來的薄封裝,也是維護上的耦合點。

結尾

dsh-xdpool-billing 把 XD Pool 的餘額、消耗與過期信息收到 DSH 輸入區旁,減少切頁查賬的成本;數據與隱私邊界清晰:只讀本機 dsh-xdpool 路由,賬本落盤在本機。

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

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

小夜