openclaw的tools配置详细
来源:互联网
时间:2026-06-02 16:16:52
先说说 OpenClaw 工具配置中最核心的部分——它决定了 AI 能做什么、不能做什么。每个工具的行为都由 tools 配置文件控制,下面这张图展示了一个典型配置的样子:

整个配置文件的结构其实很清晰:先选一个预设方案,再用黑白名单微调,最后把执行和控制权限交代清楚。
profile:场景预设,一键切换
profile 是快速切换工具集预设的入口,支持四种模式:
- :代码开发场景,默认开放文件读写、代码执行、Git 操作等开发常用工具
coding
- :通用办公场景,开放消息处理、文档编辑、日历管理等工具
general
- :全量工具权限,风险较高,仅推荐测试环境使用
full
- :完全自定义,由 allow/deny 列表全权控制
custom
选择哪种预设取决于你的使用场景,日常开发首选 coding,办公场景选 general 基本够用。
allow 与 deny:黑白名单的精髓
allow
["read", "write", "exec", "feishu_doc"] 表示允许文件读写、命令执行和飞书文档工具。
deny
["rm", "format", "exec"] 就直接封死了删除、格式化和命令执行这三个高危操作。
exec 子模块:命令执行的控制中枢
这是整个配置里最容易出问题的地方,细节比较多,看这张表就清楚了:
| 配置项 | 作用 | 可选值/示例 |
|---|---|---|
| enabled | 是否启用命令执行工具 | true / false |
| allowedCommands | 允许执行的命令白名单(安全模式) | 数组,例如:["mkdir", "ls", "git", "npm"] |
| allowShell | 是否允许执行任意 shell 命令 | true / false(建议保持 false) |
| workingDirectory | 命令执行的默认工作目录 | 绝对路径,如 "/home/user/project" |
| timeout | 命令执行超时时间(单位秒) | 数值,如 30 |
需要特别提醒的是
allowShell
rm -rf 这类危险指令,风险极高,建议保持 false。日常工作环境下,通过 allowedCommands 列一个白名单,基本就能覆盖大多数需求。
approval 配置:审批机制怎么设
审批模式决定了 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", "ja va"],
"allowShell": false,
"timeout": 60
}
}
高安全场景配置:
"tools": {
"profile": "general",
"deny": ["exec", "rm"],
"approval": {
"mode": "high-risk-only"
}
}
配置修改完成后,记得执行 openclaw gateway restart 重启网关,新配置才会生效。