内置工具参考
> 📖 本文档翻译自 Hermes Agent 官方文档
> 最后更新:2026-04-16
> 原文链接:Built-in Tools Reference
本文档记录了 Hermes 工具注册表中的全部 47 个内置工具,按工具集(Toolset)分组。工具的可用性因平台、凭证和已启用的工具集而异。
快速统计: 10 个浏览器工具、4 个文件工具、10 个强化学习(RL)工具、4 个 Home Assistant 工具、2 个终端工具、2 个 Web 工具,以及其他工具集中的 15 个独立工具。
MCP 工具
除了内置工具外,Hermes 还可以从 MCP 服务器动态加载工具。MCP 工具会带有服务器名称前缀(例如,github MCP 服务器的 github_create_issue)。配置方法请参阅 MCP 集成。
browser 浏览器工具集
| 工具 | 说明 | 所需环境变量 |
|---|
browser_back | 返回浏览器历史中的上一页。需要先调用 browser_navigate。 | — |
browser_click | 点击快照中由引用 ID 标识的元素(例如 '@e5')。引用 ID 在快照输出中以方括号显示。需要先调用 browser_navigate 和 browser_snapshot。 | — |
browser_console | 获取当前页面的浏览器控制台输出和 JavaScript 错误。返回 console.log/warn/error/info 消息及未捕获的 JS 异常。用于检测静默的 JavaScript 错误、失败的 API 调用和应用程序警告。需要先调用 browser_navigate。也可用于在页面上下文中执行 JavaScript 表达式。 | — |
browser_get_images | 获取当前页面上所有图片的 URL 和 alt 文本列表。用于查找需要用视觉工具分析的图片。需要先调用 browser_navigate。 | — |
browser_navigate | 导航到指定 URL。初始化会话并加载页面。必须在其他浏览器工具之前调用。对于简单的信息检索,建议使用 web_search 或 web_extract(更快、更省)。当需要与页面交互(点击、填写表单、动态内容)时使用浏览器工具。 | — |
browser_press | 按下键盘按键。用于提交表单(Enter)、导航(Tab)或键盘快捷键。需要先调用 browser_navigate。 | — |
browser_scroll | 在指定方向上滚动页面。用于显示当前视口下方或上方可能隐藏的更多内容。需要先调用 browser_navigate。 | — |
browser_snapshot | 获取当前页面可访问性树的文本快照。返回带有引用 ID(如 @e1、@e2)的可交互元素,用于 browser_click 和 browser_type。full=false(默认):紧凑视图,仅显示可交互元素。full=true:完整页面内容。超过 8000 字符的快照会被截断或由 LLM 摘要。需要先调用 browser_navigate。 | — |
browser_type | 在由引用 ID 标识的输入框中输入文本。先清空字段,再输入新文本。需要先调用 browser_navigate 和 browser_snapshot。 | — |
browser_vision | 截取当前页面截图并用视觉 AI 分析。用于需要视觉理解页面的场景——尤其适合验证码(CAPTCHA)、视觉验证挑战、复杂布局,或文本快照无法捕获重要视觉信息的情况。需要先调用 browser_navigate。 | — |
clarify 澄清工具集
| 工具 | 说明 | 所需环境变量 |
|---|
clarify | 当需要澄清、反馈或决策时向用户提问。支持两种模式:1. 多选题 — 提供最多 4 个选项,用户选择一个或通过第 5 个"其他"选项自由输入。2. 开放式 — 完全省略 choices 参数,用户自由输入。用于任务模糊、需要用户选择方案、希望获取反馈、需要决策、或选项有重要权衡时。 | — |
code_execution 代码执行工具集
| 工具 | 说明 | 所需环境变量 |
|---|
execute_code | 运行可以编程调用 Hermes 工具的 Python 脚本。适用于以下场景:需要 3 次以上工具调用并在其间有处理逻辑、需要过滤/精简大型工具输出、需要条件分支(如果 X 则 Y 否则 Z)、或需要循环(获取 N 页、处理 N 个文件)。可通过 from hermes_tools import ... 导入工具。限制:5 分钟超时、50KB 输出上限、每次脚本最多 50 次工具调用。 | — |
cronjob 定时任务工具集
| 工具 | 说明 | 所需环境变量 |
|---|
cronjob | 统一的定时任务管理器。使用 action="create"、"list"、"update"、"pause"、"resume"、"run" 或 "remove" 管理任务。支持附带技能的任务(可附加一个或多个技能),update 时 skills=[] 清除附加技能。定时任务在全新会话中运行,无当前聊天上下文。 | — |
delegation 委派工具集
| 工具 | 说明 | 所需环境变量 |
|---|
delegate_task | 派生一个或多个子代理(Subagent)在隔离上下文中执行任务。每个子代理拥有独立的对话、终端会话和工具集。仅返回最终摘要——中间工具结果不会进入你的上下文窗口。两种模式(需提供 'goal' 或 'tasks' 之一):1. 单任务模式:提供 'goal'(+ 可选的 context、toolsets)。2. 批量模式:提供最多 3 项的 'tasks' 数组,所有任务并发执行。 | — |
file 文件工具集
| 工具 | 说明 | 所需环境变量 |
|---|
patch | 文件中的精确查找替换编辑。替代终端中的 sed/awk。使用模糊匹配(9 种策略),因此轻微的空白/缩进差异不会导致失败。返回统一差异(unified diff)。编辑后自动运行语法检查。 | — |
read_file | 读取文本文件,带行号和分页。替代终端中的 cat/head/tail。输出格式:'行号 | 内容'。如果文件未找到会建议相似文件名。使用 offset 和 limit 处理大文件。注意:无法读取图片或二进制文件——请使用 vision_analyze。 |
search_files | 搜索文件内容或按名称查找文件。替代终端中的 grep/rg/find/ls。基于 Ripgrep,比 shell 等效工具更快。内容搜索(target='content'):文件内正则搜索。文件搜索(target='files'):按 glob 模式查找文件。 | — |
write_file | 将内容写入文件,完全替换现有内容。替代终端中的 echo/cat heredoc。自动创建父目录。覆盖整个文件——如需精确编辑请使用 'patch'。 | — |
homeassistant 智能家居工具集
| 工具 | 说明 | 所需环境变量 |
|---|
ha_call_service | 调用 Home Assistant 服务来控制设备。使用 ha_list_services 发现可用服务及其参数。 | — |
ha_get_state | 获取单个 Home Assistant 实体的详细状态,包括所有属性(亮度、颜色、温度设定值、传感器读数等)。 | — |
ha_list_entities | 列出 Home Assistant 实体。可按域(light、switch、climate、sensor、binary_sensor、cover、fan 等)或区域名称(客厅、厨房、卧室等)筛选。 | — |
ha_list_services | 列出可用的 Home Assistant 服务(动作)用于设备控制。显示每种设备类型可执行的操作及其接受的参数。用于发现如何控制通过 ha_list_entities 找到的设备。 | — |
> 注意
>
> Honcho 工具(honcho_profile、honcho_search、honcho_context、honcho_reasoning、honcho_conclude)不再是内置工具。它们可通过 Honcho 记忆提供者插件(plugins/memory/honcho/)使用。安装和使用方法请参阅 记忆提供者。
image_gen 图片生成工具集
| 工具 | 说明 | 所需环境变量 |
|---|
image_generate | 使用 FLUX 2 Pro 模型从文本提示词生成高质量图片,自动进行 2 倍放大。创建详细、艺术化的图片并自动放大以获得高清结果。返回单个放大后的图片 URL。 | FAL_KEY |
memory 记忆工具集
| 工具 | 说明 | 所需环境变量 |
|---|
memory | 将重要信息保存到跨会话持久化的记忆中。记忆在会话开始时注入系统提示——这是你在对话之间记住用户信息和环境的方式。主动保存:用户纠正你或说"记住这个"/"别再这样了"时、用户分享偏好/习惯/个人细节时、你发现环境信息时、你学到特定于用户设置的约定/API 特性/工作流时。 | — |
messaging 消息工具集
| 工具 | 说明 | 所需环境变量 |
|---|
send_message | 向已连接的消息平台发送消息,或列出可用目标。重要:当用户要求发送到特定频道或个人(而非仅平台名称)时,先调用 send_message(action='list') 查看可用目标。 | — |
moa 混合代理工具集
| 工具 | 说明 | 所需环境变量 |
|---|
mixture_of_agents | 将难题路由到多个前沿 LLM 协作处理。进行 5 次 API 调用(4 个参考模型 + 1 个聚合器),使用最大推理力度——请谨慎使用,仅在真正困难的问题上使用。最适合:复杂数学、高级算法、多步骤推理、创意头脑风暴、代码架构设计。 | OPENROUTER_API_KEY |
rl 强化学习工具集
| 工具 | 说明 | 所需环境变量 |
|---|
rl_check_status | 获取训练运行的状态和指标。频率限制:对同一运行强制 30 分钟最小间隔。返回 WandB 指标:step、state、reward_mean、loss、percent_correct。 | TINKER_API_KEY, WANDB_API_KEY |
rl_edit_config | 更新配置字段。先使用 rl_get_current_config() 查看所选环境的所有可用字段。每个环境有不同的可配置选项。基础设施设置(分词器、URL、lora_rank、学习率等)是固定的。 | TINKER_API_KEY, WANDB_API_KEY |
rl_get_current_config | 获取当前环境配置。仅返回可修改的字段:group_size、max_token_length、total_steps、steps_per_eval、use_wandb、wandb_name、max_num_workers。 | TINKER_API_KEY, WANDB_API_KEY |
rl_get_results | 获取已完成训练运行的最终结果和指标。返回最终指标和训练权重路径。 | TINKER_API_KEY, WANDB_API_KEY |
rl_list_environments | 列出所有可用的 RL 环境。返回环境名称、路径和描述。提示:用文件工具读取 file_path 以了解每个环境的工作方式(验证器、数据加载、奖励)。 | TINKER_API_KEY, WANDB_API_KEY |
rl_list_runs | 列出所有训练运行(活跃和已完成)及其状态。 | TINKER_API_KEY, WANDB_API_KEY |
rl_select_environment | 选择用于训练的 RL 环境。加载环境的默认配置。选择后,使用 rl_get_current_config() 查看设置,使用 rl_edit_config() 进行修改。 | TINKER_API_KEY, WANDB_API_KEY |
rl_start_training | 使用当前环境和配置启动新的 RL 训练运行。大多数训练参数(lora_rank、learning_rate 等)是固定的。启动前使用 rl_edit_config() 设置 group_size、batch_size、wandb_project。警告:训练可能持续数小时并消耗大量 GPU 资源。 | TINKER_API_KEY, WANDB_API_KEY |
rl_stop_training | 停止正在运行的训练任务。当指标表现不佳、训练停滞或你想尝试不同设置时使用。 | TINKER_API_KEY, WANDB_API_KEY |
rl_test_inference | 对任何环境进行快速推理测试。使用 OpenRouter 运行几步推理 + 评分。默认:3 步 × 16 补全 = 每个模型 48 次推演,测试 3 个模型 = 总计 144 次。测试环境加载、提示构建、推理和评分。 | TINKER_API_KEY, WANDB_API_KEY |
session_search 会话搜索工具集
| 工具 | 说明 | 所需环境变量 |
|---|
session_search | 搜索过往对话的长期记忆。这是你的回忆功能——每个过去的会话都可搜索。两种模式:1. 最近会话(无参数):查看最近处理的内容,返回标题、预览和时间戳。2. 关键词搜索(带参数):跨所有过去会话搜索特定主题。 | — |
skills 技能工具集
| 工具 | 说明 | 所需环境变量 |
|---|
skill_manage | 管理技能(创建、更新、删除)。技能是你的程序性记忆——针对重复任务类型的可复用方法。新技能保存到 ~/.hermes/skills/;现有技能可在任何位置修改。操作:create(完整 SKILL.md + 可选类别)、patch(old_string/new_string — 首选修复方式)、edit(完整 SKILL.md 重写 — 仅重大改造)、delete、write_file、remove_file。 | — |
skill_view | 加载技能的完整内容或访问其关联文件(参考资料、模板、脚本)。首次调用返回 SKILL.md 内容及 linked_files 字典。要访问这些文件,用 file_path 参数再次调用。 | — |
skills_list | 列出可用技能(名称 + 描述)。使用 skill_view(name) 加载完整内容。 | — |
terminal 终端工具集
| 工具 | 说明 | 所需环境变量 |
|---|
process | 管理通过 terminal(background=true) 启动的后台进程。操作:'list'(显示所有)、'poll'(检查状态 + 新输出)、'log'(带分页的完整输出)、'wait'(阻塞直到完成或超时)、'kill'(终止)、'write'(发送原始 stdin 数据)、'submit'(发送数据 + Enter)、'close'(关闭 stdin/发送 EOF)。 | — |
terminal | 在 Linux 环境上执行 shell 命令。文件系统在调用之间持久化。设置 background=true 用于长时间运行的服务器。设置 notify_on_complete=true(配合 background=true)可在进程完成时获得自动通知——无需轮询。请勿使用 cat/head/tail——使用 read_file。请勿使用 grep/rg/find——使用 search_files。 | — |
todo 待办工具集
| 工具 | 说明 | 所需环境变量 |
|---|
todo | 管理当前会话的任务列表。用于 3 步以上的复杂任务或用户提供多个任务时。无参数调用可读取当前列表。写入:提供 'todos' 数组创建/更新项目。merge=false(默认):替换整个列表。merge=true:按 id 更新现有项目,添加新项目。 | — |
vision 视觉工具集
| 工具 | 说明 | 所需环境变量 |
|---|
vision_analyze | 使用 AI 视觉分析图片。提供全面描述并回答关于图片内容的特定问题。 | — |
web 网络工具集
| 工具 | 说明 | 所需环境变量 |
|---|
web_search | 搜索任何主题的网络信息。返回最多 5 条相关结果,包含标题、URL 和描述。 | EXA_API_KEY 或 PARALLEL_API_KEY 或 FIRECRAWL_API_KEY 或 TAVILY_API_KEY |
web_extract | 从网页 URL 提取内容。以 Markdown 格式返回页面内容。也支持 PDF URL——直接传入 PDF 链接即可转换为 Markdown 文本。5000 字符以下的页面返回完整 Markdown;更大页面由 LLM 摘要。 | EXA_API_KEY 或 PARALLEL_API_KEY 或 FIRECRAWL_API_KEY 或 TAVILY_API_KEY |
tts 语音合成工具集
| 工具 | 说明 | 所需环境变量 |
|---|
text_to_speech | 将文本转换为语音音频。返回 MEDIA: 路径,由平台以语音消息形式发送。在 Telegram 上以语音气泡播放,在 Discord/WhatsApp 上作为音频附件。CLI 模式下保存到 ~/voice-memos/。语音和提供者由用户配置,不由模型选择。 | — |
编辑此页