使用方法
- 后台代理侧边栏:在原生 Cursor 侧边栏中使用“后台代理”标签页,查看与你账号关联的所有后台代理、搜索现有代理,并新建代理。
- 后台代理模式:按下 ,在 UI 中触发后台代理模式。
后台代理需要保留数据数天。
设置
连接 GitHub
IP 允许列表配置
基础环境设置
- Install 命令会在代理启动前运行,用于安装运行时依赖,比如执行
npm install
或bazel build
。 - Terminals 会在代理工作期间运行后台进程——例如启动 Web 服务器或编译 protobuf 文件。
COPY
整个项目——我们会管理工作区并检出正确的提交。依赖安装仍然放在 install 脚本中处理。
输入开发环境所需的任意密钥(secrets)——它们会以静态加密(使用 KMS)的方式存储在我们的数据库中,并在后台代理的环境中提供。
机器配置保存在 .cursor/environment.json
中,可以提交到你的仓库(推荐)或私下存储。设置流程会引导你创建 environment.json
。
维护命令
environment.json
中的 install
命令。这个命令等同于开发者在切换分支时会运行的操作——用于安装新增依赖。
对大多数人来说,install
命令是 npm install
或 bazel build
。
为确保机器能快速启动,我们会在 install
命令运行完成后缓存磁盘状态。把它设计成可重复运行。只有由 install
命令产生的磁盘状态会被保留——在这里启动的进程在代理启动时不会继续存在。
启动命令
install
之后,机器会启动,我们会先运行 start
命令,再启动所有 terminals
。这会拉起在代理运行期间需要常驻的进程。
start
命令通常可以省略。如果你的开发环境依赖 Docker,可以在 start
命令里加上 sudo service docker start
。
terminals
用于应用代码。这些终端会在一个你和代理都能访问的 tmux
会话中运行。比如,很多网站仓库会把 npm run watch
配成一个 terminal。
environment.json
规范
environment.json
文件可能如下:
模型
定价
安全性
- 为你想编辑的仓库授予我们 GitHub 应用的读写权限。我们会用它来克隆仓库并进行更改。
- 你的代码会在我们基于 AWS 的隔离 VM 中运行,并在 agent 可用期间存储在 VM 磁盘上。
- agent 可以访问互联网。
- agent 会自动执行所有终端命令,方便它循环运行测试。这和前台 agent 不同,前台每条命令都需要用户批准。自动执行会带来数据外泄风险:攻击者可能通过提示注入攻击,诱使 agent 将代码上传到恶意网站。参见 OpenAI 关于后台 agent 提示注入风险的说明。
- 如果关闭隐私模式,我们会收集提示词和开发环境信息,用于改进产品。
- 如果在启动后台 agent 时禁用隐私模式,且在其运行过程中再启用,agent 会在完成前一直以禁用的隐私模式继续运行。
仪表板设置
默认设置
- 默认模型 – 运行未指定模型时使用的模型。选择任一支持 Max Mode 的模型。
- 默认仓库 – 留空时,agent 会让你选择仓库。在这里填上仓库就能跳过这一步。
- 基础分支 – agent 在创建拉取请求时进行 fork 的源分支。留空则使用仓库的默认分支。
安全设置
- 用户限制 – 选择 None(所有成员都可以启动后台 agent)或 Allow list。当设置为 Allow list 时,你需要明确指定哪些队友可以创建 agent。
- 团队跟进 – 开启后,工作区内的任何人都可以给他人启动的 agent 添加跟进消息。关闭后,跟进仅限该 agent 的所有者和管理员。
- 显示 agent 摘要 – 控制 Cursor 是否显示该 agent 的文件差异图和代码片段。如果不想在侧边栏暴露文件路径或代码,就把它关掉。
- 在外部渠道显示 agent 摘要 – 将上一个开关扩展到 Slack 或你已连接的任何外部渠道。