OC
OpenClaw 中文解释版

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

简要总结

Plugin Agent Tools

这页说明书在讲一个叫“工具”的小帮手。就像你的玩具箱里有不同的玩具一样,这里的小帮手(工具)可以帮智能大脑(LLM)做更多事情。有的小帮手是必须带着的,有的小帮手是你可以自己选择要不要带的。这页会告诉大人们怎么把这些小帮手放进玩具箱里,以及怎么告诉智能大脑可以用哪些小帮手。

五岁小孩版解释

想象一下,智能大脑(LLM)就像一个很聪明但需要工具的小朋友。插件(Plugin)可以给它准备一些“工具”,就像小铲子、小画笔一样,让它能挖土或者画画。这些工具是用一种叫 JSON‑schema 的规则写好的“说明书”,告诉大脑这个工具怎么用。

工具分两种:

  1. 必须的工具:智能大脑每次玩的时候,都自动带着这些工具。
  2. 可选的工具:这些工具不会自动给大脑用。只有你(用户)特别允许了,大脑才能用它们。

怎么给大脑准备工具呢? 大人们需要在一个叫“配置文件”的地方写下来。有两个地方可以写:

  • 在主配置文件里,一个叫 tools 的地方。
  • 或者,在专门为某个大脑(agent)写的配置里,一个叫 agents.list[].tools 的地方。

怎么控制大脑能用哪些工具? 有一个“允许名单”和“拒绝名单”的规则。就像你可以规定“只允许玩积木和画笔”一样,这个名单决定了大脑可以叫哪个小帮手(工具)来帮忙。

怎么做一个简单的“必须工具”? 大人们需要写一小段代码来“注册”一个工具。我们来看看这段代码在做什么:

  1. 给它起名字name: "my_tool"。这是工具的名字,比如叫“我的小铲子”。
  2. 告诉大脑它能干嘛description: "Do a thing"。这是说“这个小铲子可以用来挖东西”。
  3. 告诉大脑怎么用parameters: ... 这部分是“使用说明书”,规定用这个工具时需要给它什么。比如这里需要一个叫 input 的“文字”。
  4. 告诉工具接到命令后做什么async execute(...) 这部分是工具真正干活的步骤。比如这里它会把收到的 input 文字原样说出来。

怎么做一个“可选工具”? 和上面很像,但在最后要加一句 { optional: true }。这就像在玩具上贴了个标签,写着“需要爸爸妈妈同意才能玩”。这样,这个工具就不会自动给大脑用了。

怎么允许大脑使用“可选工具”? 你需要在配置文件里,把工具的名字加到“允许名单”里。名单写在 agents.list[].tools.allow 这个地方(或者全局的 tools.allow 里)。你可以这样写:

  • "workflow_tool":允许名字叫 workflow_tool 的这一个工具。
  • "workflow":允许所有来自一个叫 workflow 的插件里的工具。
  • "group:plugins":允许所有来自插件的工具。

其他影响工具使用的“小开关” 配置文件里还有一些其他地方也能影响工具:

  • tools.profile:一个基础的“允许名单”模板。
  • tools.byProvider:可以针对不同的大脑供应商(provider)设置不同的允许/拒绝规则。
  • tools.sandbox.tools.*:当大脑在“沙箱”(一个安全的玩耍区域)里时,对工具的特别规定。

重要规则和小提醒

  1. 起名字要小心:你给工具起的名字,不能和系统自带的“核心工具”名字一样。如果名字冲突了,你的工具会被忽略掉。
  2. 插件名字也要小心:在“允许名单”里用的插件ID,也不能和核心工具的名字冲突。
  3. 安全第一:如果一个工具会做很重要的事情(比如发信息),或者需要特别的密码或软件才能用,最好把它做成“可选工具”(optional: true),这样更安全。