OpenClaw 企业定制 私人订制工作流 优化运维 openclaw记忆优化 问题咨询解决 请加微信交流
微信: aixbwz
Hermes Agent内置47个工具,覆盖文件操作、代码执行、网页搜索、Git操作、API调用等常见场景。善用工具系统是提升AI能力的关键。这篇讲清楚工具系统的工作原理、内置工具有哪些、以及如何配置和使用。
工具系统工作原理
当用户提出需要执行操作的任务时,Hermes会自动选择合适的工具来完成任务:
- 分析用户请求,判断需要哪些操作
- 从工具库中选择匹配的工具
- 执行工具,收集结果
- 汇总结果,形成最终回复
整个过程对用户透明,你只需要描述想要什么,AI自动选工具。
47个内置工具分类
文件操作类
- read_file:读取文件内容,支持分页
- write_file:写入文件,完全覆盖
- patch:智能补丁,只改文件的一部分
- search_files:搜索文件内容(grep)
- terminal:执行shell命令
代码执行类
- execute_code:在Python/JS沙箱中执行代码
- jupyter_live_kernel:Jupyter notebook交互
- code_interpreter:通用代码解释器
网页和API类
- browser_navigate:浏览器导航到URL
- browser_snapshot:获取页面快照
- browser_click:点击页面元素
- browser_type:输入文字
- browser_console:获取控制台输出
- http_request:发送HTTP请求
- fetch:获取URL内容
Git和版本控制类
- git_clone:克隆仓库
- git_branch:操作分支
- git_commit:提交代码
- git_push:推送到远程
- git_pull:拉取更新
- github_pr:GitHub PR操作
- github_issue:GitHub Issues操作
数据处理类
- csv_process:处理CSV文件
- json_process:处理JSON数据
- xml_process:处理XML数据
- database_query:数据库查询
媒体处理类
- image_process:图片处理(裁剪、缩放、格式转换)
- video_process:视频处理
- audio_process:音频处理
- text_to_speech:文字转语音
系统管理类
- process_list:列出进程
- process_kill:结束进程
- system_info:获取系统信息
- disk_usage:查看磁盘使用
网络工具类
- ping:测试网络连通性
- dns_lookup:DNS查询
- ssl_check:SSL证书检查
- port_scan:端口扫描
开发工具类
- docker:Docker容器操作
- kubernetes:K8s操作
- mysql_query:MySQL查询
- postgres_query:PostgreSQL查询
- redis_command:Redis操作
工具配置
启用/禁用工具
# 在config.yaml里配置
tools:
enabled:
- read_file
- write_file
- terminal
- browser_navigate
disabled:
- port_scan
- system_info
工具参数配置
tools:
terminal:
timeout: 300 # 默认超时时间(秒)
allowed_commands:
- "git"
- "python"
- "node"
denied_commands:
- "rm -rf /"
- "dd"
browser_navigate:
user_agent: "Mozilla/5.0..."
viewport: "1920,1080"
headless: true
execute_code:
language: "python"
timeout: 60
memory_limit: "512MB"
浏览器工具配置
tools:
browser_navigate:
viewport: "1280,720"
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
stealth: true # 隐藏自动化特征
proxy: "http://127.0.0.1:7890" # 代理
browser_snapshot:
full_page: true # 截取完整页面
wait_for_selector: ".content"
工具集(Toolsets)
工具集是工具的分组,方便批量管理:
# 预定义工具集
file-tools # 文件操作工具组
code-tools # 代码执行工具组
web-tools # 网页工具组
git-tools # Git工具组
data-tools # 数据处理工具组
dev-tools # 开发环境工具组
# 使用工具集
tools:
toolsets:
- file-tools
- code-tools
- web-tools
自定义工具集
tools:
custom_toolsets:
my-stack:
- read_file
- write_file
- terminal
- docker
ml-pipeline:
- execute_code
- http_request
- jupyter_live_kernel
异步工具执行
有些工具支持异步执行,不阻塞等待结果:
# 异步执行
tools:
async:
- video_process
- image_process
- long_running_task
# 后台任务
/hermes run "处理这个视频" --background
工具使用示例
读取并分析文件
用户:帮我看看config.yaml里的数据库配置
AI调用:read_file(path="config.yaml")
结果:分析数据库连接信息,返回配置
批量重命名文件
用户:把downloads文件夹里的所有.txt改成.md
AI调用:terminal(command="cd downloads && rename 's/.txt$/.md/' *.txt")
结果:批量重命名完成
网页数据抓取
用户:抓取这个页面的所有标题
AI调用:browser_navigate(url="https://example.com")
browser_snapshot()
结果:返回页面标题列表
代码执行和可视化
用户:帮我画一个正弦波图
AI调用:execute_code(code="import matplotlib.pyplot as plt...")
结果:生成图表并展示
工具安全
工具执行有安全限制:
- 危险命令需要审批(rm -rf等)
- 网络访问可配置
- 代码执行在沙箱中
- 敏感操作记录审计日志
security:
tools:
terminal:
require_approval:
- "sudo"
- "rm -rf"
- "chmod 777"
network:
allowed_hosts:
- "api.github.com"
- "*.openai.com"
denied_hosts:
- "*.internal.corp"
自定义工具
可以通过Skill系统创建自定义工具:
# 在Skill中定义工具
# tools/my_tool.py
def my_custom_tool(param1: str, param2: int) -> str:
"""自定义工具描述"""
# 工具逻辑
return result
# 注册工具
# 在SKILL.md中
tools:
- name: my_custom_tool
file: tools/my_tool.py
description: "处理xxx的工具"
常见问题
工具执行失败?
检查工具是否启用、参数是否正确、权限是否足够。用/hermes debug查看详细错误。
浏览器工具被检测?
开启stealth模式,或配置代理IP。Browserbase提供住宅代理。
代码执行超时?
增加timeout配置,或优化代码逻辑。长任务用后台执行。
如何限制工具权限?
在security.tools中配置require_approval和denied_commands。
总结
47个内置工具覆盖了大部分日常场景,善用工具系统能让AI能力翻倍。
核心工具推荐:
- 文件操作:read_file、write_file、patch
- 代码执行:execute_code
- 网页工具:browser_navigate、browser_snapshot
- Git操作:git_commit、git_push
建议先熟悉这几个高频工具,其他按需学习。
相关文章
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END








暂无评论内容