系列 · OpenClaw超简单 13/ 15

OpenClaw超简单13:工具权限控制

OpenClaw 的 Agent 可以调用很多工具:读写文件、执行 Shell 命令、控制浏览器、发送消息……这些能力很强大,但不是所有场景都需要全部开放。这篇讲怎么精确控制 Bot 能用哪些工具。 一、工具系统概览 OpenClaw …

最近更新于 2026年3月25日

OpenClaw 的 Agent 可以调用很多工具:读写文件、执行 Shell 命令、控制浏览器、发送消息……这些能力很强大,但不是所有场景都需要全部开放。这篇讲怎么精确控制 Bot 能用哪些工具。

一、工具系统概览

OpenClaw 内置了以下工具类别:

工具组包含能力
group:fs读写文件、编辑文件
group:web网页抓取、联网搜索、浏览器控制
group:runtime执行 Shell 命令、运行进程
group:sessions管理会话、子 Agent 控制
group:memory记忆和上下文工具
group:messaging跨 Channel 发消息
group:automationCron 定时任务、Webhook
group:uiUI 交互工具
group:nodes节点和工作流工具

默认情况下,Agent 有完整的工具访问权限(full 档位)。

二、四个预设档位

不想逐条配置?用预设档位是最快的方式:

档位包含内容适合场景
full所有工具(默认)个人使用、完全信任环境
coding文件系统 + 运行时 + 会话 + 记忆 + 图像开发辅助场景
messaging消息发送 + 会话管理纯聊天机器人
minimal仅会话状态查询最严格限制

在配置文件里设置:

{
  agents: {
    defaults: {
      tools: {
        profile: "messaging"
      }
    }
  }
}

三、精细的 allow / deny 控制

如果预设档位不够用,可以手动指定允许或禁止的工具:

{
  tools: {
    allow: ["group:fs", "group:web", "group:messaging"],
    deny: ["group:runtime"]
  }
}

规则:deny 永远优先于 allow。 如果同一个工具同时出现在 allow 和 deny 里,deny 生效。

可以混用工具组和具体工具名:

{
  tools: {
    allow: ["group:fs", "web_search"],   // 允许文件系统 + 单独允许搜索
    deny: ["browser", "exec"]            // 禁止浏览器控制和 Shell 执行
  }
}

四、常见安全配置

场景一:只用于聊天,不执行任何操作

{
  tools: {
    profile: "messaging"
  }
}

Bot 只能发消息、管理会话,无法读写文件或执行命令。

场景二:允许读文件,但不允许写入

{
  tools: {
    allow: ["read", "web_search", "group:messaging"],
    deny: ["write", "edit", "apply_patch", "group:runtime"]
  }
}

场景三:禁止 Shell 执行(保留其他能力)

{
  tools: {
    deny: ["group:runtime"]
  }
}

这是一个常见的折中配置:保留文件读写和联网能力,但禁止执行任意 Shell 命令。

场景四:分享给他人用,严格限制

{
  tools: {
    allow: ["group:messaging", "web_search", "web_fetch"],
    deny: ["group:fs", "group:runtime", "group:automation"]
  }
}

只允许联网查询和发消息,不允许碰文件系统和执行命令。

五、运行安全审计

配置完之后,跑一遍安全检查:

openclaw security audit

它会检查:

  • 工具权限是否过于宽松(尤其在多人使用时)
  • Gateway 是否意外暴露到网络
  • 配置文件权限是否正确

有问题会给出提示和修复建议。

六、注意事项

Shell 执行(group:runtime)是风险最高的工具组,开放后 Bot 可以在你的机器上执行任意命令。个人使用时没问题,但如果 Bot 对外开放(多人使用),强烈建议禁用:

{
  tools: {
    deny: ["group:runtime"]
  }
}

浏览器控制(browser 同样需要谨慎,它允许 Bot 控制你的浏览器访问任意网页,存在 SSRF 风险。不需要的话可以单独禁用:

{
  tools: {
    deny: ["browser"]
  }
}
OpenClaw超简单14:多 Agent 配置 OpenClaw超简单12:配置文件深度解析