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_checkURL死活確認(HTTP HEAD / レイテンシ計測)
browse_and_collectタイトル・メタ情報収集
monitorSHA-256ハッシュ比較による変化検知

NOTE

修正済み(2026-02-24): queue/.gitkeepjson() でパースするエラーを修正。.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_ENDPOINThttps://c1f1e2a1f4add114af19f31252bbfbf8.r2.cloudflarestorage.com
CF_R2_ACCESS_KEY(設定済み)
CF_R2_SECRET_KEY(設定済み)
CF_R2_BUCKETanticrow-r2
OPENCLAW_WORKER_URLhttps://openclaw.umebiz5726.workers.dev
DISCORD_LOG_CHANNEL_ID1475373554064294010

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.ps1r2_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)",...}}

関連ドキュメント