工具授权
AI 要执行命令、写文件之前需要你授权。这一页管理已经保存下来的授权规则,入口在「设置 → 工具授权」。
规则是怎么产生的
对话中 AI 请求调用工具时会弹出授权弹窗,你有两个选择:
- 始终允许:在当前项目记住一条允许规则,以后符合规则的调用自动放行。规则是精准匹配的(比如
git pull、rm temp.log)。如果命令里含管道、重定向、命令替换,无法被记住,只能单次放行。 - 拒绝:只拒绝这一次,不产生规则。
另外系统有一份内置白名单:少量完全无害、只读、不派生子进程的命令(ls、pwd、cat、grep、ps、top、git status 等)不弹窗直接放行。
页面结构
规则分「当前项目」和「全局」两组,点标题可折叠。
每条规则显示判定图标(对勾是允许,叉是禁止)、工具名、匹配范围与判定,例如 git pull · 允许、整个工具 · 允许。
- 项目规则右侧有个地球图标,可以把这条规则提升为全局,对所有项目生效;提升后它从本项目列表消失。
- 规则行左滑露出红色删除按钮。
关于「禁止」规则
授权弹窗里没有「禁止」这个选项(拒绝只影响单次),所以正常使用不会产生禁止规则。
禁止规则目前只能手动编辑配置文件产生:项目规则写在 <项目根>/.aicode/permissions.json,全局规则写在 ~/.aicode/permissions.json。手工编辑保存后 App 会在几秒内自动检测并刷新页面,规则立即生效。
配置文件格式:
json
{
"permissions": {
"allow": ["Bash(git pull)", "writeFile"],
"deny": ["Bash(rm -rf /)"]
}
}全局禁止优先于项目允许
deny 里的规则会挡掉同名的 allow 规则。比如全局禁止了 Bash(rm -rf /),那么任何项目都不能放行这条命令。想给自己上一道保险,就往全局 deny 里加规则。