OpenClaw智能体工具

2026-04-28 32

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中,模型将无法使用该工具。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
OpenClaw
上一篇: OpenClaw模型管理