概述
Tron 在执行文件修改、命令执行等有副作用的操作前,默认会向用户请求确认。这一机制确保 AI 不会在未经许可的情况下修改系统状态,是安全使用 AI 编码助手的重要保障。
你可以根据自己的需求,配置不同级别的自动批准规则,在安全性和便捷性之间取得平衡。
确认模式
Tron 支持三种全局确认模式:
| 模式 | 说明 | 适用场景 |
|---|---|---|
always |
每次操作都需要手动确认 | 生产环境、重要项目 |
auto |
自动批准被标记为安全的操作 | 日常开发(默认推荐) |
never |
所有操作无需确认直接执行 | CI/CD 自动化(谨慎使用) |
警告
never 模式下 Tron 将不再请求任何确认,所有操作立即执行。在不熟悉的项目或生产环境中使用此模式存在较高风险。
自动批准规则
在 config.json 的 autoApprove 字段中,可以按工具类型和路径模式精细配置自动批准规则:
json
// ~/.config/tron/config.json
{
"autoApprove": {
"read_file": true,
"search_files": true,
"write_file": {
"patterns": ["src/**", "tests/**"],
"exclude": ["**/*.env", "**/secrets/**"]
},
"execute_command": {
"allowList": ["npm test", "npm run build", "git status"]
}
}
}
禁止列表
通过 denyList 字段设置永远不允许执行的命令模式。即使在 never 确认模式下,匹配禁止列表的命令也会被拦截:
json
{
"denyList": [
"rm -rf /",
"rm -rf ~",
"sudo rm",
"chmod 777",
"curl * | bash",
"wget * | sh"
]
}
路径限制
使用 allowedPaths 限制 Tron 只能访问和修改指定目录下的文件,防止 Tron 意外操作项目目录之外的文件:
json
{
"allowedPaths": [
"./src",
"./tests",
"./docs"
]
}
配置后,Tron 尝试访问 allowedPaths 以外的路径时会被拦截并提示权限不足。
审计日志
开启审计日志后,Tron 会记录所有执行的操作,包括文件读写、命令执行等,方便事后审查:
json
{
"auditLog": {
"enabled": true,
"path": "~/.config/tron/audit.log",
"maxSize": "10MB"
}
}
审计日志以 JSON Lines 格式存储,每行记录一次操作,包含时间戳、操作类型、操作参数等信息,便于分析和审查。