除了生成文本之外,代理(Agent)所执行的一切操作都是通过“工具”来实现的。工具是代理用于读取文件、执行命令、浏览网页、发送消息以及与各类设备进行交互的媒介。
工具、技能与插件
OpenClaw 包含三个相互协作的层级:
1、工具:代理的调用对象
工具本质上是一个带有类型定义的函数,代理可以对其进行调用(例如:执行命令 `exec`、网页浏览 `browser`、网络搜索 `web_search`、发送消息 `message` 等)。OpenClaw 预置了一套内置工具,同时用户也可以通过安装插件来注册更多额外的工具。
在代理的视角中,这些工具被视为发送给模型 API 的结构化函数定义。
2、技能:指导代理“何时”及“如何”操作
技能以 Markdown 文件(通常命名为 `SKILL.md`)的形式存在,并会被注入到系统的提示词(System Prompt)中。技能为代理提供了必要的上下文信息、操作约束,以及关于如何高效使用工具的循序渐进式指引。技能文件可以存放在您的工作区、共享文件夹中,也可以作为插件的一部分进行分发。
3、插件:将各项能力进行打包整合
插件是一种软件包,它可以注册并整合任意组合的功能模块,包括:通信渠道(Channels)、模型服务提供商、各类工具、技能集、语音交互能力、图像生成能力等。部分插件属于“核心插件”(随 OpenClaw 软件一同发布),而另一些则是“外部插件”(由社区开发者发布至 npm 仓库)。
内置工具
以下工具均随 OpenClaw 软件一同发布,无需安装任何额外插件即可直接使用:
工具配置
允许列表与拒绝列表
通过配置文件中的 tools.allow / tools.deny选项,控制代理可调用的工具。拒绝列表的优先级始终高于允许列表。
{tools: {allow: ["group:fs", "browser", "web_search"],deny: ["exec"],},}
工具配置文件(Profile)
tools.profile 在应用允许/拒绝规则之前,设定一个基础的允许列表。单代理覆盖设置:agents.list[].tools.profile。
工具组
在允许/拒绝列表中使用 group:* 简写:
实例展示:
要查看智能体在对对话过程中使用了哪些工具,可以登录Openclaw 控制中心127.0.0.1:18789,点击聊天chat

以之前hello world的技能为例,可以看到智能体自动调用了"read"的工具,读取了SKILL.md文件。


夜雨聆风