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

发布时间:2026/11/5 10:44: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),仅供参考
延伸阅读

更多相关文章

2026/11/5 10:44:22

有限产能APS系统:用Python模拟解决制造业插单排程难题

最近和几个做包装厂的朋友聊天,发现他们最头疼的不是订单少,而是订单“乱”。一个计划排得好好的,客户一个电话:“这批货很急,明天就要!”整个生产计划瞬间被打乱,车间主任焦头烂额,…

2026/11/4 19:26:02

湖南农业大学继续教育合作推荐:认准正规备案,附核验方法

湖南农业大学继续教育覆盖成考、自考助学等多个方向。本文以一家与其开展继续教育合作的本土正规办学机构为例,说明正规合作的核验方法与全流程服务。一、为什么看湖南农业大学湖南农业大学是湖南省重点高校,其继续教育(如农学、经济管理、动…

2026/11/5 10:43:56

工业测温方案解析:ADS122U04与STM32F042K6的UART高精度RTD采集设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 10:43:56

STM32L031+ADS122U04:UART接口24位ADC实现PT100高精度温度采集

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 10:43:55

基于ADS122U04与MK24的HVAC高精度温度采集系统设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 10:38:55

Univer开源Web Office引擎:Canvas渲染与协同编辑实战解析

第一次看到Univer这个项目名字的时候,我下意识以为是哪个海外团队用“University”做的教育类产品。直到我翻完它的仓库和在线Demo,才发现自己差点错过一个好东西——这是一个把“在线电子表格、文档、幻灯片”全部做成开源引擎的Web Office项目&#xf…

2026/11/5 10:38:55

Foxmail数字签名与加密配置全指南:S/MIME证书实战落地

1. 邮件签名与加密不是“加个水印”或“点个锁图标”那么简单很多人第一次在Foxmail里找“签名”功能,点开设置就以为万事大吉——填上姓名、电话、公司logo,保存退出,邮件发出去带个固定落款,就觉得“搞定”。等真遇到客户问“你…

2026/11/5 10:38:55

LVS负载均衡优化:FWM标记与持久化服务实践

1. 为什么需要优化LVS调度?在企业级负载均衡场景中,Linux Virtual Server(LVS)作为四层负载均衡的经典解决方案,其性能表现直接影响着整个业务系统的稳定性。但在实际生产环境中,我们常常会遇到两个典型问题…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑