OpenClaw Tools 与 Skills 系统深度解析

OpenClaw Tools 与 Skills 系统深度解析OpenClaw 作为一个功能强大的 AI 助手平台 其核心能力来自于两个关键系统 Tools 工具 和 Skills 技能 工具为 Agent 提供了与外部世界交互的能力 而技能则是教会 Agent 如何组合使用这些工具完成复杂任务的知识库 本文将深入探讨 OpenClaw 设计了哪些工具及其功能 Skills 的注入时机和完整流程 Tools 与 Skills 的协作关系

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



OpenClaw 作为一个功能强大的 AI 助手平台,其核心能力来自于两个关键系统:Tools(工具)Skills(技能)。工具为 Agent 提供了与外部世界交互的能力,而技能则是教会 Agent 如何组合使用这些工具完成复杂任务的知识库。

本文将深入探讨:

  1. OpenClaw 设计了哪些工具及其功能
  2. Skills 的注入时机和完整流程
  3. Tools 与 Skills 的协作关系

OpenClaw 的工具系统遵循以下设计原则:

核心理念

  • 最小权限原则:工具按功能分组,支持细粒度权限控制
  • 组合优于单体:小而专注的工具,通过组合实现复杂功能
  • 安全第一:多层策略过滤,防止滥用
  • 可扩展性:插件系统支持自定义工具

工具定义

 
   

OpenClaw 提供了 28 个核心工具,按 8 个功能类别组织:

📁 文件系统工具(File System)

工具名 功能描述 典型用例 权限级别 read 读取文件内容 查看代码、读取配置、检查日志 基础 write 创建或覆盖文件 生成代码、保存数据、写入配置 中等 edit 精确字符串替换编辑 修改代码片段、更新配置项 中等 apply_patch 应用 OpenAI 风格补丁 批量代码修改、多文件编辑 高

设计考量

  • 和 是最基础的操作
  • 提供精确的字符串替换(避免覆盖整个文件)
  • 支持复杂的多文件编辑(仅限特定模型)

安全机制

 
    

⚙️ 运行时工具(Runtime)

工具名 功能描述 典型用例 权限级别 exec 执行 shell 命令 运行脚本、编译代码、系统操作 高 process 后台进程管理 启动服务、监控任务 高

关键特性

  • 支持超时、信号中断、输出捕获
  • 支持后台守护进程
  • 默认拒绝:HTTP网关默认禁止这两个工具(安全考虑)

使用示例

 
     

🌐 网络工具(Web)

工具名 功能描述 典型用例 权限级别 web_search Web 搜索 查找最新信息、技术文档 基础 web_fetch 获取网页内容 抓取文章、解析API文档 基础

多提供商支持

  • :支持 Tavily、Brave、Perplexity 等
  • :自动转换HTML为Markdown,提取主要内容

返回格式

 
      

🧠 内存工具(Memory)

工具名 功能描述 典型用例 权限级别 memory_search 语义搜索记忆文件 查找历史对话、检索知识 基础 memory_get 按路径读取记忆 精确获取特定记忆片段 基础

核心能力

  • 向量搜索 + 关键词搜索混合
  • 支持 MEMORY.md、memory/.md、sessions/.jsonl
  • RRF(Reciprocal Rank Fusion)融合算法

查询流程

 
       

详细机制参考


💬 会话工具(Sessions)

工具名 功能描述 典型用例 权限级别 sessions_list 列出所有会话 查看活跃对话、管理会话 基础 sessions_history 读取会话历史 回顾对话、分析上下文 基础 sessions_send 发送消息到会话 跨会话通信、批量通知 中等 sessions_spawn 生成子代理 并行任务、委托工作 高 subagents 管理子代理 监控、停止子任务 高 session_status 查询会话状态 健康检查、负载监控 基础

会话架构

 
        

子代理限制

 
        

🎨 UI工具(User Interface)

工具名 功能描述 典型用例 权限级别 browser 浏览器自动化 网页截图、自动化测试 高 canvas Canvas/HTML渲染 生成图表、可视化 中等

browser 工具能力

  • Playwright 驱动
  • 支持导航、点击、输入、截图
  • JavaScript 执行

canvas 工具能力

  • HTML/SVG → PNG/JPEG
  • 支持 Chart.js、D3.js 等库
  • 自定义尺寸和样式

示例

 
         

📧 消息工具(Messaging)

工具名 功能描述 典型用例 权限级别 message 发送消息到当前渠道 主动通知、状态更新 基础

支持的渠道

  • Discord、Telegram、Slack
  • WhatsApp、Signal、iMessage
  • Line、GoogleChat 等

使用示例

 
          

🤖 自动化工具(Automation)

工具名 功能描述 典型用例 权限级别 cron 创建定时任务 定期报告、自动备份 高(仅所有者) gateway 网关系统控制 重启服务、更新配置 高(仅所有者)

cron 工具示例

 
           

gateway 工具功能

  • 重启网关
  • 重新加载配置
  • 查看系统状态
  • 清理缓存

📦 其他工具

工具名 功能描述 典型用例 权限级别 nodes 节点和设备管理 列出连接的设备 中等 agents_list 列出所有代理 查看可用代理 基础 image 图像理解(多模态) 分析图片、OCR 基础 tts 文本转语音 生成语音消息 基础

OpenClaw 提供了 4 个预定义配置文件,简化工具权限配置:

1. minimal - 最小配置

 
             

包含工具

  • (仅会话状态)

适用场景

  • 受限环境
  • 只读监控

2. coding - 编程配置 ⭐

 
              

包含工具

  • 文件系统:read, write, edit, apply_patch
  • 运行时:exec, process
  • 内存:memory_search, memory_get
  • 会话:sessions_list, sessions_send, sessions_spawn
  • 自动化:cron
  • 媒体:image

适用场景

  • 代码开发
  • 自动化脚本
  • 技术支持

3. messaging - 消息配置

 
               

包含工具

  • sessions_list, sessions_send
  • session_status
  • message

适用场景

  • 客服机器人
  • 通知助手
  • 会话管理

4. full - 完整配置

 
                

包含工具:所有工具(无限制)

适用场景

  • 开发环境
  • 超级管理员
  • 完全信任的环境

OpenClaw 使用多层策略控制工具访问:

策略应用顺序

 
                 

策略配置示例

 
                 

工具组(Tool Groups)

 
                 

使用示例

 
                 

OpenClaw 支持通过插件注册自定义工具:

插件工具注册

 
                  

启用插件工具

 
                  

定义:Skill 是 Markdown 格式的知识文档,教会 Agent 如何组合使用工具完成复杂任务。

核心组成

 
                   

示例

 
                   

与 Tool 的本质区别

维度 Tool(工具) Skill(技能) 形式 代码(TypeScript函数) 文档(Markdown文本) 作用 提供原子能力 教学如何使用工具 注册 代码注册(启动时) 文件扫描(启动时) 传递 Function calling API 系统提示注入 执行 直接调用 LLM读取并遵循

时间线概览

 
                    

加载位置和优先级

 
                     

位置

 
                     

合并策略

  • 同名技能:后加载的覆盖先加载的
  • 允许工作空间覆盖捆绑技能
  • 实现自定义和扩展

运行时资格检查

位置

 
                      

资格检查示例

 
                      

检查逻辑:

 
                      
 
                      

检查逻辑:

 
                      

技能块格式化

位置

 
                       

生成示例

 
                       

系统提示构建

位置

 
                        

技能部分构建

 
                        

最终系统提示

 
                        

关键点

  • Skills部分在Tools部分之后
  • 包含明确的选择指令(”scan”, “read”, “follow”)
  • 使用 “mandatory” 强调重要性
  • 限制只读取一个技能(避免过度加载)

LLM 自主选择流程

 
                         

关键点

  • LLM 自主判断是否需要技能
  • LLM 自主选择使用哪个技能
  • 技能文档通过 工具动态获取
  • 技能只是指导,最终执行仍依赖工具

用户显式调用(Slash Commands)

 
                          

关键点

  • 用户通过 显式调用
  • 支持 tool-dispatch(直接调用工具)
  • 不经过LLM推理(确定性执行)
  • 仍受Tool策略约束

 
                           

 
                            

1. Tool 必须提前注册

 
                             

证明

 
                             

2. Tool策略不影响Skill可见性

 
                              

原因

  • Tool过滤和Skill过滤是独立的
  • Skill可见性不受Tool策略影响
  • 但Skill执行依赖Tool可用性

3. 配置一致性很重要

反例(会失败)

 
                               

所有这些技能都依赖 ,会执行失败。

正例(一致)

 
                               

或者使用元数据声明依赖:

 
                               

1. 使用配置文件简化管理

 
                                

2. 为Skill声明工具依赖

 
                                 

这样技能会在依赖不满足时自动不加载。


3. 使用 tool-dispatch 确保一致性

 
                                  

用户输入 时:

  • 直接调用 工具
  • 绕过LLM推理
  • 确保行为一致

4. 监控技能执行失败

如果用户报告”技能不工作”,检查清单:

 
                                   

目标:自动审查代码变更

配置

 
                                    

工作流

 
                                    

目标:每天生成销售报告

配置

 
                                     

自定义技能

 
                                     

触发

 
                                     

目标:支持Python、Node.js、Go开发

配置

 
                                      

智能选择

 
                                      

  1. 工具是能力,技能是智慧
    • 工具:28个核心工具 + 插件扩展
    • 技能:Markdown文档,教学如何使用工具
  2. 注入发生在启动和会话开始
    • 启动时:加载技能和工具
    • 会话时:构建系统提示
    • 运行时:LLM读取和执行
  3. 工具和技能独立但关联
    • 独立注册和加载
    • 技能引用工具名称
    • 技能执行依赖工具可用性
  4. 多层策略确保安全
    • 工具策略:控制工具可用性
    • 技能策略:控制技能可见性
    • 两者配合保证系统安全
  1. 灵活性:工具和技能分离,易于扩展
  2. 安全性:多层策略控制,细粒度权限
  3. 可组合性:小工具组合成复杂功能
  4. 可维护性:技能是文档,易于更新

“Give the agent tools to do things, and skills to know how to do them well.”

“给代理工具去做事,给技能教它如何做好。”

小讯
上一篇 2026-04-01 22:26
下一篇 2026-04-01 22:24

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/226950.html