DSH 右侧栏性能监控:@xmwengxing/dsh-client-ui-sidebar-perfmon

前言

在 DeepSeek Harness(DSH)里跑智能体或远程会话时,主机 CPU、内存是否吃满、某个进程是否异常,往往要另开系统监视器或 SSH 里敲 top。窗口一多,上下文切换成本很高。下面介绍的插件把主机性能监控收进 DSH 右侧栏:同一套 GUI 里看资源占用、温度和进程列表,必要时还能阻止远程主机因空闲进入睡眠。

这是什么

@xmwengxing/dsh-client-ui-sidebar-perfmon 由社区维护者 xmwengxing 发布,分类为客户端插件。它在 DSH 右侧栏提供一页实时性能面板,并在 Session 标题栏增加一个入口按钮;数据来源是运行 DSH 的那台主机(Linux、macOS 或 Windows),不引入额外运行时依赖——主机侧用 node:os 与各平台原生工具,浏览器侧复用 GUI 已有的 React。

核心功能

资源占用

右侧栏一页集中展示:

  • CPU、内存、交换区:环形仪表,附带核心数与负载、已用/总量、交换区状态等辅助行。
  • GPU:一条进度条,左右两半分别表示核心频率与专用显存占用。
  • 当前会话工程目录大小:按需扫描;卡片标题区还可显示主机名与 uptime。
  • 温度:CPU、GPU、主板、硬盘四块磁贴,按冷/温/热色阶(70 °C、85 °C 为分界);多传感器时显示最热读数,tooltip 列出覆盖的传感器。各平台能读到的传感器类型见 README 的 Platform support 表。
  • 进程表:每行含 CPU 占比、常驻内存、占 RAM 比例、PID、线程数(部分平台字段不可用则显示 —)。可按 CPU、内存或名称排序,按名称或 PID 过滤,拖拽列宽(按浏览器记忆宽度);数值列优先保留,侧栏变窄时先压缩名称列。

读不到的指标不会填 0,而是显示 —,原因写在 tooltip 或页脚时间戳旁的说明里。

Windows 上的 CPU 温度

Windows 上若缺少 LibreHardwareMonitor,标题栏会出现 Install LHM(优先通过 winget 固定包安装);已安装但未运行则 Start LHM(需一次提升权限启动);运行后按钮消失,温度数据开始更新。tooltip 会说明 UAC 需在主机桌面确认;无 winget 时给出官方下载链接。

刷新与保活

默认刷新间隔:Linux 2 s、macOS 3 s、Windows 4 s;同一间隔驱动所有已打开的面板,浏览器标签页隐藏时暂停轮询。温度卡片单独使用更慢的复用周期(Windows 上读温度成本较高)。

页脚 保持唤醒 开关在主机上执行:Windows 使用 SetThreadExecutionState,macOS 使用 caffeinate,Linux 使用 systemd-inhibit --what=sleep:idle(不涉及关机)。关闭时不占资源;开启时保持一个辅助进程,并在内存中保留最近 10 条事件的环形日志,不写文件。平台缺少对应工具时按钮禁用并说明原因。

环境与要求

  • 操作系统:Linux、macOS 或 Windows(FreeBSD 等会退化为仅 node:os 的有限读数,交换区与进程表等标记为不可用)。
  • DeepSeek Harness 0.2.0-rc.1 或兼容版本,且使用会启动 @deepseek-ai/dsh-web-app 的 profile(例如 web profile)。
  • Node 引擎(package.json):^22.19.0 || >=24.0.0。
  • 许可证:MIT(package.json)。

安装与启用

在终端执行(三选一,命令来自官方 README):

# 从 npm
dsh plugin --profile web add @xmwengxing/dsh-client-ui-sidebar-perfmon

# 从本地目录
dsh plugin --profile web add /path/to/dsh-client-ui-sidebar-perfmon

# 从 git(需允许 pnpm 先执行构建)
dsh plugin --profile web add github:xmwengxing/dsh-client-ui-sidebar-perfmon

安装后重启 GUI。卸载:

dsh plugin --profile web remove @xmwengxing/dsh-client-ui-sidebar-perfmon

典型用法

  1. 完成安装并重启 GUI 后,在右侧栏引导页找到 性能监控 卡片,点击以标签页打开面板。
  2. 之后可用 Session 标题栏上的图标按钮打开或聚焦该标签(无文字标签;tooltip / 无障碍名称为「打开性能监控面板」/ “Open the performance monitor”)。
  3. 在进程表中排序、过滤,观察 CPU 或内存偏高的进程;需要长时间远程操作时,视情况打开页脚 保持唤醒。
  4. Windows 且需要 CPU 温度时,按标题栏 pill 提示安装或启动 LibreHardwareMonitor。

如需调快或调慢采样、限制进程行数、隐藏 GPU/温度/保活按钮或固定工程目录扫描路径,可在 profile 补丁里覆盖默认项。默认设计偏「省资源」:例如 Linux 上约每 2 秒一次 /proc 遍历,多窗口共享同一次读数。

# ~/.dsh/profiles/web/cordis.patch.yml
- id: perfmon
  name: '@xmwengxing/dsh-client-ui-sidebar-perfmon'
  config:
    refreshIntervalMs: 1000        # 500–60000;默认 Linux 2000 / macOS 3000 / Windows 4000
    processLimit: 100              # 5–500
    cacheMillis: 800               # 0–10000
    sampleMillis: 150              # 0–2000
    projectDirEntryBudget: 50000   # 100–1000000
    projectDirMaxDirs: 12          # 1–100
    temperatureIntervalMs: 15000   # 2000–600000
    gpuIntervalMs: 4000            # 500–60000;默认可随 refreshIntervalMs
    # gpu: false
    # temperature: false
    # keepAwake: false
    # projectDir: /srv/demo
    # projectDir: ''               # 隐藏目录大小行

README 还说明了两点读数约定:进程 CPU 按「100% = 单核」缩放(与 top 一致,多线程可超过 100%);内存「已用」按「不可用」计,可回收的 page cache 算作可用。

适用场景与注意

适合谁:经常在 DSH web GUI 里开发或运维、希望不离开会话就能看主机负载与进程的人;远程桌面或 SSH 隧道场景下,保活开关可减少因主机睡眠断连的情况。

权限与安全:插件以当前 DSH 进程的身份与权限在主机上读 /proc、调用 PowerShell、powermetrics 等。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证;Windows 上启动 LHM、Linux/macOS 上部分温度路径可能需要提升权限或额外工具,以面板提示为准。

生态说明:DSH 采用「一切皆插件」的扩展方式;SkillHub 目录页 是社区插件索引,与 DeepSeek / 幻方无官方从属关系。

结尾

@xmwengxing/dsh-client-ui-sidebar-perfmon(当前 npm 包版本 0.6.0)把 CPU / 内存 / 交换区仪表、GPU 行、多类温度与可排序进程表放进 DSH 右侧栏,并可选远程防睡眠。若你已在用 web profile,按上文命令安装、重启 GUI 后即可从引导页或 Session 标题栏进入面板。

  • 目录页:https://www.skillhub.cn/plugins/xmwengxing/dsh-client-ui-sidebar-perfmon
  • GitHub:https://github.com/xmwengxing/dsh-client-ui-sidebar-perfmon
羽毛球分组比赛记分
小程序二维码

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

小夜