openclaw的tools配置
核心配置项
想要精准控制AI助手的工具权限?下面这套核心配置项,就是你的“权限管理中心”。它决定了助手能做什么,不能做什么,以及如何安全地执行操作。
"tools": {
"profile": "coding",
"allow": ["read", "write", "exec", "message"],
"deny": ["rm", "format"],
"exec": {
"enabled": true,
"allowedCommands": ["mkdir", "echo", "cat", "ls", "git", "npm"],
"allowShell": false,
"workingDirectory": "/Users/yangwen/.openclaw/workspace",
"timeout": 30
},
"approval": {
"mode": "auto",
"highRiskCommands": ["rm", "dd", "shutdown"]
}
}
1. profile 工具集预设
这个配置项就像一个快速切换的场景模式按钮,帮你一键配置好不同工作场景下的基础工具权限。
可选值:coding / general / full / custom
作用不言而喻:它为你快速配置了不同场景下的基础工具包。
coding:专为代码开发场景设计。默认就开放了文件读写、代码执行、Git操作这些开发者的“趁手兵器”,开箱即用。general:适用于通用办公。重点放在了消息处理、文档编辑、日历管理等协作工具上。full:开启全量工具权限。听起来很强大,但风险也高,通常只建议在完全可控的测试环境里尝尝鲜。custom:自定义模式。选择它,就意味着上面的预设全部失效,完全由后面提到的allow和deny列表说了算,权限收放完全自主。
2. allow 工具白名单
这是你进行精细化权限管理的核心手段之一。
它是一个数组,用来显式指定允许使用的工具名称。关键在于,它的优先级高于上面的profile预设。也就是说,即使你选了coding预设,但只要在allow列表里额外添加了工具,这些工具也会被开放。
举个例子:["read", "write", "exec", "feishu_doc"]。这个配置表示,除了预设的基础能力,还特别允许助手使用飞书文档工具。
3. deny 工具黑名单
与白名单相对,这是你的“终极安全阀”。
它同样是一个数组,用于显式禁止某些工具的使用。它的优先级最高,这是一条硬规则:无论工具是在profile预设里,还是在allow白名单里,只要上了deny黑名单,就一律禁用,没有例外。
例如:["rm", "format", "exec"]。这个配置非常明确,就是彻底禁用文件删除、磁盘格式化以及命令执行这些高风险操作,从根源上杜绝隐患。
exec 命令执行工具专属配置
命令执行(exec)是功能最强大、也最需要谨慎对待的工具。因此,它拥有一套独立的配置项来确保安全可控。
| 配置项 | 作用 | 可选值/示例 |
|---|---|---|
enabled |
是否启用命令执行工具 | true / false |
allowedCommands |
允许执行的命令白名单(安全模式) | 数组,例如:["mkdir", "ls", "git", "npm"] |
allowShell |
是否允许执行任意 shell 命令 ⚠️ 风险极高:开启后 AI 可运行 rm -rf 等危险指令 |
true / false(强烈建议保持 false) |
workingDirectory |
命令执行的默认工作目录 | 绝对路径字符串,例如:"/home/user/project"(默认为工作空间根目录) |
timeout |
命令执行超时时间 | 数值(单位:秒),例如:30 (默认值) |
approval 工具审批配置
这套配置决定了在自动化与安全之间,你选择怎样的平衡点。
| 配置项 | 作用 | 可选值/示例 |
|---|---|---|
mode |
审批模式:决定 AI 调用工具时的自动化程度。 | • auto:自动放行低风险操作(适合追求效率的日常开发)• manual:所有工具调用都需要人工审批(最安全,但效率也最低)• high-risk-only:仅高风险操作需要审批(推荐配置,在安全与效率间取得了最佳平衡) |
highRiskCommands |
高风险命令列表:定义哪些命令被视为“危险”并会触发审批流程。 | 数组格式。 默认列表通常包括: ["rm", "dd", "shutdown", "reboot", "mkfs", "chmod 777"]你也可以自定义,例如: ["rm -rf", "curl .* | sh", "wget .* | bash"] |
常用配置示例
理论说了不少,来看几个实战中可以直接参考的配置方案。
代码开发场景推荐配置
这套配置为开发者提供了灵活而安全的环境,既支持常规的工程操作,又通过白名单限制住了风险。
"tools": {
"profile": "coding",
"exec": {
"enabled": true,
"allowedCommands": ["mkdir", "echo", "cat", "ls", "git", "npm", "python", "java"],
"allowShell": false,
"timeout": 60
}
}
高安全场景配置
在处理敏感数据或生产环境辅助时,安全性是第一位的。这套配置收紧了权限,并为关键操作加上了“保险”。
"tools": {
"profile": "general",
"deny": ["exec", "rm"],
"approval": {
"mode": "high-risk-only"
}
}
最后提醒一点:所有配置修改完成后,都需要执行 openclaw gateway restart 命令重启网关,才能使新配置生效。