简要总结
Tools
这页说明书在讲 OpenClaw 的“工具”是什么,以及怎么管理它们。你可以把工具想象成给 AI 助手准备的各种“小帮手”,比如让它能打开浏览器、画画、管理文件或者定时做事。这页会告诉爸爸妈妈(或者设置 AI 的大人)怎么决定让 AI 助手能用哪些工具,不能用哪些工具,就像给小朋友的玩具箱定规矩一样。如果你想知道 AI 都能做什么,或者想控制它不要乱动某些东西,就需要看这里。
五岁小孩版解释
OpenClaw 给 AI 助手准备了很多好用的“工具”,比如控制浏览器、在画布上画画、连接其他设备、定时执行任务等等。这些工具比以前的旧方法更好、更安全。
怎么关掉不想要的工具?
大人可以通过一个叫 openclaw.json 的配置文件来管理工具。里面有两个设置:tools.allow(允许列表)和 tools.deny(拒绝列表)。如果两个列表里都有同一个工具,那么“拒绝”的规矩会赢。这样,被禁止的工具就不会被送给 AI 模型使用了。
- 要禁止一个工具,比如浏览器,就在
tools.deny的列表里写上"browser"。 - 匹配工具名字的时候,不区分大小写(比如“Browser”和“browser”是一样的)。
- 可以用
"*"代表“所有工具”。 - 要小心:如果
tools.allow里只写了不认识的或者没加载的工具名字,OpenClaw 会提醒你,并且忽略这个允许列表,这样核心工具就还能用。
工具套餐(基础允许列表)
tools.profile 可以设置一个“基础工具套餐”,在 allow 和 deny 规则之前生效。这就像先给 AI 一个固定的玩具套装。每个不同的 AI 助手也可以有自己的套餐设置。
套餐有这几种:
minimal:只给一个叫session_status的工具(最基本的)。coding:给文件、运行程序、会话、记忆和图片相关的工具(适合编程)。messaging:给发消息和会话相关的工具(适合聊天)。full:不限制,所有工具都能用(和没设置一样)。
给不同的 AI 模型定制工具规则
有时候,你可能想让某个特定的 AI 模型(或者某个模型的具体版本)只能用更少的工具。可以用 tools.byProvider 来设置。这个规则会在“基础套餐”之后、allow/deny 列表之前生效,所以它只能让工具更少,不能更多。
- 你可以指定模型提供商(比如
google-antigravity),或者更精确的“提供商/模型”(比如openai/gpt-5.2)。 - 在这里面,再用
profile、allow或deny来限制工具。
工具分组(快捷方式)
工具太多了,记不住名字怎么办?可以用“分组”来指代一堆工具。分组名字以 group: 开头。
比如:
group:runtime代表exec,bash,process(运行命令的工具)。group:fs代表read,write,edit,apply_patch(操作文件的工具)。group:ui代表browser,canvas(浏览器和画布工具)。 你可以在allow或deny列表里直接写分组名字,比如"allow": ["group:fs", "browser"]。
一些重要工具的小提醒
exec工具:让 AI 在“工作区”里运行命令。可以设置超时时间、在后台运行、或者在有权限的情况下在主机上运行。要小心使用。browser工具:控制一个专门的浏览器。可以做打开网页、点击、打字、截图等很多事情。使用前需要确保browser.enabled是true。nodes工具:连接和管理其他设备(节点)。可以发送通知、运行命令、拍照、录屏。要特别注意:拍照和录屏需要得到用户的同意,并且设备上的 App 要在前台运行。sessions_spawn工具:让 AI 助手启动另一个 AI 助手来帮忙做事。可以设置任务、超时时间,还能附加文件。要小心控制它能看到和联系哪些其他会话,避免信息泄露。
安全建议
- 尽量避免直接用
system.run这样的底层命令,优先使用nodes->run工具,并且确保用户明确同意。 - 使用摄像头或屏幕录制前,一定要尊重用户的许可。
- 调用任何命令前,先用
status或describe工具检查一下权限和设备状态。
工具是怎么给 AI 看到的? AI 助手通过两种方式知道有哪些工具:
- 系统提示文本:一段人能读懂的描述和指南,告诉 AI 有什么工具以及大概怎么用。
- 工具结构定义:一套精确的、机器能读懂的规则,告诉 AI 每个工具叫什么名字、需要什么参数。 只有同时出现在这两个地方的工具,AI 模型才能调用。如果工具没出现,AI 就用不了它。