首页 > 教程攻略 > ai教程 >openclaw的tools配置详细

openclaw的tools配置详细

来源:互联网 时间:2026-06-02 16:16:52

先说说 OpenClaw 工具配置中最核心的部分——它决定了 AI 能做什么、不能做什么。每个工具的行为都由 tools 配置文件控制,下面这张图展示了一个典型配置的样子:

openclaw的tools配置详细

整个配置文件的结构其实很清晰:先选一个预设方案,再用黑白名单微调,最后把执行和控制权限交代清楚。

profile:场景预设,一键切换

profile 是快速切换工具集预设的入口,支持四种模式:

  • coding

    :代码开发场景,默认开放文件读写、代码执行、Git 操作等开发常用工具
  • general

    :通用办公场景,开放消息处理、文档编辑、日历管理等工具
  • full

    :全量工具权限,风险较高,仅推荐测试环境使用
  • custom

    :完全自定义,由 allow/deny 列表全权控制

选择哪种预设取决于你的使用场景,日常开发首选 coding,办公场景选 general 基本够用。

allow 与 deny:黑白名单的精髓

allow

是工具白名单,显式指定允许使用的工具名称。它的优先级高于 profile 预设,可以额外开放预设外的工具。比如 ["read", "write", "exec", "feishu_doc"] 表示允许文件读写、命令执行和飞书文档工具。

deny

则是黑名单,优先级最高。即使在 profile 或 allow 列表中包含了某个工具,只要出现在 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

这个配置——开启后 AI 可以运行 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 重启网关,新配置才会生效。