核心用法
System Watchdog 是一款面向 Linux 和 macOS 的轻量级系统资源监控脚本。用户通过执行 bash ~/.openclaw/skills/system-watchdog/check.sh 获取 JSON 格式的系统状态报告,脚本自动检测操作系统类型并输出结构化的监控数据。
显著优点
1. 智能降噪设计:明确拒绝报告单纯的进程运行时长、Docker 容器基线内存占用、绝对磁盘使用量等低价值信息,避免 alert fatigue
2. 增量检测能力:通过持久化状态文件(system-watchdog-state.json)追踪 swap 增长、进程内存 delta 等变化趋势,而非仅依赖瞬时值
3. 跨平台兼容:原生支持 Linux(/proc/meminfo、vmstat)和 macOS(vm_stat、memory_pressure),自动适配不同指标语义
4. 结构化输出:JSON 格式便于自动化解析,包含 suspicious 布尔标志、verdict 分级(watch/investigate/act_now/ok)和清晰的 issues 列表
5. 可配置性:支持通过环境变量 SYSTEM_WATCHDOG_STATE 自定义状态文件路径
潜在缺点与局限性
1. 依赖 Bash 环境:需要 POSIX shell 兼容环境,Windows 原生不支持
2. 历史数据有限:仅保存上一次运行状态,无法构建长期趋势基线
3. 阈值硬编码:>90% 磁盘、<20GB 空闲、>2 核心 CPU 持续 15 分钟等阈值不可配置
4. 无远程监控能力:仅限单机执行,不支持分布式集群状态聚合
5. 进程归因粗略:top_processes 可能包含系统守护进程,需人工判断业务相关性
适合人群
- 个人开发者/运维人员需要轻量级本地监控
- CI/CD 环境希望在构建前快速评估执行机资源健康度
- 需要集成到现有告警流水线(配合 JSON 解析工具)的技术团队
常规风险
- 误报风险:macOS 的 compressed memory 机制可能导致可用内存计算偏差
- 状态文件损坏:若
~/.openclaw/workspace/state/目录权限异常或磁盘满,增量检测将回退为快照模式 - 采样频率敏感:高频运行(<5 分钟)可能导致 swap_delta 等短期波动被过度放大
- 隐私泄露:
top_processes包含命令行参数,可能暴露敏感信息(如密码、token)