OpenClaw デプロイ手順書

CAUTION

2026-03-07: Cloudflare上のWorkerは削除済み コスト対効果が低いため削除。現在Cloudflare上ではデプロイしていません。 再デプロイが必要な場合のみ本手順を使用。

前提条件

  • Cloudflare アカウント(Account ID: c1f1e2a1f4add114af19f31252bbfbf8
  • Node.js インストール済み
  • c:\ai_work\openclaw_worker.js 作成済み ✅
  • c:\ai_work\wrangler.toml 作成済み ✅

STEP 1: R2バケットの作成(ダッシュボード)

  1. https://dash.cloudflare.comR2 → 「バケットを作成」
  2. バケット名: anticrow-r2
  3. 作成後 → 「設定」→「R2 APIトークン」→「APIトークンを作成」
    • 権限: Object Read & Write
    • 対象バケット: anticrow-r2 のみ
  4. 発行された以下を .env に設定:
    CF_R2_ACCESS_KEY=(表示されたAccess Key ID)
    CF_R2_SECRET_KEY=(表示されたSecret Access Key)
    

STEP 2: Wrangler インストール & ログイン

npm install -g wrangler
wrangler login

STEP 3: Worker デプロイ

cd C:\ai_work
wrangler deploy

デプロイ後にWorker URLが表示される(例: https://openclaw.xxx.workers.dev) → .envOPENCLAW_WORKER_URL に設定

STEP 4: R2 フォルダ構造の初期化

# queue/ と feedback/ を初期化するテストファイルを配置
wrangler r2 object put anticrow-r2/queue/.gitkeep --file NUL
wrangler r2 object put anticrow-r2/feedback/.gitkeep --file NUL

STEP 5: DISCORD_LOG_CHANNEL_ID の設定

  1. Discordai-log チャンネルを右クリック → 「IDをコピー」
  2. .envDISCORD_LOG_CHANNEL_ID に設定

STEP 6: watchdog 再起動

# 既存watchdogを停止して再起動(r2_digest.pyが自動起動される)
Start-Process powershell -ArgumentList "-ExecutionPolicy Bypass -WindowStyle Hidden -File C:\ai_work\watchdog.ps1"

動作確認

# テスト用指示JSONをR2に配置
$testTask = @{
    task_id = "test_$(Get-Date -Format 'yyyyMMdd_HHmmss')_000001"
    issued_by = "antigravity"
    action = "health_check"
    target_url = "https://quartz-wiki.pages.dev"
    callback_key = "feedback/test_result.json"
    expires_at = (Get-Date).AddHours(1).ToString("yyyy-MM-ddTHH:mm:ss+09:00")
    processed = $false
} | ConvertTo-Json
$testTask | Out-File -FilePath "test_task.json" -Encoding utf8
wrangler r2 object put anticrow-r2/queue/test_task.json --file test_task.json

→ 5分以内に OpenClaw が実行し feedback/test_result.json が生成される
r2_digest.py が1時間後にダイジェストをDiscordへ投稿


完了後の自律運用フロー

Antigravity が指示JSON生成 → R2 queue/ に配置
    ↓(Cron: 5分ごと)
OpenClaw が実行 → R2 feedback/ に結果書き込み
    ↓(1時間ごと)
r2_digest.py がフィードバック収集
    → Discord ai-log にダイジェスト投稿
    → 05_Daily/03_Log/今週ログ.md に追記