在 CLI 配置中使用权限令牌,配置代理被允许执行的操作。可在 ~/.cursor/cli-config.json(全局)或 <project>/.cursor/cli.json(项目级)中设置权限。

权限类型

Shell 命令

格式: Shell(commandBase) 控制对 Shell 命令的访问。commandBase 是命令行中的第一个标记/词元。
示例说明
Shell(ls)允许运行 ls 命令
Shell(git)允许任意 git 子命令
Shell(npm)允许使用 npm 包管理器命令
Shell(rm)拒绝具有破坏性的文件删除(常用于 deny

文件读取

格式: Read(pathOrGlob) 控制对文件和目录的读取权限。支持 glob 模式。
示例说明
Read(src/**/*.ts)允许读取 src 中的 TypeScript 文件
Read(**/*.md)允许在任意位置读取 Markdown 文件
Read(.env*)拒绝读取环境配置文件
Read(/etc/passwd)拒绝读取系统文件

文件写入

格式: Write(pathOrGlob) 控制对文件和目录的写入权限。支持 glob 模式。在打印模式下写入文件需要 --force
示例说明
Write(src/**)允许写入 src 下的任意文件
Write(package.json)允许修改 package.json
Write(**/*.key)拒绝写入私钥文件
Write(**/.env*)拒绝写入环境配置文件

配置

在你的 CLI 配置文件中,为 permissions 对象添加权限:
{
  "permissions": {
    "allow": [
      "Shell(ls)",
      "Shell(git)", 
      "Read(src/**/*.ts)",
      "Write(package.json)"
    ],
    "deny": [
      "Shell(rm)",
      "Read(.env*)",
      "Write(**/*.key)"
    ]
  }
}

模式匹配

  • Glob 模式支持 ***? 通配符
  • 相对路径以当前工作区为作用域
  • 绝对路径可指向项目外的文件
  • 拒绝规则优先生效于允许规则