跳转到内容
搜索文档

在 Cloudflare 上运行 Devin Outposts

最后更新 查看 MarkdownAgent 设置

在 Cloudflare 上运行 Devin agents。每个 Devin 会话在由 Cloudflare Containers 支持的独立隔离 sandbox 中运行。

前提条件

你需要:

  • 具有管理 outposts 与 service users 权限的 Devin Enterprise 组织
  • 可访问 Workers、Containers 和 R2 的 Cloudflare 账户
  • 若手动部署,需要 Node.js 24 以及正在运行的 Docker 守护进程

获取 Devin 凭据

  1. 打开 Devin 组织的 outpost 设置。将此 URL 中两处 my-org 替换为你的组织 slug:

    https://my-org.devinenterprise.com/org/my-org/settings/enterprise-environment?tab=outposts
  2. 创建或选择一个 outpost。复制其 outpost ID 作为 DEVIN_OUTPOST_ID,复制其 token 作为 DEVIN_API_TOKEN

有关 outposts 的更多信息,请参阅 Devin Outposts 概览

一键部署

最快的设置方式是使用 Deploy to Cloudflare(部署到 Cloudflare) 按钮。部署流程会提示输入 Devin Outpost ID 和 API token,并创建与配置所需的容器。

Deploy to Cloudflare

提示时输入这些凭据:

变量
DEVIN_OUTPOST_ID 你的 Devin Outpost ID
DEVIN_API_TOKEN 具有 Run outpost workers(运行 outpost workers) 权限的 Devin service-user token

部署完成后,从 Virtual environment 菜单中选择该 outpost,即可在 Cloudflare 上运行 Devin 会话。

自定义并手动部署

当你需要向模板添加依赖、工具或环境变量时,使用以下步骤。

  1. 从 Devin Outpost 模板创建项目:

    npm create cloudflare@latest -- cloudflare-devin-outpost --template=cloudflare/sandbox-sdk/devin
  2. 进入项目目录并登录 Cloudflare 账户:

    cd cloudflare-devin-outpost
    npx wrangler login
  3. 创建用于会话检查点的 R2 存储桶:

    npx wrangler r2 bucket create devin-outpost-state

    若要使用其他存储桶名称,请更新 wrangler.jsonc 中的 bucket_name

  4. wrangler.jsonc 中,将空的 DEVIN_OUTPOST_ID 值替换为你的 outpost ID。

    默认 DEVIN_API_URLhttps://api.devin.ai/opbeta。仅当你的 Devin 环境使用其他 API URL 时才更改此值。

  5. 将 Devin API token 存储为 Worker secret:

    npx wrangler secret put DEVIN_API_TOKEN

    在 Wrangler 提示时输入 service-user token。不要将 token 添加到 wrangler.jsonc

  6. 部署 worker 和容器:

    npm run deploy

    Wrangler 会构建容器,并部署 worker、容器应用和 cron 触发器。

  7. 使用 Wrangler 输出中的 worker URL 验证部署:

    curl https://<YOUR_WORKER>.workers.dev/

    worker 返回:

    {
      "service": "devin-outpost",
      "status": "ok"
    }

运行 Devin 会话

在 Devin 中创建会话,并从 Virtual environment(虚拟环境) 菜单选择你的 outpost。worker 每分钟轮询一次 Devin,因此可能需要等待最多一分钟,会话容器才会启动。

模板工作原理

模板管理每个 Devin 会话的生命周期:

  • 轮询: cron 触发器每分钟运行一次。worker 检查你的 Devin Outpost 的当前会话状态。
  • 启动: 每个待处理或运行中的会话获得自己的容器。容器运行官方 Devin worker 命令。
  • 挂起: 会话挂起时,容器将 /root/workspace/opt/devin-persistent 归档到 R2。会话恢复时容器会还原检查点。
  • 终止: 会话终止时,worker 会移除其容器和 R2 检查点。

worker 协调容器。Devin 继续管理会话分配和会话运行时。

相关资源

这篇文档对您有帮助吗?