OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Tools

这页说明书在讲 OpenClaw 的“工具”是什么,以及怎么管理它们。你可以把工具想象成给 AI 助手准备的各种“小帮手”,比如让它能打开浏览器、画画、管理文件或者定时做事。这页会告诉爸爸妈妈(或者设置 AI 的大人)怎么决定让 AI 助手能用哪些工具,不能用哪些工具,就像给小朋友的玩具箱定规矩一样。如果你想知道 AI 都能做什么,或者想控制它不要乱动某些东西,就需要看这里。

五岁小孩版解释

OpenClaw 给 AI 助手准备了很多好用的“工具”,比如控制浏览器、在画布上画画、连接其他设备、定时执行任务等等。这些工具比以前的旧方法更好、更安全。

怎么关掉不想要的工具? 大人可以通过一个叫 openclaw.json 的配置文件来管理工具。里面有两个设置:tools.allow(允许列表)和 tools.deny(拒绝列表)。如果两个列表里都有同一个工具,那么“拒绝”的规矩会赢。这样,被禁止的工具就不会被送给 AI 模型使用了。

  1. 要禁止一个工具,比如浏览器,就在 tools.deny 的列表里写上 "browser"
  2. 匹配工具名字的时候,不区分大小写(比如“Browser”和“browser”是一样的)。
  3. 可以用 "*" 代表“所有工具”。
  4. 要小心:如果 tools.allow 里只写了不认识的或者没加载的工具名字,OpenClaw 会提醒你,并且忽略这个允许列表,这样核心工具就还能用。

工具套餐(基础允许列表) tools.profile 可以设置一个“基础工具套餐”,在 allowdeny 规则之前生效。这就像先给 AI 一个固定的玩具套装。每个不同的 AI 助手也可以有自己的套餐设置。 套餐有这几种:

  • minimal:只给一个叫 session_status 的工具(最基本的)。
  • coding:给文件、运行程序、会话、记忆和图片相关的工具(适合编程)。
  • messaging:给发消息和会话相关的工具(适合聊天)。
  • full:不限制,所有工具都能用(和没设置一样)。

给不同的 AI 模型定制工具规则 有时候,你可能想让某个特定的 AI 模型(或者某个模型的具体版本)只能用更少的工具。可以用 tools.byProvider 来设置。这个规则会在“基础套餐”之后、allow/deny 列表之前生效,所以它只能让工具更少,不能更多。

  1. 你可以指定模型提供商(比如 google-antigravity),或者更精确的“提供商/模型”(比如 openai/gpt-5.2)。
  2. 在这里面,再用 profileallowdeny 来限制工具。

工具分组(快捷方式) 工具太多了,记不住名字怎么办?可以用“分组”来指代一堆工具。分组名字以 group: 开头。 比如:

  • group:runtime 代表 exec, bash, process(运行命令的工具)。
  • group:fs 代表 read, write, edit, apply_patch(操作文件的工具)。
  • group:ui 代表 browser, canvas(浏览器和画布工具)。 你可以在 allowdeny 列表里直接写分组名字,比如 "allow": ["group:fs", "browser"]

一些重要工具的小提醒

  • exec 工具:让 AI 在“工作区”里运行命令。可以设置超时时间、在后台运行、或者在有权限的情况下在主机上运行。要小心使用。
  • browser 工具:控制一个专门的浏览器。可以做打开网页、点击、打字、截图等很多事情。使用前需要确保 browser.enabledtrue
  • nodes 工具:连接和管理其他设备(节点)。可以发送通知、运行命令、拍照、录屏。要特别注意:拍照和录屏需要得到用户的同意,并且设备上的 App 要在前台运行。
  • sessions_spawn 工具:让 AI 助手启动另一个 AI 助手来帮忙做事。可以设置任务、超时时间,还能附加文件。要小心控制它能看到和联系哪些其他会话,避免信息泄露。

安全建议

  • 尽量避免直接用 system.run 这样的底层命令,优先使用 nodes -> run 工具,并且确保用户明确同意。
  • 使用摄像头或屏幕录制前,一定要尊重用户的许可。
  • 调用任何命令前,先用 statusdescribe 工具检查一下权限和设备状态。

工具是怎么给 AI 看到的? AI 助手通过两种方式知道有哪些工具:

  1. 系统提示文本:一段人能读懂的描述和指南,告诉 AI 有什么工具以及大概怎么用。
  2. 工具结构定义:一套精确的、机器能读懂的规则,告诉 AI 每个工具叫什么名字、需要什么参数。 只有同时出现在这两个地方的工具,AI 模型才能调用。如果工具没出现,AI 就用不了它。