OpenClaw 提供了一套完整的智能体工具体系,涵盖浏览器、画布、节点以及定时任务等核心能力。这些工具已经取代了旧版的 openclaw-* 技能体系,具备完整的类型定义,无需依赖 shell 调用,智能体可直接使用,整体更加规范和高效。
一、OpenClaw工具启用与禁用
在 openclaw.json 中,可以通过 tools.allow 与 tools.deny 对工具进行全局控制(其中 deny 优先级更高)。被拒绝的工具不会传递给模型提供商。
{
“tools”: { “deny”: [“browser”] }
}
注意事项:
- 工具匹配不区分大小写
- 支持 * 通配符(”*” 表示所有工具)
- 当 tools.allow 中仅包含未加载或不存在的工具时,系统会记录警告并忽略该配置,确保核心工具仍可正常使用
二、OpenClaw工具配置文件(基础权限控制)
tools.profile 用于定义基础工具权限,并在 allow / deny 之前生效。同时支持在 agents.list[].tools.profile 中进行单独覆盖。
配置类型:
- minimal:仅 session_status
- coding:文件、运行时、会话、内存及图像工具
- messaging:消息及会话相关工具
- full:不做限制(默认)
示例:消息优先 + 指定工具扩展
{
“tools”: {
“profile”: “messaging”,
“allow”: [“slack”, “discord”]
}
}
示例:限制运行时工具
{
“tools”: {
“profile”: “coding”,
“deny”: [“group:runtime”]
}
}
三、提供商级工具策略
通过 tools.byProvider,可以针对不同模型或提供商单独限制工具权限,而无需影响全局配置。
该策略在 profile 之后、allow/deny 之前执行,因此只能缩小工具范围。
示例:特定提供商降级工具权限
{
“tools”: {
“profile”: “coding”,
“byProvider”: {
“google-antigravity”: { “profile”: “minimal” }
}
}
}
四、OpenClaw工具分组(快捷调用)
支持使用 group:* 形式快速引用工具集合:
- group:runtime → exec、bash、process
- group:fs → read、write、edit、apply_patch
- group:sessions → 会话管理相关工具
- group:web → 搜索与抓取
- group:ui → browser、canvas
- group:automation → cron、gateway
- group:messaging → message
- group:nodes → 节点能力
示例:仅启用文件与浏览器能力
{
“tools”: {
“allow”: [“group:fs”, “browser”]
}
}
五、插件与扩展工具
插件机制允许在核心工具之外扩展能力,例如:
- Lobster:支持可恢复审批的工作流运行时
- LLM Task:结构化输出的LLM步骤(支持JSON校验)
- Diffs:差异对比与文件渲染工具
部分插件还会附带专属技能,用于增强智能体提示能力。
六、OpenClaw核心工具说明
1. exec(命令执行)
用于在工作区运行命令,支持前台/后台执行、超时控制及权限策略。
关键参数包括:
- command(必填)
- timeout / background / yieldMs
- host(sandbox / gateway / node)
- security(权限控制)
后台任务可通过 process 工具进行管理。
2. process(任务管理)
用于管理 exec 后台进程,包括:
- 查询(list / poll)
- 日志查看(log)
- 控制(kill / clear / remove)
3. browser(浏览器自动化)
提供完整浏览器控制能力:
- 页面操作(open / navigate / click / type)
- 状态管理(tabs / focus / close)
- 数据获取(snapshot / screenshot)
支持多配置文件及节点执行,适用于自动化测试与抓取场景。
4. web_search 与 web_fetch
用于网页搜索与内容抓取:
- web_search:基于 Brave API 搜索网页
- web_fetch:提取网页内容(支持 markdown / text)
默认支持缓存机制,提高效率。
5. canvas(画布渲染)
用于驱动节点画布,包括展示、评估及快照功能,支持 A2UI 渲染。
6. nodes(节点能力)
用于设备管理与系统交互:
- 节点发现与状态查询
- 通知发送
- 摄像头/屏幕采集
- 命令执行
7. message(多平台消息)
支持 Discord、Slack、WhatsApp、Telegram 等平台的消息发送与管理。
8. cron(定时任务)
用于任务调度与系统唤醒,包括任务创建、执行与记录查询。
9. sessions(会话管理)
支持多会话协作,包括:
- 会话查询
- 历史记录查看
- 消息发送
- 子智能体调用
- 循环调用检测(Loop Detection)
为避免工具调用陷入死循环,系统提供循环检测机制:
{
“tools”: {
“loopDetection”: {
“enabled”: true
}
}
}
支持识别:
- 重复调用
- 无进展轮询
- 循环交互(ping-pong)
- 推荐使用流程
浏览器自动化:
- browser → 启动
- snapshot → 获取结构
- act → 执行操作
画布渲染:
- canvas → present
- a2ui_push
- snapshot
节点控制:
- nodes → 查询状态
- 执行 notify / run / capture
七、安全建议
- 避免直接执行高权限命令(如 system.run)
- 涉及摄像头或屏幕操作需获得用户授权
- 执行前建议检查节点权限状态
- 工具如何被智能体调用
工具通过两种方式提供给智能体:
- 系统提示(可读说明)
- 工具Schema(结构化调用定义)
这意味着智能体不仅知道“有哪些工具可用”,还清楚“如何调用这些工具”。如果某个工具未被注入提示或Schema中,模型将无法使用该工具。

