mcpField
S
system-watchdog

system-watchdog

github.com/tychohq云与 DevOps092 次安装30 周前更新
代码仓库

关于 system-watchdog

system-watchdog 是用于检查资源使用情况并标记可疑或浪费资源进程的 macOS Bash 脚本。它以 JSON 输出结果,可独立运行,也可供 Agent 或监控流程解析。

主要功能

  1. 01检查内存、交换空间、负载、核心数和磁盘
  2. 02标记高资源占用及陈旧进程
  3. 03以 JSON 报告超阈值问题
  4. 04通过 bash check.sh 独立运行

适用场景

  1. 01检查 macOS 系统资源使用情况
  2. 02查找长期运行或高占用进程
  3. 03将检查结果接入 Agent 或监控系统

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tychohq/agent-skills --skill system-watchdog

安装后在 Claude Code 中输入/system-watchdog确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

check.sh
openclaw-cron.json
OPENCLAW.md

详细介绍

System Watchdog

监控系统资源,并标记浪费资源或可疑的进程。可作为独立的 bash 脚本运行——定时 cron 设置请参阅 openclaw.md。

独立用法

直接运行检查脚本——无需 OpenClaw:

bash check.sh

向 stdout 输出一个 JSON 对象。你可以按自己的方式解析——通过管道传给 jq、交给 Agent 处理,或集成到自己的监控系统中。

输出格式
{
  "suspicious": true,
  "summary": {
    "ram": "12.3/31.2 GB (39%)",
    "swap": "0.5/8.0 GB (6%)",
    "load": "1.2/0.8/0.6",
    "cores": 8,
    "disk": "120/256 GB (45%)"
  },
  "issues": [
    {
      "type": "high_ram",
      "description": "claude (PID 1234) 4650MB RAM",
      "details": { "pid": 1234, "name": "claude", "cpu_pct": 2.1, "mem_mb": 4650, "elapsed": "3d" }
    }
  ],
  "top_processes": [
    { "pid": 1234, "name": "claude", "cpu_pct": 2.1, "mem_mb": 4650, "elapsed": "3d" }
  ]
}
  • suspicious: true → 至少有一项问题超出阈值
  • suspicious: false → 系统状态正常
阈值
检查项阈值问题类型
进程 RAM> 4096 MBhigh_ram
进程 CPU> 50%high_cpu
陈旧进程运行时间 > 2 天,且使用 > 100 MB 或 > 1% CPUstale
磁盘使用率根挂载点上 > 80%disk
常见问题进程
  • claude / codex — 连续运行数天的 AI 编码 Agent
  • whisper / whisper-server — 占用 GPU/RAM 的语音转文本服务
  • python / python3 — 失控的脚本或未释放的进程
  • node — 尚未停止的开发服务或构建任务

Agent 工作流(适用于 AI Agent)

  1. 运行 check.sh
  2. 解析 JSON 输出
  3. 如果 suspicious 为 false → 不做任何操作(无需报告)
  4. 如果 suspicious 为 true → 整理一份简洁的报告并通知用户
建议的报告格式
⚠️ System Watchdog Report

📊 System: RAM 12.3/31.2 GB (39%) | Swap 0.5/8.0 GB (6%) | Load 1.2/0.8/0.6
💾 Disk: / 45% (120/256 GB)

🔴 Issues Found:

HIGH RAM — claude (PID 1234)
  CPU: 2.1% | RAM: 4650 MB | Running: 3 days
  → Likely stale, safe to kill

💡 Suggested: kill 1234

平台说明

  • 仅适用于 macOS — check.sh 使用 sysctl、vm_stat 和 macOS 的 ps 标志。在 Linux 上无法直接运行,需进行适配(替换为 free、/proc/meminfo 等)。
  • 偶发 jq 风格的解析错误 — 由于进程扫描中的竞态,脚本偶尔会在首次运行时失败。报告失败前请重试一次。

评论

支持 Markdown