借助后台代理,你可以在远程环境中启动异步代理来编辑和运行代码。随时查看它们的状态、发送后续指令,或在任意时刻接管。

如何使用

你可以通过两种方式使用后台代理:
  1. 后台代理侧边栏:在原生 Cursor 侧边栏的后台代理标签中,查看与你账户关联的所有后台代理、搜索现有代理,并新建代理。
  2. 后台代理模式:按下 在界面中进入后台代理模式。
提交提示后,从列表中选择你的代理查看状态并进入该机器。

后台代理需要保留数据数天。

反馈

欢迎把反馈发到 我们的 Discord #background-agent 频道background-agent-feedback@cursor.com。请提交 bug、功能请求或想法。

设置

后台代理默认在一个隔离的 Ubuntu 基础环境的机器上运行。代理可以访问互联网并安装软件包。

GitHub 连接

后台代理会从 GitHub 克隆你的仓库,并在单独的分支上工作,随后推送到你的仓库,便于交接。 为你的仓库(以及任何依赖的仓库或子模块)授予读写权限。未来我们会支持其他提供商(GitLab、Bitbucket 等)。
IP 允许列表配置
如果你的组织使用 GitHub 的 IP 允许列表功能,你需要为后台代理配置访问。完整的设置说明(包括联系信息和 IP 地址)见GitHub 集成文档

基础环境设置

对于更高级的场景,可以自行设置环境。获取一个连接到远程机器的 IDE 实例。完成机器配置、安装工具和软件包,然后创建快照。配置运行时设置:
  • install 命令会在代理启动前运行,用于安装运行时依赖。这可能是运行 npm installbazel build
  • terminals 会在代理工作时运行后台进程,比如启动 Web 服务器或编译 protobuf 文件。
对于更高级的场景,可使用 Dockerfile 来进行机器设置。该 Dockerfile 允许你配置系统级依赖:安装特定的编译器版本、调试器,或切换基础 OS 镜像。不要 COPY 整个项目——我们会管理工作区并检出正确的提交。依赖安装仍然放在 install 脚本中处理。 输入开发环境所需的任何密钥/机密——它们在我们的数据库中使用 KMS 进行静态加密存储,并会在后台代理环境中提供。 机器设置位于 .cursor/environment.json 中,可以提交到你的仓库(推荐)或私密存储。设置流程会引导你创建 environment.json

维护命令

在设置新机器时,我们从基础环境开始,然后运行你 environment.json 中的 install 命令。这个命令就像开发者切换分支时会运行的命令——用于安装任何新增依赖。 对大多数人来说,install 命令是 npm installbazel build 为确保机器快速启动,我们会在 install 命令运行后缓存磁盘状态。请将它设计为可多次运行。只有由 install 命令产生的磁盘状态会持久化——在这里启动的进程在代理启动时不会存活。

启动命令

在运行完 install 后,机器启动,我们会先运行 start 命令,然后启动所有 terminals。这会启动在代理运行期间应保持存活的进程。 start 命令通常可以省略。如果你的开发环境依赖 Docker,可以把 sudo service docker start 放到 start 命令中。 terminals 用于应用代码。这些终端运行在一个 tmux 会话中,你和代理都可以使用。例如,许多网站仓库会将 npm run watch 作为一个 terminal。

environment.json 规范

environment.json 文件可能如下所示:
{
  "snapshot": "POPULATED_FROM_SETTINGS",
  "install": "npm install",
  "terminals": [
    {
      "name": "Run Next.js",
      "command": "npm run dev"
    }
  ]
}
形式化的规范定义在这里

模型

后台智能体仅支持与 Max Mode 兼容的模型。

定价

进一步了解 Background Agent 定价

安全

Background Agents 可在隐私模式下使用。我们从不拿你的代码做训练,只在运行代理时临时保留代码。了解更多隐私模式信息 你需要知道:
  1. 为想编辑的仓库给我们的 GitHub 应用授予读写权限。我们用它来克隆仓库并进行更改。
  2. 你的代码会在我们的 AWS 基础设施内的隔离虚拟机(VM)中运行,并在代理可访问期间存储在该 VM 的磁盘上。
  3. 代理可以访问互联网。
  4. 代理会自动执行所有终端命令,方便它反复运行测试。这与前台代理不同,前台代理每条命令都需要用户确认。自动执行会引入数据外泄风险:攻击者可能通过提示注入攻击诱使代理把代码上传到恶意网站。参见 OpenAI 关于后台代理提示注入风险的说明
  5. 如果关闭隐私模式,我们会收集提示和开发环境信息以改进产品。
  6. 如果在启动后台代理时关闭了隐私模式,之后在运行过程中又开启,代理仍会在关闭隐私模式的状态下继续运行直到完成。