TronCode Tron CLI 权限管理

概述

Tron 在执行文件修改、命令执行等有副作用的操作前,默认会向用户请求确认。这一机制确保 AI 不会在未经许可的情况下修改系统状态,是安全使用 AI 编码助手的重要保障。

你可以根据自己的需求,配置不同级别的自动批准规则,在安全性和便捷性之间取得平衡。

确认模式

Tron 支持三种全局确认模式:

模式 说明 适用场景
always 每次操作都需要手动确认 生产环境、重要项目
auto 自动批准被标记为安全的操作 日常开发(默认推荐)
never 所有操作无需确认直接执行 CI/CD 自动化(谨慎使用)
⚠️
警告

never 模式下 Tron 将不再请求任何确认,所有操作立即执行。在不熟悉的项目或生产环境中使用此模式存在较高风险。

自动批准规则

config.jsonautoApprove 字段中,可以按工具类型和路径模式精细配置自动批准规则:

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 格式存储,每行记录一次操作,包含时间戳、操作类型、操作参数等信息,便于分析和审查。