OpenClaw 実装手順書
概要
AntigravityからOpenClaw(Cloudflare Worker)へタスクを委譲する仕組みのセットアップ手順。
STEP 1: 前提条件確認
- Node.js・npm インストール済み
wranglerインストールnpm install -g wrangler wrangler login- Account ID:
c1f1e2a1f4add114af19f31252bbfbf8
STEP 2: Workerファイル
C:\ai_work\openclaw_worker.js — 実装済み
対応アクション:
| action | 概要 |
|---|---|
health_check | URL死活確認(HTTP HEAD / レイテンシ計測) |
browse_and_collect | タイトル・メタ情報収集 |
monitor | SHA-256ハッシュ比較による変化検知 |
NOTE
修正済み(2026-02-24):
queue/.gitkeepをjson()でパースするエラーを修正。.json拡張子フィルタ+try/catchを追加。
STEP 3: wrangler.toml
C:\ai_work\wrangler.toml
name = "openclaw"
main = "openclaw_worker.js"
account_id = "c1f1e2a1f4add114af19f31252bbfbf8"
[triggers]
crons = ["*/5 * * * *"]
[[r2_buckets]]
binding = "R2_BUCKET"
bucket_name = "anticrow-r2"STEP 4: .env 設定
C:\ai_work\new_bot\.env に設定済み:
| キー | 値 |
|---|---|
CF_R2_ENDPOINT | https://c1f1e2a1f4add114af19f31252bbfbf8.r2.cloudflarestorage.com |
CF_R2_ACCESS_KEY | (設定済み) |
CF_R2_SECRET_KEY | (設定済み) |
CF_R2_BUCKET | anticrow-r2 |
OPENCLAW_WORKER_URL | https://openclaw.umebiz5726.workers.dev |
DISCORD_LOG_CHANNEL_ID | 1475373554064294010 |
STEP 5: デプロイ & R2初期化
cd C:\ai_work
wrangler deploy
# R2フォルダ初期化
wrangler r2 object put anticrow-r2/queue/.gitkeep --file <emptyfile> --remote
wrangler r2 object put anticrow-r2/feedback/.gitkeep --file <emptyfile> --remoteデプロイ情報(2026-02-24):
- URL:
https://openclaw.umebiz5726.workers.dev - Version:
a3bc725a-a1fa-48d0-ac9a-184e65c09879 - Cron:
*/5 * * * *有効
STEP 6: watchdog & r2_digest 常駐
Start-Process powershell -ArgumentList "-ExecutionPolicy Bypass -WindowStyle Hidden -File C:\ai_work\watchdog.ps1"watchdog.ps1 が r2_digest.py を自動管理する。
STEP 7: 動作確認
# ヘルスチェック
Invoke-RestMethod -Uri "https://openclaw.umebiz5726.workers.dev/health" -Method GET
# → {"status":"ok","agent":"openclaw"}
# タスク投入 → 即時実行
$ts = Get-Date -Format 'yyyyMMdd_HHmmss'
$task = @{
task_id = "test_${ts}_000001"
action = "health_check"
target_url = "https://quartz-wiki.pages.dev"
callback_key = "feedback/test_result_${ts}.json"
expires_at = (Get-Date).AddHours(1).ToString("yyyy-MM-ddTHH:mm:ss+09:00")
processed = $false
} | ConvertTo-Json
$task | Out-File "test_task.json" -Encoding utf8
wrangler r2 object put "anticrow-r2/queue/test_task.json" --file test_task.json --remote
Invoke-RestMethod -Uri "https://openclaw.umebiz5726.workers.dev/run" -Method POST
# → {"status":"triggered"}
# フィードバック確認(5〜10秒後)
wrangler r2 object get "anticrow-r2/feedback/test_result_${ts}.json" --remote --pipe
# → {"status":"success","result":{"summary":"OK 200 (71ms)",...}}