前言¶
在 DeepSeek Harness(DSH)里跑智能体或长会话时,主机资源是否吃紧往往要到任务管理器或系统托盘里另开窗口才能确认。对习惯盯着 Harness 主界面的开发者来说,多切一次上下文既打断节奏,也难把「当前这一轮是否在拖慢机器」和界面上的行为对上号。dsh-windows-monitor 是社区维护的客户端插件:在 Web 配置下于界面一角提供可折叠的系统监控浮层,由本机采集数据,不改动模型、会话或 transcript。
这是什么¶
dsh-windows-monitor(维护者 joyboy-yy,分类:客户端)面向已启用 Web profile 与当前 profile-bundle 体系的 DSH。它在右下角默认放置一条约 210 px 的「药丸」条,展示实时 CPU 与内存;展开后变为约 280 px 的详情卡片,包含磁盘活动与吞吐、各卷容量、网络适配器状态、运行时间与电池等信息。采集端仅面向 Windows,通过 PowerShell 与 CIM/WMI 等读取系统指标;非 Windows 主机上路由会返回明确的不支持说明,面板展示该状态而非空表盘。
许可证为 MIT;npm 包当前版本为 0.2.4(以 package.json 为准)。
核心功能¶
下面按 README 已写明的行为归纳,便于判断是否满足你的监控粒度需求。
布局与交互¶
- 收起时不遮挡中间编辑区;展开为固定宽度卡片,默认避开 composer 区域。
- 药丸或卡片标题栏可拖拽,位置限制在视口内并会记住;提供重置控件回到角落。
- 状态点颜色编码:绿色为正常、琥珀色为偏高、采集失败时为红色脉冲。
指标展示¶
- 详情区以条形图展示 CPU、内存与磁盘活动;每个逻辑卷单独一行显示容量占用;另有内存总量、网卡状态、 uptime、电池等行。
- 磁盘活动与「盘满百分比」分开:磁盘 gauge 表示忙碌时间(与任务管理器「磁盘」列同类,按
100 − PercentIdleTime计算),不把静态的「93% 已满」塞进与 CPU 同频刷新的表盘,避免误读为卡死。 - 无性能计数提供方或尚未完成首次采样时,磁盘活动显示
--,不伪造0%。 - 采集失败时药丸显示 unavailable,而非陈旧数字;无采集器的平台会明确说明,而非空白控件。
主题与可访问性¶
- 颜色使用 DSH 主题 token,随浅色/深色模式变化;图标为 Harness 内联 SVG,无图标字体。
- 控件为带标签的真实按钮,有可见焦点环;在
prefers-reduced-motion下关闭动画。
主机侧行为(简述)¶
Host 注册只读路由 GET /api/windows-monitor/snapshot,经 harness 的 shell 服务在本机执行采集器;结果缓存 5 秒,并发轮询共用单次采集中请求。Client 注册到 shell.overlay 插槽;该层默认可穿透点击,面板自行接收指针事件,不挡住下层应用。插件不注册 tools,不接触模型与会话数据。
安装与启用¶
官方推荐、无需本地构建权限的方式是从 npm 安装:
dsh plugin --profile web add dsh-windows-monitor
其他 README 记载的路径(按需选用,命令须与文档一致):
本地开发目录:
dsh plugin --profile web add D:\path\to\dsh-windows-monitor
dsh --profile web --dump-config # confirm the windows-monitor row is composed
dsh --profile web
Release 压缩包:
dsh plugin --profile web add .\dsh-windows-monitor-<version>.tgz
固定源码标签(示例为 README 中的 v0.2.1,新版本见 releases):
dsh plugin --profile web add github:joyboy-yy/dsh-windows-monitor#v0.2.1
通过 github: 安装会拉源码并执行包的 prepare 构建;若使用 pnpm,需在 profile 的 pnpm-workspace.yaml 中显式允许构建,例如:
allowBuilds:
dsh-windows-monitor: true
安装前建议阅读源码并固定标签;tarball 分发为预构建产物,通常不需要上述权限。
环境要求(摘自 README):
- DSH:Web profile + 当前 profile-bundle 系统。
- 操作系统:Windows(作者在 Windows 11 上验证采集器)。
- 从源码构建:Node.js
^22.19.0 || >=24.0.0。 - 不需要管理员权限,不向系统全局安装组件。
配置¶
bundle 通过 cordis.patch.yml 插入一条 Host/Client 行,默认 id 为 windows-monitor。可在 profile 或用户目录下的 cordis.patch.yml 覆盖该行以禁用或调整挂载位置:
- insert:
- id: windows-monitor
name: dsh-windows-monitor
inject: [shell, sandboxPolicy, webServer]
浏览器端偏好仅一项:拖拽后的面板位置,键名为 dsh-windows-monitor:position(localStorage);仅在拖拽后写入,按重置时清除。插件不持久化指标数据。
典型用法¶
1、按上文命令为 web profile 添加插件后启动 Harness:
dsh --profile web
2、在界面右下角查看收起条上的 CPU、内存与状态点;需要磁盘活动、各盘空间、网络与电池时点击展开详情卡。
3、若浮层挡住内容,拖拽药丸或标题栏到合适位置;需要恢复默认角落位置时使用重置控件。
4、排查集成问题时,可用 --dump-config 确认 windows-monitor 行是否已编入 profile。
数据流为浏览器轮询 GET /api/windows-monitor/snapshot;非 Windows 环境应看到不支持平台的明确响应,而非假数据。
适用场景与注意¶
适合: 在 Windows 上长期使用 DSH Web 界面、希望在本机一眼确认 CPU/内存/磁盘与网络状态,又不想离开 Harness 窗口的开发者或运维式自托管用户。
平台: 仅 Windows 提供采集器;Linux/macOS 在 0.2.0 起已移除采集实现(0.1.0 曾包含),这是 README 中的刻意范围限定。磁盘活动依赖 Windows 性能计数提供方;缺失时该读数降级为 --。采集过程将进程区域性固定为 invariant,以保证 key=value 行使用 . 作为小数分隔符。
安全与权限: README 要求安装前阅读安全模型。采集器为只读,读取 CIM/WMI 等系统信息;插件以当前 DSH 进程权限运行,安装与启用前应自行审阅源码与 MIT 许可证,并理解 shell 执行边界。社区插件目录(SkillHub)与 DeepSeek / 幻方无官方从属关系,本文事实来源以插件仓库 README 与 npm 元数据为准。
结尾¶
dsh-windows-monitor 把 Windows 主机上的 CPU、内存、磁盘活动、卷容量、网络、运行时间与电池收成 DSH Web 界面一角的可拖拽浮层,并与 Harness 主题和无障碍约定对齐。需要安装命令、平台限制与 API 细节时,以仓库文档为准。
- 目录页:https://www.skillhub.cn/plugins/joyboy-yy/dsh-windows-monitor
- GitHub:https://github.com/joyboy-yy/dsh-windows-monitor