部署background-agents前置条件完整清单:Cloudflare、Modal、GitHub服务账号申请全记录

发布时间:2026/9/1 9:56:22
部署background-agents前置条件完整清单:Cloudflare、Modal、GitHub服务账号申请全记录 部署background-agents前置条件完整清单Cloudflare、Modal、GitHub服务账号申请全记录【免费下载链接】background-agentsAn open-source background agents coding system项目地址: https://gitcode.com/GitHub_Trending/ba/background-agentsbackground-agents是一个开源的后台智能体编码系统Open-InspectAI 在后台沙箱里替你写代码、跑测试、提 PR你可以通过 Web、Slack、GitHub 或 Linear 随时下达任务。想要自托管部署它最劝退的往往不是写代码而是一堆云服务的账号申请和密钥配置。本文把部署 background-agents 的前置条件整理成一份完整清单覆盖 Cloudflare、Modal、GitHub 等服务账号的申请要点让你开工前一次性备齐所有凭据避免部署到一半才发现少了什么东西。一、先搞清楚部署到底需要哪些服务background-agents 用 Terraform 自动化部署你的工作很简单建账号 → 拿凭据 → 填一个配置文件。官方文档 docs/GETTING_STARTED.md 中定义了完整的服务矩阵服务作用是否必须Cloudflare控制平面托管Workers、KV、D1 数据库✅ 必须GitHubOAuth 登录 仓库访问GitHub App✅ 必须AnthropicClaude 模型 API✅ 必须或用其他模型Modal默认沙箱执行后端选一个沙箱提供商即可Daytona / Vercel Sandboxes / OpenComputer / E2B替代沙箱后端与 Modal 四选一Vercel托管 Web 应用可选用 Cloudflare 替代视选择而定Slack / Linear聊天与工单系统集成可选 一个好消息如果你选 Cloudflare 托管 Web 应用web_platform cloudflare可以完全不用 Vercel 账号。二、部署前必备工具清单Node.js、Terraform 与 Wrangler在本地准备好工具链详见 docs/SETUP_GUIDE.mdNode.js 22最低 20 npm构建前端和 WorkerTerraform 1.9执行基础设施部署Wrangler CLI初始化 R2 存储桶Python 3.12 和 uv仅当沙箱选 Modal 时需要uv会自动安装 Modal CLI先git clone https://gitcode.com/GitHub_Trending/ba/background-agents拉取仓库然后执行依赖安装与共享包构建再按需为 packages/modal-infra/ 同步 Python 环境。⚠️ 部署顺序有个坑Terraform apply 之前必须先构建 Worker 产物control-plane、slack-bot、github-bot 等否则 Terraform 会报 no such file 找不到dist/index.js。三、Cloudflare 账号申请控制平面的主场地Cloudflare 是整个系统的地基控制平面、会话状态、D1 数据库、队列都跑在这里。需要拿到 4 样东西Account ID仪表盘首页即可看到Workers 子域名Workers Pages → Overview 面板右下角形如*.your-subdomain.workers.devAPI Token用 Edit Cloudflare Workers 模板创建确认包含以下权限——Workers KV StorageEditWorkers R2 StorageEditD1EditQueuesEdit图像构建收尾队列必需R2 API Token用于 Terraform 状态后端需要 Object Read Write 权限记下 Access Key ID 和 Secret Access Key别忘了R2 需要绑定支付方式但每月前 10 GB 免费。用 Wrangler 创建一个名为open-inspect-terraform-state的桶即可。四、GitHub App 创建ID、私钥与 Installation ID 怎么拿每次部署都必须有一个 GitHub App 提供仓库访问权它是系统克隆代码、提交、推送 PR 的身份来源。关键步骤新建 GitHub App名字需全局唯一仓库权限勾选Contents读写、Issues读写、Pull requests读写、Metadata只读记下App ID和Installation ID安装后从 URL 中获取生成Client Secret如果启用 GitHub 登录生成Private Key并转换为 PKCS#8 格式Cloudflare Workers 只认这种格式⚡ 容易踩的坑如果启用 GitHub 登录App 的Callback URL 必须与你的 Web 应用地址一字不差地匹配否则会报redirect_uri is not associated with this application。另外记得开启 User-to-server token expiration这样才能拿到 refresh token让 PR 以登录用户本人的身份创建并正确署名。完整字段要求参见 docs/GETTING_STARTED.md 的 Step 3。五、Modal 沙箱账号申请默认后端的 5 个凭据Modal 是默认的沙箱执行后端。登录 Modal 控制台后需要记录Token ID和Token SecretSettings → API Tokens 新建Workspace和Environment 名称在控制台 URL 里就能看到Web Suffix环境设置里小写字母数字和短横线默认环境留空如果你更想试试其他沙箱提供商凭据要求完全不同按需申请即可提供商需要的凭据参考文档DaytonaAPI KeySandboxes 读写 Snapshots 读写删除 API URLpackages/daytona-infra/Vercel SandboxesVercel Token Project ID Team IDdocs/VERCEL_SANDBOX_PROVIDER.mdE2B单个 API Key 模板 IDdocs/E2B_SANDBOX_PROVIDER.mdOpenComputerAPI Key API URLdocs/OPENCOMPUTER_PROVIDER.md 注意Modal 会自动把 LLM API 密钥注入沙箱但 Daytona / Vercel / E2B不会——选它们的话部署后要在 Web 端 Settings Secrets 里手动把ANTHROPIC_API_KEY加为全局密钥参见 docs/SECRETS.md。六、可选服务账号按需申请Anthropic、Slack 与 LinearAnthropic在控制台创建一个 API Keysk-ant-开头。想用自己的 OpenAI ChatGPT 订阅或 xAI SuperGrok 订阅跑模型也可以部署后再配见 docs/OPENAI_MODELS.md 与 docs/GROK_MODELS.mdSlack可选从零建 App添加 Bot Token Scopeschat:write、channels:history、im:history、files:read等安装后记下 Bot Token 和 Signing SecretLinear可选在 Linear 设置里创建 OAuth 应用开启 Webhook 和 Client credentials tokens七、生成加密密钥4 个安全密钥一次配齐Terraform 需要几组随机密钥做加密保护用openssl一条命令即可生成建议提前存好token_encryption_keyOAuth token 加密repo_secrets_encryption_key仓库密钥加密modal_api_secretModal 通信密钥hex 格式nextauth_secret浏览器认证密钥github_webhook_secret启用 GitHub bot 时需要八、部署前最终检查清单把所有凭据填入 terraform/environments/production/terraform.tfvars.example 的副本terraform.tfvars然后对照这份清单打勾CloudflareAccount ID、Workers 子域名、API Token、R2 桶 R2 API Token ✅GitHub AppApp ID、PKCS#8 私钥、Installation ID 登录用的 Client ID/Secret✅沙箱提供商凭据Modal / Daytona / Vercel / E2B / OpenComputer 四选一✅Anthropic API Key ✅4 个加密密钥已生成 ✅deployment_name已设为全局唯一值Vercel URL 依赖它✅至少配置了一个登录白名单allowed_users/allowed_email_domains/allowed_github_orgsWorker 产物已构建shared → control-plane / slack-bot / github-bot最后注意两阶段部署第一次 apply 时把enable_durable_object_bindings和enable_service_bindings都设为false成功后改为true再 apply 一次。这是 Cloudflare Durable Objects 服务绑定的硬性要求跳过会直接报错。账号和密钥都备齐后跟随 docs/GETTING_STARTED.md 的 Step 7 起执行 Terraform 即可遇到问题可对照 docs/DEBUGGING_PLAYBOOK.md 排查。祝部署顺利【免费下载链接】background-agentsAn open-source background agents coding system项目地址: https://gitcode.com/GitHub_Trending/ba/background-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考