📌 项目地址:ColeMurray/background-agents | ⭐ 2,200 颗星 | 🔧 TypeScript | 📜 未标注
背景代理是什么?
colemuray/background-agents(也叫 Open-Inspect)是一个开源的后台编码代理系统,灵感来自 Ramp 公司内部使用的 Inspect。它本质上是一个可以托管在你的服务器上的 AI 编程助手,但和 ChatGPT 对话式编程不同,它能:
- 在后台执行任务,你继续做自己的事
- 访问完整的开发环境(Node.js、Python、git、浏览器自动化、VS Code)
- 从多个入口触发:Web UI、Slack、GitHub PR、Linear Issue、Webhook
- 支持多人实时协作(多人会话)
- 创建 PR 时正确署名(使用触发者的 GitHub OAuth)
- 按计划运行:Cron 任务、Sentry 告警、Webhook 自动化
- 分裂出并行子任务,在不同的沙箱里同时工作
- 选择模型:Claude、OpenAI Codex(需 ChatGPT 订阅)、OpenCode Zen
简单说,想象一个能拿到你代码仓库全部权限的 AI 工程师,它不插嘴、不打断,你发个需求它就默默干活,然后提 PR。
它能解决什么痛点?
当前主流的 AI 编码工具(Copilot、Cursor、Windsurf)都是交互式的,你得开着 IDE 一边写一边等补全,或者在一个聊天窗口里反复对话。但有些任务是不需要即时反馈的:
- 来自 Slack 或 Linear 的 bug 报告,需要自动复现并修复
- 一个 ClickUp / Linear 任务,跨多个文件的重构
- 凌晨 Sentry 报警后自动创建一个修复 PR
- 团队内多人同时需要对同一个代码库进行异步 AI 协作(非实时,但要能看到彼此的进展)
这些场景需要代理能在后台工作,并且能访问完整的环境(不是只读的代码上下文)。Open-Inspect 正是为此设计。
如何部署和启动?
注意:README 没有提供一行命令式的安装脚本。目前系统需要自托管,具体步骤请参考仓库的文档(可能还在完善中)。
从架构上看,你需要:
- 部署控制平面(主服务)——负责会话管理、Token 签发、WebSocket 通信
- 部署沙箱(每个 Session 一个隔离环境)——运行 Node.js、Python、git、浏览器等
- 安装一个 GitHub App——用于 git clone/fetch/push
- 配置登录方式——支持 GitHub OAuth(推荐)或 Google 登录
- 配置 AI 模型 API Key——你有多个选择
启动后,用户可以通过 Web UI 创建新 Session,或者通过 Slack / GitHub Webhook 将任务推送给代理。代理会在后台沙箱中执行,结果直接产生 PR。
关键命令?官方仓库还没有公开的 docker compose up 或 npm run start 命令。 如果你打算自己部署,建议先去仓库的 README 里找更详细的 Dockerfile 或部署指南,或者 watch 后续 release。
和同类工具的区别
| 特性 | Open-Inspect | Codex CLI (OpenAI) | SWE-agent | 现有 IDE 插件 |
|---|---|---|---|---|
| 后台执行 | ✅ 是 | ❌ 交互式 | ❌ 交互式 | ❌ 交互式 |
| 多入口集成 | Slack, GitHub, Linear, Web UI | 仅终端 | 仅终端 | 仅 IDE |
| 多人协作 | 实时多人会话 | 不支持 | 不支持 | 有限协作 |
| 沙箱隔离 | 每个 Session 独立 | 一个终端 | 一个容器 | 无 |
| 自托管单租户 | 是 | 否(SaaS) | 是 | 否(SaaS) |
最核心的区别是单租户架构:你部署的 Open-Inspect 只属于你所在的组织,所有用户共享同一个 GitHub App 的权限。这意味着内部任何人都可以访问仓库(因为他们本身就有权限)。安全模型明确声明不支持多租户。
需要注意的几件事
1. 安全边界严格限定在“单租户”
所有用户共享同一个 GitHub App Token(用于 clone/fetch/push)。系统没有做每个用户的仓库访问权限校验——它默认你的组织内所有人都能访问公司仓库。所以不能在开放给外部贡献者的项目中使用,也不能用于为不同客户隔离的 SaaS。
2. PR 创建权限靠用户 OAuth
如果是通过 GitHub 登录的用户创建 PR,会使用该用户的 OAuth Token,这样只能在用户有写入权限的仓库上提 PR(并且署名正确)。如果是通过 Google 等其他方式登录的用户,没有 SCM Token,则 PR 会回退到 GitHub App Bot 身份。
3. 目前还比较“原始”
Star 数 2200 说明社区有关注,但项目还处于早期。README 没有详细部署指南,也没有 CLI 使用示例。如果你没有自建基础设施的经验,可能需要等更成熟的版本。
4. 资源消耗
每个 Session 都会启动一个沙箱(类似容器),如果同时运行多个后台任务或并行子任务,需要足够的服务器资源(CPU、内存、磁盘)。
总结
如果你所在的组织长期面临大量重复性编码任务(修复、重构、格式化、测试补全),并且你们已经信任内部所有成员对代码库的访问权限,那么 Open-Inspect 是一个值得关注的方向。它把 AI 编程从“对话式”提升到了“后台异步+多入口”模式,更接近真正的自动化工程师。
目前阶段,建议先 watch 仓库,等部署文档完善后再尝试自建;如果有能力看懂 TypeScript 源码,也可以直接贡献。