Cloudflare 上で Devin agents ↗ を動かします。各 Devin セッションは、Cloudflare Containers 上の分離されたサンドボックスで動きます。
次が必要です。
- Outpost とサービスユーザーを管理できる権限を持つ Devin Enterprise 組織
- Workers、Containers、R2 を使える Cloudflare アカウント
- 手動デプロイの場合は、Node.js 24 ↗ と起動中の Docker ↗ デーモン
-
所属する Devin 組織の Outpost 設定を開きます。次の URL の
my-orgを、どちらも組織スラッグに置き換えます。https://my-org.devinenterprise.com/org/my-org/settings/enterprise-environment?tab=outposts -
Outpost を作成するか、既存のものを選びます。Outpost ID を
DEVIN_OUTPOST_ID用に、トークンをDEVIN_API_TOKEN用にコピーします。
Outpost の詳細は Devin Outposts overview ↗ を参照してください。
いちばん速いセットアップは Deploy to Cloudflare ボタンです。デプロイ時に Devin Outpost ID と API トークンを求められます。必要なコンテナの作成と設定も行われます。
求められたら、次の認証情報を入力します。
| 変数 | 値 |
|---|---|
DEVIN_OUTPOST_ID |
Devin Outpost ID |
DEVIN_API_TOKEN |
Run outpost workers 権限を持つ Devin のサービスユーザートークン |
デプロイが完了したら、Virtual environment メニューからこの Outpost を選び、Cloudflare 上で Devin セッションを実行できます。
テンプレートへ依存関係、ツール、環境変数を追加したい場合は、次の手順を使います。
-
Devin Outpost テンプレートからプロジェクトを作成します。
npm create cloudflare@latest -- cloudflare-devin-outpost --template=cloudflare/sandbox-sdk/devinyarn create cloudflare cloudflare-devin-outpost --template=cloudflare/sandbox-sdk/devinpnpm create cloudflare@latest cloudflare-devin-outpost --template=cloudflare/sandbox-sdk/devin -
プロジェクトディレクトリへ移動し、Cloudflare アカウントにログインします。
cd cloudflare-devin-outpost npx wrangler login -
セッションのチェックポイント用に R2 バケットを作成します。
npx wrangler r2 bucket create devin-outpost-state別のバケット名を使う場合は、
wrangler.jsoncのbucket_nameを更新します。 -
wrangler.jsoncで、空のDEVIN_OUTPOST_IDを自分の Outpost ID に置き換えます。デフォルトの
DEVIN_API_URLはhttps://api.devin.ai/opbetaです。Devin 環境が別の API URL を使う場合だけ変更します。 -
Devin API トークンを Worker secret として保存します。
npx wrangler secret put DEVIN_API_TOKENWrangler に求められたら、サービスユーザートークンを入力します。トークンを
wrangler.jsoncに書かないでください。 -
Worker とコンテナをデプロイします。
npm run deployWrangler がコンテナをビルドし、Worker、コンテナアプリケーション、cron トリガーをデプロイします。
-
Wrangler の出力にある Worker URL で、デプロイを確認します。
curl https://<YOUR_WORKER>.workers.dev/Worker は次を返します。
{ "service": "devin-outpost", "status": "ok" }
Devin でセッションを作成し、Virtual environment メニューから自分の Outpost を選びます。Worker は 1 分に 1 回ポーリングするため、セッションコンテナの起動まで最大 1 分かかることがあります。
テンプレートは、各 Devin セッションのライフサイクルを管理します。
- Poll: cron トリガーが 1 分に 1 回動きます。Worker は、所属する Devin Outpost の現在のセッション状態を確認します。
- Start: 保留中または実行中の各セッションに、専用のコンテナが割り当てられます。コンテナは公式の Devin worker コマンドを実行します。
- Suspend: セッションが中断されると、コンテナは
/root、/workspace、/opt/devin-persistentを R2 へアーカイブします。セッション再開時、コンテナはこのチェックポイントを復元します。 - Terminate: セッションが終了すると、Worker はそのコンテナと R2 のチェックポイントを削除します。
Worker はコンテナを調整します。セッションの割り当てとセッションランタイムの管理は、これまでどおり Devin が行います。