更新时间:2026-05-29 GMT+08:00
分享

权限

码道CLI可通过配置“permission”文件,管控码道CLI的执行权限,支持自动运行、提示用户审批以及禁止运行。

配置路径

权限文件的配置路径:~/.codeartsdoer/cli-data/storage/permission/global.json

配置格式

权限配置格式如下所示。

[
  {
    "permission": "权限名称",
    "pattern": "*",
    "action": "权限策略"
  }
]

其中,“权限名称”请参考表1,“权限策略”请参考表2

权限策略配置参数

表1 权限名称

权限

说明

read

读取文件,按照文件路径匹配

edit

所有文件修改,包括AI新建、修改文件或者批量修改代码时触发(edit、write、patch)

glob

文件通配,AI用通配符批量查找文件。例如执行“ls *.txt”指令时触发

grep

内容搜索,AI用正则在项目中搜索关键词时触发。例如执行“grep -r "TODO”

bash

运行Shell命令,匹配解析后的完整命令。例如AI执行“git status”、“npm install”、“python manage.py runserver”等命令时触发

bash命令的权限需要与“bash_mode”结合,以Windows系统为例,“bash_mode”需要在“~\.codeartsdoer\cli-data\storage\permission\config.json”文件中配置,“bash_mode”支持的配置模式请参考表3

webfetch

获取URL,AI访问外部API、下载文件或者获取网页内容时触发

external_directory_read

读取项目目录外的路径,AI读取“/etc/hosts”、“~/.ssh/id_rsa”这类不在项目工作目录内的文件时触发

external_directory_write

修改项目目录外的路径,AI写入或者修改“/etc”、“~/.bashrc”这类系统或用户配置文件时触发

dotfile

修改点文件(以“.”开头的配置文件),AI修改“.gitignore”、“.env”、“.vscode”或者“settings.json”等隐藏配置文件时触发

doom_loop

工具调用重复循环保护,当同一工具,例如“read”以完全相同的输入被连续调用3次时触发,防止死循环

表2 权限策略

配置项

说明

allow

直接运行

ask

需要审批,当您配置ask时,将出现以下三个选项供选择:

  • Allow once,仅允许本次执行,下次遇到相同命令会再次询问。
  • Allow always,本次会话中,此类命令将不再询问,直接执行。
  • Reject,不执行此命令,继续对话。适合您认为有风险或不必要的操作。

deny

禁止执行

表3 “bash_mode”支持的模式

模式

含义

sandbox

在沙箱中执行(默认,最安全)

whitelist

白名单命令直接执行,其他询问。

always_ask

所有命令都询问

always_allow

所有命令直接执行

白名单配置示例

示例如下:

[
  {
    "permission": "bash",
    "pattern": "git *",
    "action": "allow"
  },
  {
    "permission": "bash",
    "pattern": "npm *",
    "action": "allow"
  },
  {
    "permission": "bash",
    "pattern": "ls *",
    "action": "allow"
  }
]

此示例包含3个JSON对象,表示AI可以自动运行以git开头的所有命令。

相关文档