dsh-plugin-sysops:DSH 本机系统运维面板

前言

在 DSH(DeepSeek Harness)里跑智能体或本地服务时,你往往还需要一眼看清本机 CPU、内存、磁盘和网络是否在拖后腿,并在确认后再做 C 盘清理或找文件。系统自带任务管理器能看进程,但不会和 Harness 侧边栏、配置留痕绑在一起;第三方清理工具功能多,却常把删除和权限边界写得不透明。

下面介绍社区插件 dsh-plugin-sysops(维护者 gh-gongjin):在 DSH 左侧栏增加入口,打开一整页本机面板,面向 Windows 桌面,强调只读采集、两段式清理和 guard 单点约束不可逆动作。插件分类为 admin-security,当前 GitHub 星标为 0,版本 0.1.0,MIT 许可。

这是什么

dsh-plugin-sysops 是 DSH 的本机系统运维插件:零第三方依赖,HTTP 面挂在前缀 /sysops 下,配置与留痕存在宿主 KV(domain sysops),不上传第三方。

它回答五类问题,对应五个页签(同一时刻只渲染一个面板):

页签 作用
监控 四曲线 + 采集源状态 + 只读进程榜
监控记录 阈值告警触发时间线 + 未读蓝点
清理 扫描、冻结清单、勾选后执行
搜索 全盘找文件,并标明答案来自哪条通路
设置 采集源、阈值、清理规则、搜索通路、宿主能力表

核心功能

实时监控

CPU 使用率、内存占用、网络吞吐、C 盘可用空间四条曲线,30 分钟环形缓冲;采集源状态条常显。进程榜只读,按 CPU 降序,可切换按 CPU / 内存排序;不结束、不杀任何进程。

采集按代价分层(README 给出 2026-09-28 本机实测数字):L0 用纯 Node(os.cpus / os.totalmem / fs.statfsSync);L1a 网络用常驻 typeperf;L1b 进程榜用 PowerShell Get-CimInstance Win32_Process,默认关闭,页面可见才采。子进程由 lib/collect/supervisor.js 统一监督(退避、stall 判定、Windows 下用 taskkill 收尾,PID 仅来自 spawn 返回值)。

阈值告警

规则可配(连续 N 次才报、冷却去重)。触发后写入「监控记录」页签并在侧边栏显示蓝点;不推系统通知(宿主不提供该能力,设置页能力表会标明)。

两段式 C 盘清理

流程为:扫描 → 冻结清单快照 → 逐项勾选 → 执行。执行前列表即为实际删除对象。分类为「建议清理 / 建议先看一眼 / 建议保留」,默认只勾第一档。

AI 智能清理(lib/clean/ai-advisor.js)把清单交给宿主模型做分类建议,全程零 apply,只推荐,删不删由你在同一页确认。

每次执行会留痕:清单快照、执行方式、前后容量差、成功 / 跳过 / 失败计数写入 KV,而非模糊统计。

全盘文件搜索

三级探测选通路:Everything HTTP / es.exe / 限定目录遍历;每条结果显示来源 pill。探不到则降级并说明缺哪一级。探测段只读(existsSync / GET / 查询),探测段不夹带安装。

唯一写入系统的独立动作是搜索自检卡上的「Everything 一键安装」(lib/search/installer.js):须显式点击,参数不采信前端、非 shell 执行、先探 winget 再起、一次只跑一装;UAC 由 winget 弹出,插件不代点同意。也可自行执行 winget install voidtools.Everything 或官网安装。

红线(guard 单点)

不可逆约束收口在 lib/clean/guard.js,任何模块不得自行放宽。包括但不限于:不碰 C:\Windows\*、Program Files*、C:\$Recycle.Bin*;不改属主、ACL、注册表;不做开机自启常驻;拒绝 \\?\、UNC、8.3 短名、.. 与 junction 逃逸等绕过形态;新增规则在写入阶段被拒。

安装与启用

宿主为 web profile 时,官方 CLI 安装如下(内部走 pnpm,需 pnpm 在 PATH 中):

dsh plugin --profile web add github:gh-gongjin/dsh-plugin-sysops

也可安装本地目录:

dsh plugin --profile web add <本仓库的绝对路径>

手工两步(不需要 pnpm):编辑 %USERPROFILE%\.dsh\profiles\web\package.json,在 dependencies 增加 "dsh-plugin-sysops": "link:<绝对路径>",在 dsh.profile.bundles 末尾追加 "dsh-plugin-sysops";再在 profile 的 node_modules 下用 Junction 指向本仓库,然后 重启 dsh(只刷新页面不够)。

临时停用:在 ~/.dsh/profiles/web/cordis.patch.yml(Windows 为 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml)增加:

- id: sysops
  disabled: true

彻底卸载:撤销手工安装的两处改动并删除目录联接,重启即可。

典型用法

  1. 安装并重启 DSH 后,从侧边栏打开 sysops 面板。
  2. 在 设置 中打开需要的采集源(进程榜默认关)、配置阈值与清理 / 搜索规则;查看能力表,确认宿主是否提供 storageDomain、webServer 等。
  3. 在 监控 查看四曲线与进程榜;告警在 监控记录 中查看。
  4. 在 清理 先扫描,核对冻结清单与分类,勾选后再执行;可选 AI 建议,但仍需逐项确认。
  5. 在 搜索 输入关键词;若需 Everything,按界面提示安装或手动配置通路。

界面约定:错误与状态落在触发它的卡片上(行内 notice),无顶部 toast,无原生 confirm / alert。

适用场景与注意

适合谁:在 Windows 上用 DSH web profile 开发或运维、希望监控、可控清理和文件搜索都在 Harness 内完成、且能接受「只读 + 显式确认删除」边界的用户。README 写明这是自用工具口吻:能做什么、做不到什么写在明面上。

权限与安全:插件以当前 dsh 进程权限运行;写端点均为 POST,非回环请求一律 403。安装前请自行阅读源码与 MIT 许可证,核对 guard 与安装 Everything 的路径是否符合你的策略。本插件不提供提权、不结束进程,也不替你决定删什么;用完请核对清理留痕。

宿主降级:缺 storageDomain 时配置只读;缺 webServer 时不注册侧边栏入口;缺 timer 时退回 setInterval 并在能力表标注。这些在设置页可见,不会留假开关。

生态说明:DSH 理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-plugin-sysops 把本机监控、两段式 C 盘清理和三级通路文件搜索收进 DSH 一页面板,用 guard 单点和留痕把不可逆动作约束清楚。若你要在 Harness 里运维 Windows 桌面,可按上文命令安装并在设置里对齐采集与告警规则。

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

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

Xiaoye