ステップ監視 Cog(step_monitor.py)実装記録

概要

Antigravityの24/7自律稼働を実現するため、#実行・指示 チャンネルを監視して完了報告を検知し、次ステップを自動投入するCogを実装。

ファイル

  • ローカル: c:\ai_work\tools\bots\new_bot\vps_deploy\cogs\step_monitor.py
  • VPS: /opt/new_bot/cogs/step_monitor.py

機能一覧

機能検知パターン動作
ステップ完了✅ STEP_COMPLETE: {id}#nana-command に次ステップ投入
エラー検知⚠️ STEP_ERROR: {id}ソフィアにDM通知
LLM自動判定「完了」等のキーワードGemini Flash で判定→完了なら次投入
タイムアウト2時間無応答ソフィアに通知

ハイブリッド検知ロジック

Phase 1: フォーマット検知(正規表現)
  ✅ STEP_COMPLETE → 即座に次ステップ投入
  ⚠️ STEP_ERROR → ソフィア通知
  📋 STEP_PLAN → リアクションのみ

Phase 2: LLM判定(フォーマットなし)
  「完了」「finished」等キーワードあり → Gemini Flash API
  → COMPLETE / IN_PROGRESS / ERROR を判定

連携フロー

Antigravity → #実行・指示 に完了報告
  ↓ ナナが検知(スレッド自動参加)
  ↓ 📌 次ステップ指示を投稿
  ↓ listener.py(Antipigeon)が検知 → Queue
  ↓ Local Poller → Antigravity IDE 起動
  ↓ 次のセッション開始

環境変数

変数用途VPS設定状況
GEMINI_API_KEYLLM判定用✅ 設定済み
OPENCLAW_WORKER_URLOpenClaw API✅ 設定済み
DISCORD_ALLOWED_USER_IDソフィアUser ID✅ 設定済み
NANA_WEBHOOK_URLWebhook投稿(任意)未設定
STEP_TIMEOUT_SECONDSタイムアウト秒数デフォルト7200

デプロイ手順

# ローカル → VPS へコピー
scp "c:\ai_work\tools\bots\new_bot\vps_deploy\cogs\step_monitor.py" root@n8n.siruera.com:/opt/new_bot/cogs/
 
# Bot 再起動
ssh root@n8n.siruera.com "systemctl restart discord-bot.service"
 
# 確認
ssh root@n8n.siruera.com "systemctl status discord-bot.service --no-pager"

残タスク

  • Discordでの実動作テスト(2026-03-05 完了)
  • Webhook設定(ナナアバターでの投稿)
  • 連続3ステップ実行テスト

関連