dsh-sysload:在 DSH 会话顶栏查看本机 CPU、GPU 与内存负载

前言

在 DeepSeek Harness(DSH)里跑智能体或长时间调试时,往往能猜到本机在吃资源,却很难在 Web UI 里一眼看到占用。另开一个系统监视器窗口可以凑合,但和当前会话割裂,切窗口也打断节奏。DSH 的插件模型允许在已有界面里挂能力;dsh-sysload 把 CPU、GPU、内存三项负载直接放进 Session 顶栏,和会话工具同一行,不必再浮一层窗口。

下面介绍这个客户端插件做什么、数据从哪来、如何安装与自检。

这是什么

dsh-sysload 由维护者 k623615746 发布,分类为客户端插件,版本 1.0.0(见仓库 package.json),MIT 许可。它在 DeepSeek Harness Web UI 的 Session 顶栏显示三个小格:标签、百分比和一条 2 px 细条;75% 使用告警色,90% 使用错误色。悬停可看核数、内存 GiB、显存、显卡型号,以及 GPU 读数来自哪条采集路径。

插件分 Host 与 Client 两半:Host 在本机采样并暴露一份 JSON;Client 轮询并渲染。Community 目录页:https://www.skillhub.cn/plugins/k623615746/dsh-sysload;源码:https://github.com/k623615746/dsh-sysload。

核心功能

顶栏示意(来自 README):

CPU 37%   GPU 23%   MEM 77%
▬▬▬▬▬▬    ▬▬▬▬     ▬▬▬▬▬▬▬▬▬▬▬▬

三项指标的来源如下。

读数 来源
CPU os.cpus() 两次轮询之间的 idle/total 差值,表示「距上次轮询以来的负载」;进程内第一次采样退回开机以来的平均值
内存 os.totalmem() 与 os.freemem()
GPU nvidia-smi --query-gpu=utilization.gpu,memory.used,memory.total,name;多张卡时最忙的一张驱动进度条,显存求和。无 NVIDIA 时,Windows 退回 GPU Engine(*)\Utilization Percentage 性能计数器(单次约 7 秒,限时 25 秒,失败后停用五分钟)。两条路都不可用则显示 —

GPU 读数若未满 1.8 秒会复用,避免重叠轮询重复拉起探测。接口不读取 query、body 或自定义 header,调用方无法通过请求参数影响上述本机命令。

Client 轮询:前台可见标签页约 2 秒一次;标签页隐藏时降为 15 秒;请求失败时指数退避,上限 20 秒;关闭标签页即停止。请求使用相对路径,在反向代理前缀或桌面壳内仍可对上路由。

隐私方面:只读本地内核计数器,有 GPU 时在本机调用 CLI;无网络上报、无遥测、不写文件。

环境与依赖

  1. DeepSeek Harness 须启用 webServer 服务(Web UI)。未启用时插件不注册、界面无变化。
  2. CPU、内存:Node 能跑的平台均可。
  3. GPU:Linux / Windows 上 nvidia-smi 须在 PATH;或 Windows 上 Intel/AMD 走性能计数器。macOS 上 GPU 格显示 —。

安装与启用

在已安装 DSH CLI 的机器上执行(命令来自官方 README):

dsh plugin add github:k623615746/dsh-sysload

从本地目录安装时:

dsh plugin add file:/absolute/path/to/dsh-sysload

安装后下一次页面加载即可在 Session 顶栏看到三个小格,无需重启 Harness。

package.json 中 dsh.client 注入 @deepseek-ai/dsh-client-ui-conversation,platform 为 web,immediately 为 true,与「会话顶栏即时展示」一致。

典型用法:接口自检

默认由 Web UI 的 Client 轮询;需要核对 Host 是否正常时,可对本地 Web 服务发起 GET(端口以你本机 webServer 为准,README 示例为 56142):

curl http://127.0.0.1:56142/dsh-sysload/stats

示例响应结构:

{
  "at": 1763000000000,
  "cpu": { "pct": 35.5, "cores": 20 },
  "mem": { "pct": 77.1, "used": 12947177472, "total": 16962281472 },
  "gpu": {
    "pct": 23,
    "memUsed": 1509949440,
    "memTotal": 8589934592,
    "name": "NVIDIA GeForce RTX 3070 Laptop GPU",
    "source": "nvidia-smi"
  }
}

gpu.source 取 nvidia-smi、perf-counter 或 unavailable 之一;机器无法提供的字段为 null。仅 GET 与 HEAD 有响应(其他方法返回 405,且 allow: GET, HEAD);响应头为 cache-control: no-store。

经上述步骤,可在不依赖顶栏 UI 的情况下确认采样逻辑是否正常。

适用场景与注意

适合:在本机或内网 DSH Web UI 中开发、调试智能体时,需要轻量、与会话同屏的系统负载提示,而不想常驻独立监视器。

注意:

  1. 插件以当前 DSH 进程权限运行;安装前建议通读仓库源码与 MIT 许可证,确认与本机安全策略一致。
  2. Windows 非 NVIDIA 路径依赖性能计数器,单次较慢且有失败退避;不适合把该格当作毫秒级实时仪表。
  3. 社区目录(SkillHub)与 DeepSeek / 幻方无官方从属关系;DSH 生态以「一切皆插件」为常见做法,本插件是社区贡献,而非官方应用商店内置项。

结尾

dsh-sysload 把 CPU、GPU、内存三项负载嵌进 Session 顶栏:Host 本机采样、Client 按可见性调节轮询,无对外上报。若要在 Harness 里顺手看机器是否顶满,可按 README 安装并在顶栏或 GET /dsh-sysload/stats 验证。

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

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

Xiaoye