Cursor Builds 为什么吃不到我的用户密钥

官方说明:User secrets 不进 Builds 快照,会话启动时再注入;私有 registry 请用 team/environment secrets。装依赖失败常栽在这里。

Cursor Builds 为什么吃不到我的用户密钥

cursor builds 用户密钥不进快照:启用 Builds 后,install 阶段拉私有包突然 401,本地明明配过 User secrets。官方博文写得很直:Builds 用文件系统快照;install 需要的凭证请用 team 或 environment secrets。User secrets 留在构建外,等 Agent 会话启动再注入。

作者CodePass 技术编辑

最小复现

  1. 环境 install 依赖私有 registry。
  2. 只在个人 User secrets 里放 token。
  3. Enable Builds 或等定时构建。
  4. Builds 日志里出现认证失败;或构建成功但缺包,会话才用个人密钥「好像好了」。

对照:装依赖失败怎么办 讲一般排障;本文钉 secrets 分层。

怎么改

把构建期需要的 NPM_TOKEN / 镜像密码迁到 environment 或 team secrets,再 Trigger Build。会话期才需要的个人云密钥可继续放 User secrets。不要把长期云密钥写进仓库或 install 脚本明文。

Team Marketplace / 共享 MCP 的凭证模型另议,见 Team Marketplace 分发 MCP。Stdio MCP 在 VM 内可见配置;HTTP MCP 更推荐,那是云 Agent MCP 文档的另一条线。

迁密钥后仍失败:核对 secret 名字是否与 install 脚本读取的环境变量一致,以及 Builds 是否已用新配置重跑(旧快照不会自动带上新 token)。私有 Git submodule、Docker pull、PyPI index 同理,凡构建期要认证的都进 environment/team,不要赌 User secrets「总会注入」。

安全含义

不让 User secrets 进快照,是为了避免个人令牌被烤进可复用镜像、被其它会话或日志路径碰到。代价是「我本机能装、构建不能装」。排障时先问:失败发生在 Build 还是 Agent start?前者查 environment secrets;后者才查 User secrets 与 start 命令。

团队规范可写进短 skill:构建期密钥清单、轮换周期、谁有权改 team secrets。再配 Custom Mode,减少有人把 token 塞回 User secrets 又启用 Builds 的反复踩坑。开启与迁移见 Builds 怎么开启