SuperAPI AI 工具集

monitor-tool

部署与运维

查看项目

更新于 10-16 05:25

技能介绍

用途

Monitor Tool 用于把后台进程的事件流式传入对话。它启动一个后台监视器(watcher),监视器在后台运行,每个事件都会作为新的对话消息立即送达,Claude 随即对事件做出反应——不需要轮询循环,也不需要用 sleep 保持回合开启。对话保持开启,事件异步到达,Claude 逐个处理并决定是否采取行动。

该工具自 v2.1.98 起可用。

主要能力

与传统的 Bash 轮询方式相比,Monitor Tool 的差异在于:

  • Bash(sleep 循环、轮询):使用 while true; do check_ci_status; sleep 30; done 这类循环反复检查。
  • Monitor tool:Claude 启动一个监视器,监视器在后台运行,每个事件产生一条新消息,Claude 立即做出反应。

常见使用场景

  • 跟踪日志文件:例如“在后台跟踪 server.log,一旦出现 5xx 就告诉我”。Claude 在 server.log 上启动监视器,每条新日志行作为对话消息到达;当匹配到 5xx 模式时,Claude 立即反应——描述错误、建议修复或自动应用修复。
  • 监视 PR 上的 CI:例如“监视我当前分支上的 CI,出现失败就修复”。Claude 监视 CI 状态,当某项检查失败时,读取失败输出、编写修复并推送。
  • 自动修复开发服务器崩溃:例如“在后台启动开发服务器,监视崩溃,崩溃时重启并修复”。Claude 启动服务器、监视其输出,出现崩溃时读取 traceback、修补代码并重启。
  • 训练运行进度:例如“启动训练,并在每个 epoch 汇总进度,同时不让会话空闲”。Claude 监视训练输出,并在事件到达时发送 epoch 汇总。

使用方式

/loop 自适应节奏

/loop 现在支持自适应节奏:如果省略间隔,Claude 会根据正在等待的内容选择下一次 tick 的时机。当 Monitor 工具可用时,Claude 会优先使用它而不是轮询。

例如:

/loop check CI on my PR

Claude 将会:

  1. 使用 Monitor 工具监视 CI(而不是用 sleep 轮询)
  2. 结果一到达就立即反应
  3. 仅在无法使用 Monitor 时才安排下一次检查

显式间隔(仍然有效):

/loop --interval 60 run the dependency audit

动态方式(推荐):

/loop check CI on my PR

将 Monitor 与 PreToolUse 钩子配对

如果希望限制 Monitor 可以监视的内容(例如仅限内部主机),可使用如下配置:

{
  "hooks": {
    "PreToolUse": [{
      "hooks": [{
        "if": "Monitor(*)",
        "type": "command",
        "command": ".claude/hooks/monitor-allowlist.sh"
      }]
    }]
  }
}

对应的允许列表脚本示例:

#!/usr/bin/env bash
# monitor-allowlist.sh — only allow monitoring local files and localhost
set -euo pipefail
INPUT=$(cat)
TARGET=$(echo "$INPUT" | jq -r '.tool_input.target // ""')

case "$TARGET" in
  *.log|localhost:*|/tmp/*)
    echo '{"decision": "approve"}'
    ;;
  *)
    jq -n --arg t "$TARGET" '{"decision":"block","reason":("Monitor target not allowed: "+$t)}'
    ;;
esac

工具选择:Monitor vs Bash 循环 vs ScheduleWakeup

场景 最佳工具
实时响应日志事件 Monitor tool
等待已知时长的进程(如 8 分钟构建) ScheduleWakeup(约 270s,保持在缓存中)
每分钟轮询 REST 端点 Monitor tool(包装在监视脚本中)
长时间空闲的后台检查(>30 分钟) ScheduleWakeup(1200s+)
按需的一次性进程检查 Bash

适用平台与限制

可用环境:

  • CLI(v2.1.98+)
  • 桌面应用

不可用环境:

  • -p(print/pipe)无头模式

关于收费、价格、具体平台支持范围等更多信息,资料中暂未提供。