在 Cloudflare 上运行 Devin agents ↗。每个 Devin 会话在由 Cloudflare Containers 支持的独立隔离 sandbox 中运行。
你需要:
- 具有管理 outposts 与 service users 权限的 Devin Enterprise 组织
- 可访问 Workers、Containers 和 R2 的 Cloudflare 账户
- 若手动部署,需要 Node.js 24 ↗ 以及正在运行的 Docker ↗ 守护进程
-
打开 Devin 组织的 outpost 设置。将此 URL 中两处
my-org替换为你的组织 slug:https://my-org.devinenterprise.com/org/my-org/settings/enterprise-environment?tab=outposts -
创建或选择一个 outpost。复制其 outpost ID 作为
DEVIN_OUTPOST_ID,复制其 token 作为DEVIN_API_TOKEN。
有关 outposts 的更多信息,请参阅 Devin Outposts 概览 ↗。
最快的设置方式是使用 Deploy to Cloudflare(部署到 Cloudflare) 按钮。部署流程会提示输入 Devin Outpost ID 和 API token,并创建与配置所需的容器。
提示时输入这些凭据:
| 变量 | 值 |
|---|---|
DEVIN_OUTPOST_ID |
你的 Devin Outpost ID |
DEVIN_API_TOKEN |
具有 Run outpost workers(运行 outpost workers) 权限的 Devin service-user token |
部署完成后,从 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 token 存储为 Worker secret:
npx wrangler secret put DEVIN_API_TOKEN在 Wrangler 提示时输入 service-user token。不要将 token 添加到
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 每分钟轮询一次 Devin,因此可能需要等待最多一分钟,会话容器才会启动。
模板管理每个 Devin 会话的生命周期:
- 轮询: cron 触发器每分钟运行一次。worker 检查你的 Devin Outpost 的当前会话状态。
- 启动: 每个待处理或运行中的会话获得自己的容器。容器运行官方 Devin worker 命令。
- 挂起: 会话挂起时,容器将
/root、/workspace和/opt/devin-persistent归档到 R2。会话恢复时容器会还原检查点。 - 终止: 会话终止时,worker 会移除其容器和 R2 检查点。
worker 协调容器。Devin 继续管理会话分配和会话运行时。