PriRex Monitor:在 DeepSeek Harness 裏看實機 GPU 與 Token 遙測

前言

在 DeepSeek Harness(DSH)裏跑模型推理時,慢答覆往往要同時看三件事:GPU 是否在頂滿、當前會話佔用了多少上下文、最近幾次請求各消耗了多少 token。拆開用 nvidia-smi、系統監視器和聊天裏的零散信息,上下文很容易丟。PriRex Monitor 是 DSH 的 Web 插件,在側邊欄增加 Monitor 入口,在主面板用一頁把硬件採樣與會話 token 統計放在一起,並通過 SSE 約每 500 ms 推送更新。

這是什麼

插件包名 prirex-monitoring-deepseek-harness(PriRex Monitor),由 Prirex 維護,許可證 MIT,當前版本 1.0.2。分類上屬於模型推理相關能力:爲 DSH Web 界面提供本機 GPU/CPU 負載、顯存、溫度、功耗、能耗、生成速度與上下文佔用等實時遙測,數據來自主機採樣與會話事件流中的 token 累計。

社區目錄見 SkillHub 插件頁;源碼與說明在 GitHub 倉庫。目錄站點爲社區生態,與 DeepSeek / 幻方無官方從屬關係。

架構與數據從哪來

插件分兩半,職責在 README 裏寫得很清楚:

部分 文件 作用
Host index.js 按固定間隔採樣傳感器、累計 token 用量,暴露兩條本地 HTTP 路由
Browser client.js(由 client.template.js 構建,倉庫已提交產物) 側邊欄入口與監控頁,僅用 React.createElement,樣式跟隨 DSH 主題 token

Host 把快照通過 JSON 與 SSE 兩種方式提供給頁面:平時走 SSE 保持實時;流不可用時客戶端每 2 秒回退輪詢 JSON。

頁面上能看到什麼

主面板以卡片形式展示當前機器與會話狀態,主要包括:

  • Speed:當前會話 tokens/s;0 tok/s 表示模型空閒。
  • GPU load:利用率 %,帶 40 點迷你折線。
  • VRAM:已用 / 總量(GB)。
  • GPU temperature:攝氏度;超過配置的 overheatC 時折線進入警示色。
  • Power:當前功耗 / 上限(W)。
  • PCIe:鏈路代數與寬度(如 Gen4 x16)。
  • CPU:總負載 %。
  • Disk:有字節速率上報時顯示讀吞吐;Windows 無對應 provider 時改爲顯示系統盤剩餘空間。

卡片下方還有:自 Host 啓動以來的 能耗(Wh,由 GPU 功耗積分)、GPU 風扇 %、GPU 時鐘(MHz)、context fill 環(已用 / 窗口 token)、以及 recent requests 表(時間、狀態、模型、input/cache-read/output tokens、cache share 等)。

頁面右上角提供 RU / EN / ZH 語言切換,選擇寫入瀏覽器 localStorage,標題、卡片標籤、狀態、表頭及數字/時間格式會隨語言重渲染。

GPU 數值優先通過 nvidia-smi 讀取(Windows 上 systeminformation 對部分字段不完整);無 NVIDIA 工具時回退 systeminformation,AMD/Intel 仍可獲得負載、溫度、功耗與顯存等。

安裝與啓用

環境要求:帶 Web 界面的 DSH,Node.js ≥ 20。安裝過程不需要本地構建(client.js 已提交)。

從 GitHub 安裝:在 DSH 中打開 Plugins → Install bundle → GitHub,倉庫名填寫:

Prirex/PriRex-Monitoring-DeepSeek-Harness

從本地目錄安裝:Plugins → Install bundle → local path,指向插件所在文件夾;DSH 會以目錄 junction 鏈到 node_modules/prirex-monitoring-deepseek-harness。

注意:上述兩種方式不要同時佔用同一槽位。若先做了本地鏈接再裝 GitHub 版,pnpm 可能無法替換 junction 並報 [ERR_PNPM_EPERM] importPackage。需先關閉 DSH,再移除 junction(項目文件夾不受影響),例如在 PowerShell 中:

cmd /c rmdir "%USERPROFILE%\.dsh\profiles\desktop\node_modules\prirex-monitoring-deepseek-harness"

捆綁的 cordis.patch.yml 會自動插入 prirex-monitor 配置行,一般無需手改 patch 文件即可啓用。

配置項

默認值在 index.js;可在 profile 的 cordis.patch.yml 中覆蓋,例如:

- id: prirex-monitor
  name: prirex-monitoring-deepseek-harness
  config:
    refreshMs: 500              # 採樣間隔,下限 200 ms
    overheatC: 80               # 超過該溫度時溫度折線警示色
    ratesUsdPerMillion:         # JSON 快照中 tokens.costUsd 所用單價
      input: 0.27
      output: 1.1

插件宣傳「零配置」是指不寫文件也能跑;只有需要改採樣頻率、過溫閾值或成本估算單價時才動 cordis.patch.yml。

典型用法

  1. 按上一節完成安裝並啓動 DSH Web。
  2. 在側邊欄打開 Monitor,主面板進入遙測頁。
  3. 在聊天里正常推理;觀察 Speed、context 環與 recent requests 是否隨會話更新。
  4. 需要對照硬件時看 GPU/CPU/顯存/功耗卡片;若 SSE 斷開,頁面會自動改爲每 2 秒拉取 JSON。

本地 HTTP 路由(僅本機、同源設計):

路由 格式 說明
/api/prirex-monitor/telemetry JSON 僅 GET / HEAD
/api/prirex-monitor/stream SSE 每次新樣本推送,retry: 2000

適用場景與注意

適合在 DSH 桌面/Web 環境做推理調優、排查「卡在某一步」、或快速確認當前會話 token 與上下文佔用,而不必切到多個系統工具。

安全與設計要點(來自項目說明):

  • 路由僅 GET/HEAD;校驗 Origin 與 Host,拒絕跨站 Sec-Fetch-Site。
  • 無出站網絡、無任意文件系統訪問;nvidia-smi 以固定參數 spawn。
  • 遙測更新與失敗隔離,不應干擾會話提交。

權限:插件在 當前 DSH 進程權限 下采樣本機並調用 nvidia-smi / systeminformation。安裝前建議閱讀源碼與 MIT 許可證,確認接受本機指標被插件讀取並通過本地 API 暴露給同一 DSH Web 會話。

非 NVIDIA 環境能力會少於完整 nvidia-smi 路徑;Windows 磁盤卡片展示的是剩餘空間而非字節速率,屬於平臺回退行爲而非故障。

結尾

PriRex Monitor 把「實機傳感器 + 當前會話 token / 上下文」收進 DSH 側邊欄的一頁,用 SSE 保持近實時,並支持中/英/俄界面。若你已經在用 DSH Web 做推理,值得用社區目錄或 GitHub 安裝後常駐打開 Monitor,對照硬件與請求表定位性能問題。

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

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

小夜