SuperAPI AI 工具集

cc-monitor-tool

部署与运维

查看项目

更新于 10-16 06:05

技能介绍

用途

Monitor Tool 用于将后台进程的事件以流式方式推送到对话中。它启动一个后台观察器,观察器在后台运行,每当产生一个新事件,就作为一条新的对话消息立即送达,Claude 随即对该事件做出反应。整个过程无需轮询循环,也无需用 sleep 保持回合打开。对话保持开启,事件异步到达,Claude 逐个处理并决定是否采取行动。

该工具自 v2.1.98 起可用。

主要能力

与传统的 Bash 轮询方式相比,Monitor 的差异如下:

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

常见使用场景

跟踪日志文件

在后台跟踪 server.log,一旦出现 5xx 就告诉我

Claude 在 server.log 上启动观察器。每条新日志行作为一条对话消息到达。当匹配到 5xx 模式时,Claude 立即做出反应——描述错误、建议修复方案,或自动应用修复。

监视 PR 上的 CI

监视我当前分支上的 CI,并在失败出现时修复它们

Claude 监视 CI 状态。当某个检查失败时,它读取失败输出、编写修复并推送——全程无需你守在终端前。

自动修复开发服务器崩溃

在后台启动开发服务器,监视崩溃,并在崩溃时重启和修复

Claude 启动服务器、监视其输出,当出现崩溃时,读取 traceback、修补代码并重启。

训练运行进度

启动训练,并在每个 epoch 汇总进度,而不让会话保持空闲

Claude 监视训练输出,并在事件到达时发送 epoch 汇总。

/loop 自定节奏

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

/loop check CI on my PR

Claude 将:

  • 使用 Monitor 工具监视 CI(而不是用 sleep 轮询)
  • 在结果到达的那一刻做出反应
  • 仅在无法使用 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 工具
等待已知时长的进程(8 分钟构建) ScheduleWakeup(约 270s,保持在缓存中)
每分钟轮询 REST 端点 Monitor 工具(包装在观察器脚本中)
长时间空闲的后台检查(>30 分钟) ScheduleWakeup(1200s+)
按需的一次性进程检查 Bash

可用范围

  • CLI(v2.1.98+)
  • 桌面应用
  • 在 -p(print/pipe)无头模式下不可用