前言¶
在 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。
典型用法¶
- 按上一节完成安装并启动 DSH Web。
- 在侧边栏打开 Monitor,主面板进入遥测页。
- 在聊天里正常推理;观察 Speed、context 环与 recent requests 是否随会话更新。
- 需要对照硬件时看 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,对照硬件与请求表定位性能问题。