mcpField
I
install-watchdog

install-watchdog

github.com/atholaAgent 工作流34380 次安装1 天前更新
代码仓库

关于 install-watchdog

install-watchdog 是一项技能,可安装基于系统调度器的常驻监控程序,并在满足条件时重启 egregore 会话,适用于需要自动重启的 macOS 或 Linux 项目。

主要功能

  1. 01使用 launchd 或 systemd 安装
  2. 02检查运行中的会话与冷却状态
  3. 03检查清单中的活跃任务
  4. 04条件满足时启动会话
  5. 05验证调度器状态与日志位置

适用场景

  1. 01在 egregore init 后启用自动重启
  2. 02在新机器上配置 egregore

安装

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

$npx skills add https://github.com/athola/claude-night-market --skill install-watchdog

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

详细介绍

安装 Watchdog

概述

安装一个持久运行的守护进程,用于监控 egregore 进程,并在需要时重新启动它。 守护进程使用操作系统原生调度器(macOS 上为 launchd, Linux 上为 systemd),每 5 分钟运行一次 watchdog 脚本。

watchdog 脚本会检查:

  • 是否已有 egregore 会话在运行。
  • 预算是否处于冷却状态。
  • manifest 中是否有活动工作项。

如果满足所有条件,它会启动一个新的 egregore 会话。

适用场景

  • 初始化 egregore 项目(egregore init) 后,需要自动重新启动时。
  • 在新机器上设置 egregore 时。

不适用场景

  • 在 CI/CD 运行器上(请直接使用 orchestrator)。
  • 需要手动控制会话启动时。

安装步骤

1. 检测操作系统
OS=$(uname -s)
2. 运行相应的安装程序

macOS(launchd):

bash plugins/egregore/scripts/install_launchd.sh

此脚本会在 ~/Library/LaunchAgents/com.egregore.watchdog.plist 创建一个 plist,每 300 秒(5 分钟)运行一次 watchdog 脚本。

Linux(systemd):

bash plugins/egregore/scripts/install_systemd.sh

此脚本会在 ~/.config/systemd/user/ 创建一个 systemd 定时器和服务单元,每 5 分钟触发一次。

3. 验证安装

macOS:

launchctl list | grep egregore

预期输出:包含 com.egregore.watchdog 且带有 PID 或 - 状态的一行。

Linux:

systemctl --user status egregore-watchdog.timer

预期输出:状态为 active (waiting)。

4. 向用户确认

报告安装结果、运行间隔和 日志文件位置:

  • macOS:~/.egregore/watchdog.log
  • Linux:journalctl --user -u egregore-watchdog

卸载命令

如需移除 watchdog,请运行:

Skill(egregore:uninstall-watchdog)

或者直接通过命令 /egregore:uninstall-watchdog 调用卸载技能。

故障排除

  • plist 权限被拒绝:确保脚本以当前用户身份运行, 而不是以 root 身份运行。
  • systemd 用户会话不可用:运行 loginctl enable-linger $USER,以便在没有活动登录会话时启用用户服务。
  • Watchdog 未触发:检查日志输出,并确认调度器已加载(launchctl list 或 systemctl --user list-timers)。

完成标准

  • 在 macOS 上:安装脚本运行完成后,~/Library/LaunchAgents/com.egregore.watchdog.plist 文件存在
  • 在 Linux 上:安装脚本运行完成后,~/.config/systemd/user/egregore-watchdog.timer 文件存在
  • 验证命令确认守护进程已加载:launchctl list | grep egregore 返回一行(macOS),或 systemctl --user status egregore-watchdog.timer 显示 active (waiting)(Linux)
  • 安装后向用户报告运行间隔(300 秒 / 5 分钟)和日志文件路径
  • 如果出现 permission denied,需报告错误并提供解决步骤(以当前用户身份运行,而不是以 root 身份运行)

评论

支持 Markdown