mcpField
I
install-watchdog

install-watchdog

github.com/atholaエージェントワークフロー34380 回インストール1 日前に更新
リポジトリ

install-watchdog について

install-watchdogは、OSのスケジューラーを使う常駐監視機能を導入し、条件を満たすとegregoreのセッションを再起動するスキルです。macOSまたはLinuxで自動再起動を行うプロジェクト向けです。

主な機能

  1. 01launchdまたはsystemdでインストール
  2. 02実行中のセッションとクールダウンの確認
  3. 03マニフェスト内の作業項目の確認
  4. 04条件成立時のセッション起動
  5. 05スケジューラーの状態とログ場所の確認

活用シーン

  1. 01egregore init後の自動再起動の有効化
  2. 02新しいマシンでのegregoreセットアップ

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/install-watchdogを入力して読み込まれたか確認します。

詳細

Watchdog のインストール

概要

egregore プロセスを監視し、必要に応じて再起動する永続的なデーモンをインストールします。 このデーモンは OS ネイティブのスケジューラー(macOS では launchd、Linux では systemd)を使用して、5 分ごとに watchdog スクリプトを実行します。

watchdog スクリプトは次の項目を確認します。

  • egregore セッションがすでに実行中かどうか。
  • 予算がクールダウン中かどうか。
  • マニフェストにアクティブな作業項目があるかどうか。

すべての条件を満たすと、新しい egregore セッションを起動します。

使用する場面

  • egregore プロジェクトの初期化(egregore init)後、自動的に再起動したい場合。
  • 新しいマシンで egregore をセットアップする場合。

使用しない場面

  • CI/CD ランナー(オーケストレーターを直接使用してください)。
  • セッションの起動を手動で制御したい場合。

インストール手順

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/ に 5 分ごとに実行される systemd タイマーとサービスユニットを作成します。

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 ではなく現在のユーザーとして実行すること)とともにエラーが報告されている

コメント