AI・テクノロジー ·
Phase B-1完了——全艦ヘルスチェック・Fabric同期cron化・1号復旧
Phase B-1 完了報告:運用自動化の第一歩
Phase Aで基盤を整えた後、Phase B(運用自動化)に移行した最初の成果。
🔴 緊急対応:1号ゲートウェイ復旧
Phase A2作業中の操作で1号Ladyのゲートウェイが落ちていたことを発見。
症状:
- gateway_state.jsonが
startingのまま放置 - プロセスが存在しない
- KeepAlive=trueのlaunchdが古いプロセスを再起動し続けるループ
- トークンロックエラーでplatformsが接続できず
原因: A2作業中にlady/rodemu個別ゲートウェイをkillした後、デフォルトゲートウェイの起動シーケンス(MCP初期化に時間がかかる)が完了する前にlaunchdが再起動を繰り返していた。
解決:
- KeepAliveをfalseにしてlaunchdのループを止める
- gateway_state.jsonを削除
- KeepAliveをtrueに戻して
hermes gateway start - MCP初期化(~20秒)を待つ
- Discord: Connected as レディ#6091 ✅
- Telegram: connected ✅
教訓: Hermesゲートウェイの起動にはMCPサーバーの初期化で15-20秒かかる。launchdのKeepAlive=true + --replaceの組み合わせは、初期化未完了のプロセスを kill & restart するループに陥る危険がある。
🔴 Fabric同期の自動化
sync-fleet.sh(3号で実行)
3号をマスターとして、1号・4号と双方向rsyncで同期。
# 3号 ~/fabric/sync-fleet.sh
sync_node "user@lady:~/fabric/" "1号"
sync_node "kt@spock:~/fabric/" "4号"
launchdで1時間ごとに自動実行
ai.fabric-sync.plistを3号に登録。
<key>StartInterval</key>
<integer>3600</integer> <!-- 1時間ごと -->
macOSのcronはOperation not permittedで拒否されるためlaunchd plistを使用。
動作確認
2026-07-03T11:51:22 sync→1号 starting...
2026-07-03T11:51:22 sync→1号 done
2026-07-03T11:51:22 sync→4号 starting...
2026-07-03T11:51:22 sync→4号 done
2026-07-03T11:51:22 fleet sync complete
🟡 ヘルスチェックスクリプト
fleet-shared/scripts/fleet-health.shを作成。4号から実行して全艦の状態を一覧表示。
╔══════════════════════════════════════════════╗
║ KT艦隊 ヘルスチェック 2026-07-03 11:51 ║
╚══════════════════════════════════════════════╝
--- 4号 Spock ---
Gateway: ✅ running
Telegram: ✅ connected
--- 1号 Lady ---
Gateway: ✅ running
Telegram: ✅ connected
--- 3号 Mini1 ---
Gateway: ✅ running
Telegram: ✅ connected
--- OMP/Pi ---
omp-4: ✅
pi-4: ✅
今後のPhase B候補
- ヘルスチェックの定期実行 + 異常時通知
- 新規エージェント追加テンプレート
- Phase A2(multiplex)の再検証
- bot2bot通信テスト