跳到主要内容

内置工具参考

本文档记录了 Hermes 工具注册表中的全部 47 个内置工具,按工具集分组。可用性因平台、凭证和启用的工具集而异。

快速统计: 10 个浏览器工具,4 个文件工具,10 个 RL 工具,4 个 Home Assistant 工具,2 个终端工具,2 个网络工具,以及其他工具集中共 15 个独立工具。

MCP 工具

除了内置工具外,Hermes 还可以从 MCP 服务器动态加载工具。MCP 工具会带有服务器名称前缀(例如 github_create_issue 表示 github MCP 服务器)。有关配置,请参阅 MCP 集成

browser 工具集

工具描述所需环境
browser_back在浏览器历史记录中返回上一页。需先调用 browser_navigate
browser_click点击由快照中引用 ID(例如 @e5)标识的元素。引用 ID 会在快照输出的方括号中显示。需先调用 browser_navigatebrowser_snapshot
browser_console获取当前页面的浏览器控制台输出和 JavaScript 错误。返回 console.log/warn/error/info 消息以及未捕获的 JS 异常。可用于检测静默的 JavaScript 错误、失败的 API 调用和应用程序警告。要求……
browser_get_images获取当前页面上所有图像的列表,包含其 URL 和替代文本。适用于查找可使用视觉工具分析的图像。需先调用 browser_navigate
browser_navigate在浏览器中导航至指定 URL。初始化会话并加载页面。必须在调用其他浏览器工具前调用。对于简单的信息检索,建议优先使用 web_searchweb_extract(更快、更便宜)。当需要……时使用浏览器工具。
browser_press按下键盘上的一个键。适用于提交表单(回车键)、导航(Tab 键)或快捷键操作。需先调用 browser_navigate
browser_scroll按方向滚动页面。用于显示当前视口下方或上方可能存在的更多内容。需先调用 browser_navigate
browser_snapshot获取当前页面可访问性树的文本快照。返回带有引用 ID(如 @e1, @e2)的可交互元素,供 browser_clickbrowser_type 使用。full=false(默认):紧凑视图,仅包含可交互元素。full=true:完整……
browser_type向由引用 ID 标识的输入字段中输入文本。先清空字段,再输入新文本。需先调用 browser_navigatebrowser_snapshot
browser_vision对当前页面进行截图,并使用视觉 AI 进行分析。当需要从视觉上理解页面内容时使用——尤其适用于验证码、视觉验证挑战、复杂布局,或当文本快照……

clarify 工具集

工具描述所需环境
clarify在需要澄清、反馈或决策才能继续时向用户提问。支持两种模式:1. 多选——提供最多 4 个选项。用户可选择其一,或通过第 5 个“其他”选项输入自定义答案。2.…

code_execution 工具集

工具描述所需环境
execute_code运行可程序化调用 Hermes 工具的 Python 脚本。当需要执行 3 次以上工具调用,并在调用之间进行逻辑处理,或需要在进入上下文前对大型工具输出进行过滤/归约,或需要条件分支(……

cronjob 工具集

工具描述所需环境
cronjob统一的定时任务管理器。使用 action="create""list""update""pause""resume""run""remove" 来管理任务。支持带有 1 个或多个附加技能的技能驱动任务,且 skills=[] 在更新时会清除已附加的技能。Cron 任务在全新会话中运行,不包含当前聊天上下文。

delegation 工具集

工具描述所需环境
delegate_task启动一个或多个子代理在隔离上下文中处理任务。每个子代理拥有独立的对话、终端会话和工具集。仅返回最终摘要——中间工具结果永远不会进入你的上下文窗口。两个……

file 工具集

工具描述需要环境
patch对文件进行精准的查找与替换编辑。在终端中应使用此工具替代 sed/awk。采用模糊匹配(9种策略),因此微小的空白/缩进差异不会导致失败。返回统一的 diff 格式。编辑后自动运行语法检查…
read_file以行号和分页方式读取文本文件。在终端中应使用此工具替代 cat/head/tail。输出格式:'LINE_NUM|CONTENT'。若未找到文件,会建议相似的文件名。对于大文件,可使用 offset 和 limit。注意:无法读取图片文件…
search_files搜索文件内容或按文件名查找文件。在终端中应使用此工具替代 grep/rg/find/ls。基于 ripgrep,比 shell 原生命令更快。内容搜索(target='content'):在文件内部进行正则搜索。输出模式:完整匹配并显示行号…
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 等)或区域名称(living room、kitchen、bedroom 等)过滤。
ha_list_services列出可用的 Home Assistant 服务(操作),用于设备控制。显示每种设备类型可执行的操作及其接受的参数。使用此工具可发现通过 ha_list_entities 找到的设备如何被控制。
备注

Honcho 工具honcho_concludehoncho_contexthoncho_profilehoncho_search)已不再内置。它们可通过 Honcho 内存提供者插件在 plugins/memory/honcho/ 路径下获取。详见 插件 以了解安装与使用方法。

image_gen 工具集

工具描述需要环境
image_generate使用 FLUX 2 Pro 模型根据文本提示生成高质量图像,并自动进行 2x 放大。生成细节丰富、具有艺术性的图像,并自动放大以获得高分辨率效果。返回单个放大后的图像 URL。使用…FAL_KEY

memory 工具集

工具描述需要环境
memory将重要信息保存到持久化内存中,可在会话间持续保留。你的记忆会在会话开始时出现在系统提示中——这是你记住用户和环境信息的方式。何时使用…

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() 查看所选环境的所有可用字段。每个环境具有不同的可配置选项。基础设施设置(tokenizer、URL、lora_rank、learning_rate…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 后再启动。警告:训练…TINKER_API_KEY, WANDB_API_KEY
rl_stop_training停止正在运行的训练任务。如果指标表现不佳、训练停滞不前,或希望尝试不同设置时使用。TINKER_API_KEY, WANDB_API_KEY
rl_test_inference对任意环境进行快速推理测试。使用OpenRouter运行几轮推理+评分。默认:3步 × 16次完成 = 每模型48次rollouts,测试3个模型 = 共144次。测试环境加载、提示构造、推理…TINKER_API_KEY, WANDB_API_KEY

session_search 工具集

工具描述所需环境
session_search搜索您过去对话的长期记忆。这是您的回忆功能——每次过往会话均可搜索,此工具会总结发生的内容。当用户说“我们之前做过这个”、“记得吗”、“上次……”时,请主动使用此工具。

skills 工具集

工具描述所需环境
skill_manage管理技能(创建、更新、删除)。技能是您的程序性记忆——用于重复性任务类型的可重用方法。新技能将保存至 ~/.hermes/skills/;现有技能可在任意位置修改。操作:create(完整SKILL.md文件)、update、delete。
skill_view技能可用于加载特定任务和工作流的信息,以及脚本和模板。可加载技能的完整内容,或访问其关联文件(参考文档、模板、脚本)。首次调用返回 SKILL.md 内容及一个…
skills_list列出可用技能(名称 + 描述)。使用 skill_view(name) 加载完整内容。

terminal 工具集

工具描述所需环境
process管理使用 terminal(background=true) 启动的后台进程。操作:'list'(显示所有进程)、'poll'(检查状态 + 新输出)、'log'(分页显示完整输出)、'wait'(阻塞直到完成或超时)、'kill'(终止进程)、'write'(发送输入)
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=…

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/。语音和提供方…