dsh-cpamc-pill:側邊欄 CPA 反代健康與今日 Token 用量膠囊

前言

在 DeepSeek Harness(DSH)Web UI 裏開發或日常使用智能體時,很多人會同時掛 CPA 反代與 CPA-Manager-Plus 做賬號池和用量統計。Token 用量往往在管理面板裏看,連接狀態又要另開頁面,和側邊欄已有的 dsh-token-pill 是割裂的。dsh-cpamc-pill 在側邊欄底部補一塊只讀「小膠囊」:一顆狀態點和一行今日 token 數字,數據從 CPA-Manager-Plus 拉取,管理端密鑰留在 Host 側,瀏覽器只訪問插件註冊的同源路由。

這是什麼

dsh-cpamc-pill(npm 包名 @local/dsh-cpamc-pill,當前版本 0.1.0)由 ChrisZqaq 維護,歸類爲客戶端插件。它掛在 sidebar.footer.action,order: 21,緊挨 dsh-token-pill(order: 20)右側,刻意做得很小,例如:

● CPA · 18.72M

懸停可看今日彙總、調用健康與滾動 30 分鐘速率;點 Details 可看模型拆分與上游賬號池。

核心功能

讀什麼數據

插件只讀 CPA-Manager-Plus 兩個管理端接口(admin key 在 Host 解析,不進入瀏覽器):

接口 用途
GET /v0/management/dashboard/summary?today_start_ms=<ms> 今日 token、調用、成功率、延遲、滾動 rpm/tpm、top models
GET /v0/management/auth-files 每個上游賬號:提供商、狀態、禁用與冷卻

瀏覽器側僅調用插件註冊的同源路由:

GET /dsh-cpamc-pill/status

Token 統計方式

插件採用 CPA-Manager-Plus 返回的 total_tokens(input_tokens + output_tokens),並約定 input_tokens 已包含 cache_read_tokens。若在展示時再疊加重算 cache,實測會把單日用量從約 9.09M 誤擴到約 17.61M;因此單獨推導 fresh = input - cached,便於保留 cache 命中率可讀性。

不展示費用

膠囊內故意不出現金額。反代後賬號多爲訂閱、無按次賬單,且 CPA-Manager-Plus 在價格同步前可能報告 total_cost: 0;顯示 ¥0.00 反而誤導,不如不顯示。

健康狀態

狀態 圓點 含義
ok 綠 至少一個可用賬號,今日無失敗
degraded 琥珀 全部賬號冷卻或禁用,或今日有失敗調用
offline 紅 127.0.0.1:18317 上 CPA-Manager-Plus 無響應
unconfigured 紅 無法解析 admin key

無法連上服務時仍渲染膠囊(紅點),不會空一塊側邊欄。

依賴的 DSH 客戶端注入

與 dsh-token-pill 類似,在 dsh.client.inject 中聲明:

  • @deepseek-ai/dsh-api-remotes
  • @deepseek-ai/dsh-client-locale
  • @deepseek-ai/dsh-client-ui-sidebar

安裝與啓用

官方 README 給出的方式是把本地包鏈入 profile,而不是 dsh plugin add github:... 一類命令。先把插件源碼放到本機絕對路徑,再執行:

# 1. Link the package into your profile
cd ~/.dsh/profiles/<name>
npm pkg set "dependencies.@local/dsh-cpamc-pill=link:/absolute/path/to/dsh-cpamc-pill"

# 2. Add it to the bundle list
npm pkg set 'dsh.profile.bundles[]=@local/dsh-cpamc-pill'

# 3. Link the module the way the existing @local packages are linked
ln -sfn /absolute/path/to/dsh-cpamc-pill \
  node_modules/@local/dsh-cpamc-pill

說明:桌面 profile 會用自帶安裝器處理 link: 依賴;若手寫改 package.json,第 3 步才必要,因爲普通 npm install 對 link: 會報 EUNSUPPORTEDPROTOCOL。

完成後重啓 Harness,或在 Plugin Manager 裏觸發 profile 重編排,通常可掛載插件而無需重啓。

配置 admin key

解析順序爲「先命中先用」:

  1. 環境變量 CPAMP_ADMIN_KEY
  2. 文件 ~/.dsh/cpamc-pill.json:{ "adminKey": "cpamp_..." }
  3. ~/Applications/cpa-stack/credentials.env 內的 CPAMP_ADMIN_KEY=

第 3 條針對從 Dock 啓動、進程不帶 shell 環境變量的場景;僅從 process.env 讀取會漏掉。缺 key 時進入 unconfigured,不發起網絡請求。響應裏會有 keySource(env / file / stack),不包含密鑰本身。

典型用法與自檢

  1. 確保 CPA-Manager-Plus 在 Host 可訪問(README 健康檢查默認 127.0.0.1:18317)。
  2. 按上一節配置 CPAMP_ADMIN_KEY 或等價文件。
  3. 打開 DSH Web UI,在側邊欄底部 dsh-token-pill 右側查看膠囊;懸停、點 Details 覈對用量與賬號池。

離線驗證(無需瀏覽器、Host 或外網):

node scripts/verify.mjs

或在包目錄執行 npm run verify。套件會 mock ModuleLoader、React 與 Cordis,覆蓋 slot 契約、翻譯鍵、token 摺疊、密鑰優先級、四種健康狀態等約 80 項斷言。

適用場景與注意

適合:已在本地或同機部署 CPA-Manager-Plus,希望在 DSH 側邊欄一眼看到反代健康與今日 token,又不想把 admin key 暴露給前端的用戶。

注意:

  • 插件以當前 DSH 進程權限運行;安裝前建議閱讀 倉庫源碼 與 MIT 許可證。
  • 社區目錄 SkillHub 插件頁 爲獨立收錄,與 DeepSeek / 幻方無官方從屬關係;DSH 生態遵循「一切皆插件」,本包是其中一類客戶端擴展。

結尾

dsh-cpamc-pill 把 CPA-Manager-Plus 的只讀彙總收成側邊欄一顆小膠囊:同源 GET /dsh-cpamc-pill/status、明確的 token 計賬規則、四種健康狀態,並與 dsh-token-pill 並排展示。進一步瞭解可訪問目錄頁 skillhub.cn/plugins/ChrisZqaq/dsh-cpamc-pill 與 GitHub ChrisZqaq/dsh-cpamc-pill。

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

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

小夜