Cursor Cloud Agent 怎么配起来:环境、构建与设置三处

2026-08-18

很多人对 Cloud Agent 的第一印象是「开个云端会话让它改代码」,然后卡在同一处:它能写,但跑不了测试,连不上内网服务,装依赖每次都要等。Cursor 官方文档《Cloud Environment Setup》页把这层说得很直白——agent 的能力上限就是它所在环境的上限,一个能写代码却没法跑测试、查服务、访问 API 的 agent,没办法把一件事做完。

所以真正要配的不是「agent」,是它脚下那台机器。链路分三处:环境怎么定义、Build 怎么把环境准备好、仪表盘上的设置项决定谁能改什么。Cloud Agent 本身的形态与用法我们另有一篇专门讲,这里只走配置。

一、前置条件:先确认你在哪个端、有没有那个权限

这一段最容易被跳过,但跳过了后面每一步都会卡。

运行环境是 Ubuntu。 文档写明 cloud agent 跑在隔离的 Ubuntu 机器上。这条对本站读者尤其要紧:不管你本地是 Windows 还是 macOS,写进配置里的 install、start 命令都是给那台 Linux 机器执行的,PowerShell 的写法在这里不成立。Windows 侧另有一处小麻烦——配置文件在仓库的 .cursor/ 目录下,这种以 . 起头的目录用资源管理器新建比较别扭,在编辑器里或用命令行创建更省事(这句是通用做法,非官方文档内容)。

入口有两个:Cloud Agents 仪表盘的 environments 区块;引导式设置也可以从 Cursor 桌面端的 Agents Window 里发起。文档写明引导式设置会让你连接 GitHub、GitLab、Azure DevOps 或 Bitbucket 账号,并选择一个或多个仓库。

权限分层要看清。 《Cloud Agents settings》页写明:Cloud Agents 由 workspace 管理员在仪表盘上配置,安全相关选项全部需要管理员权限,团队功能开关由 team admin 控制。你要是团队里的普通成员,本文后半段的一些开关你打不开。

有两项文档明确划了范围:computer use 只对 enterprise 团队开放;由 Cursor 替你生成 Dockerfile 的那条路径处于 private beta,且面向 Enterprise 团队,文档说要通过客户代表或邮件申请。别把这两条当成现成能用的能力。

二、第一处:环境从哪里来,解析顺序决定一切

配置之前先搞清楚一件事——同一个仓库可能同时存在好几份环境配置,到底哪份生效。文档给了明确的解析顺序,按仓库或仓库组匹配,取第一个命中的,一共三级:

优先级来源
1仓库里的 .cursor/environment.json
2个人保存的环境
3团队保存的环境

文档自述了这么排的理由:团队层面给出可预测的默认值,同时在仓库里没有 .cursor/environment.json 时允许个人用自己的环境覆盖,方便在推给全团队之前先试新配置。

顺序带来一个直接后果(把文档里两句话摆在一起就能看出来,不是猜的):一旦 .cursor/environment.json 进了仓库,个人和团队环境就都不生效了。 改了个人环境却不见效,第一件事就是去仓库里看有没有那个文件。

配置方式官方给了两条路:让 Cursor 的 agent 自己搭(文档标注为 recommended,它会装依赖、验证环境、创建第一个 Build),或者自己写 Dockerfile。两条路都支持指定 install 脚本。走 Dockerfile 时文档列了几条硬约束:不要 COPY 整个项目(工作区由 Cursor 管理,它会检出正确的 commit);你只能通过 Dockerfile 配置环境,拿不到远程机器的直接访问权限;Dockerfile 构建走层缓存,改了只重建变化的层。

多仓场景也在这一层配:创建环境时选多个仓库,Cursor 把每个选中的仓库都克隆进 agent 机器,后续用同一仓库组的 agent 运行与 automation 复用这个环境。

三、第二处:.cursor/environment.json 的字段与那个反直觉的路径规则

官方文档给的第一份样例,是引用 .cursor/Dockerfile(相对路径)加一个 custom_script.sh 安装脚本的写法:

{
  "build": {
    "dockerfile": "Dockerfile",
    "context": ".."
  },
  "install": "pnpm install && ./custom_script.sh"
}

第二份样例是基于 snapshot 的配置,文档说 snapshot ID 可以在仪表盘的 environments 页面拿到:

{
  "snapshot": "snapshot-20260212-00000000-0000-0000-0000-000000000000",
  "install": "npm install"
}

路径行为这一段建议读两遍,是整页里最容易踩的地方。文档写明:build 里的 dockerfilecontext 都相对于 .cursor 目录;省略 context 时它默认为 .cursor;而 ../.. 这三个值被特殊处理为仓库根目录。所以要 COPY 那些放在 .cursor 里、写裸文件名的文件,反而应该省略 context。另外 install 是从项目根目录执行的——context 的相对基准和 install 的工作目录不是同一个地方。完整 schema 挂在 www.cursor.com/schemas/environment.schema.json

install 之外的两个运行期命令,文档在《Cloud Agent Builds》页给了一张分工表:

命令什么时候跑用来做什么
install每次 Build 期间装依赖、生成代码、编译产物、预热磁盘缓存
start每次 agent 运行开始时启动 Docker、数据库、隧道等服务
terminals每次 agent 运行开始时在与 agent 共享的 tmux 终端里跑应用进程

分工的判据文档写死了:Build 只保留磁盘状态。运行中的进程、导出的 shell 变量、内存里的缓存,在 Cursor 快照机器时就停了,不会延续到 agent 运行。所以「装东西」放 install,「起服务」放 startterminals。环境依赖 Docker 时,文档给的写法就是在 start 里加 sudo service docker start;很多仓库其实可以不写 start

两条关于 install 的规定不能漏:它必须幂等(每次 Build 都跑,且可能跑在之前准备好的磁盘状态上),还要能跑到结束。文档另提到 install 脚本可以读取 agent metadata,并从 agent 使用的同一个本地 socket 申请 OIDC token。另外,install 脚本以前在仪表盘和文档里叫 update script,看到旧称不用慌。

四、第三处:Build 的触发、密钥可见性与仪表盘开关

Build 是「一个已准备好的 Cloud Agent 环境的可启动快照」,生命周期文档列了五步:触发、准备(从基础镜像起、克隆环境里每个仓库的默认分支、把 install 跑完)、快照(连同环境版本和每个仓库的确切 commit SHA 一起存盘)、激活、新 agent 从活跃 Build 启动。

触发方式列了四类,Builds 标签页会标出每条记录属于哪一类:定期(Recurring)、配置变更、手动(选 Trigger build)、agent 主动请求。有个容易误读的状态:定期检查发现「所有仓库默认分支没有新 commit、配置和密钥也没变」时,这次记为 Skipped,几秒完成、不跑 install、活跃 Build 原样保留。文档说 Recurring 记录里 Skipped 与 Success 交替出现正是健康环境的常态。只有定期 Build 会被跳过,其余三类一定会跑。

密钥在这里有条明确的可见性分界,踩了不好查:team 密钥和 environment 密钥在 Build 期间可用(私有包仓库、制品库这类 install 需要的凭据靠它),而 user 密钥只在 agent 启动时注入,Build 期间拿不到,也不进共享快照install 依赖某个凭据却一直失败,先确认它是不是被放在了用户级。另外,保存环境配置或改它的密钥本身就会触发一次新 Build。环境级密钥(environment-scoped secrets)则对该环境里每个仓库生效,不流向其它环境。

仪表盘上还有几组开关,按用途分:

  • 默认项:默认模型(run 没指定模型时用它)、默认仓库(留空则每次让用户选)、base branch(agent 创建 PR 时 fork 的分支,留空则用仓库默认分支)。
  • 网络访问:用户级和团队级支持三种模式——完全放开、默认域名清单加你自己加的域名、以及只允许你显式添加的域名。环境级设置可以继承用户或团队策略、追加环境 allowlist,或自定义访问模式。
  • 安全项(全部需要管理员权限):是否展示 agent 摘要(文件 diff 图与代码片段)、是否把这个展示延伸到 Slack 等已连接的外部渠道、以及团队追问(team follow-ups)。

团队追问有三档:Disabled(只有创建者能追问)、Service accounts only(只能对服务账号创建的 agent 追问)、All(任何成员可对团队内任意 agent 追问)。文档在这一节下面直接写了风险,原样转述:开启后一个用户可以影响另一个用户的密钥与凭据所驱动的 agent 执行,追问消息可以让 agent 读环境变量、把密钥打进日志、推到外部端点,或用创建者的令牌做事,权限较低的成员因此可能提权;文档建议用对待共享 SSH 密钥或服务凭据的谨慎程度对待这个开关。

五、边界:哪些地方文档明说了不支持或还没到

  • Cursor 替你生成 Dockerfile:private beta,面向 Enterprise 团队,需申请。
  • Computer use:作为团队功能仅对 enterprise 团队开放;在 Dockerfile 仓库上,只支持基于 Debian/Ubuntu 的 Linux 发行版,其它发行版文档让你联系支持。
  • Long running agents:由 team admin 控制;文档明确写了 multi-repo 环境暂不支持,选了多仓环境这个开关会被禁用。
  • 资源规格:每个 cloud agent 跑在一个默认 VM 规格上,内存与 CPU 有限,Enterprise 计划可联系支持提额;自助的自定义资源配置,文档写的是 coming soon。
  • Docker 与 Tailscale:文档说 Docker 跑在另一层容器里有边缘情况,简单流程「通常可用」(这是文档的措辞,不是保证),复杂场景要从 fuse-overlayfsiptables-legacy 那套配置起步;Tailscale 则在 Cloud agent VM 的默认网络模式下不工作,要改用 userspace networking,而这种模式下 VM 无法作为 tailnet 的出口节点。
  • 远程机器访问:没有,只能通过 Dockerfile 和配置文件间接控制。

还有一条属于行为边界而非能力缺失:默认分支的运行从活跃 Build 记录的 commit 开始,只有开了 Update stale builds 且 Build 超过 Staleness threshold,agent 才会在启动时拉最新默认分支代码(阈值有官方默认值,会随版本调整,以文档为准;设为 0 表示每次都拉)。特性分支则从活跃 Build 的磁盘出发再检出你要的分支,源码是分支的、依赖复用 Build 的。

六、怎么验证你配对了

判据要落在可查的记录上,而不是「感觉能跑了」。

  1. 看 Builds 标签页。文档写明这里能看到每个 Build 的类型、状态与开始时间,能查详情和日志,能手动 Trigger build、激活草稿 Build 或停用某个 Build、取消进行中的 Build,也能从指定 Build 启动 agent。第一次配完,最直接的验证就是触发一次 Build 并确认它 Success。
  2. 确认失败不会污染现状。失败的 Build 不替换活跃 Build,agent 继续从最近一次成功的环境启动。
  3. 复现失败。文档给的办法是从失败的 Build 启动一个 agent,机器以失败时的状态打开,可以在里面看日志、改环境、跑一次测试 Build 再验证。
  4. 追溯用的是哪个 Build。每次 agent 运行都记录它从哪个 Build 启动,拿这个溯源就能把行为差异对上确切的配置与仓库 commit。
  5. 让 agent 自己查。文档提到可以通过内置的 Cursor Cloud MCP 让 Cloud Agent 检查和管理 Builds,并给了一段示例提示词:让它检查最近一次失败的 Build、修配置、跑测试 Build,在给出最终 install 与 start 命令前先验证。

最后一件常被忽略的事:文档建议在 AGENTS.md 里加一节 Cloud 专用的设置与测试说明,标题可以写成 Cursor Cloud specific instructions,变长就拆到别的文件再从这里引用。环境把机器准备好,AGENTS.md 告诉 agent 在这台机器上怎么做事——只配一半,另一半的问题就会以「它为什么不跑测试」的形式回到你身上。


本文依据 Cursor 官方文档(cursor.com/docscursor.com/help)于 2026-08-18 的公开内容整理。 该产品闭源,本文只复述官方文档写明的机制,不推断其内部实现我们没有对文中涉及的功能做过实测,因此不涉及界面外观、操作手感与运行速度的任何描述。 该产品迭代频繁,文中涉及的设置项与命令随版本变动,请以官方文档最新内容为准。 本文不涉及订阅价格、额度与模型清单,相关信息请以官方定价与模型说明页为准。

安全与合规相关做法请结合自身环境评估,本文不构成安全方案建议。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。