360 Secure SkillHub
360 安全技能中心

install-watchdog

通过 launchd(macOS)或 systemd(Linux)用户级调度器安装 egregore watchdog,每 5 分钟检查会话是否在运行、预算是否冷却、清单是否有待办工作,条件满足则启动新会话;包含检测系统、安装、验证、排障步骤以及卸载指引。

athola
athola
热度 61.91
最近更新 2026-08-26 21:11:57
分类:自动化依赖:代码执行 / 读写文件应用场景:DevOps / 自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add nm-egregore-install-watchdog
Metadata
name
install-watchdog
description
Installs egregore watchdog daemon via launchd or systemd for autonomous relaunching
version
1.9.8
triggers
["setting up egregore on a new machine"]
metadata
{"openclaw":{"homepage":"https://github.com/athola/claude-night-market/tree/master/plugins/egregore","emoji":"🦞"}}
source
claude-night-market
source_plugin
egregore

Night Market Skill — ported from claude-night-market/egregore. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

Install Watchdog

Overview

Installs a persistent daemon that monitors the egregore process and relaunches it when needed. The daemon uses the OS-native scheduler (launchd on macOS, systemd on Linux) to run a watchdog script every 5 minutes.

The watchdog script checks:

  • Whether an egregore session is already running.
  • Whether the budget is in cooldown.
  • Whether there are active work items in the manifest.

If all conditions are met, it launches a new egregore session.

When To Use

  • After initializing an egregore project (egregore init) when you want autonomous relaunching.
  • When setting up egregore on a new machine.

When NOT To Use

  • On CI/CD runners (use the orchestrator directly).
  • When you want manual control over session launches.

Installation Steps

1. Detect the operating system

OS=$(uname -s)

2. Run the appropriate installer

macOS (launchd):

bash plugins/egregore/scripts/install_launchd.sh

This script creates a plist at ~/Library/LaunchAgents/com.egregore.watchdog.plist that runs the watchdog script every 300 seconds (5 minutes).

Linux (systemd):

bash plugins/egregore/scripts/install_systemd.sh

This script creates a systemd timer and service unit at ~/.config/systemd/user/ that fires every 5 minutes.

3. Verify installation

macOS:

launchctl list | grep egregore

Expected output: a line containing com.egregore.watchdog with a PID or - status.

Linux:

systemctl --user status egregore-watchdog.timer

Expected output: active (waiting) status.

4. Confirm to the user

Report the installation result, the schedule interval, and the log file location:

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

Uninstall Command

To remove the watchdog, run:

Skill(egregore:uninstall-watchdog)

Or invoke the uninstall skill directly via the command /egregore:uninstall-watchdog.

Troubleshooting

  • Permission denied on plist: ensure the script runs as the current user, not root.
  • systemd user session not available: run loginctl enable-linger $USER to enable user services without an active login session.
  • Watchdog not firing: check the log output and verify the scheduler is loaded (launchctl list or systemctl --user list-timers).