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,对照硬件与请求表定位性能问题。

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

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

小夜