内置工具参考
本文档记录了 Hermes 的内置工具,按工具集(toolset)分组。可用性因平台、凭据和启用的工具集而异。
快速统计(当前注册表): 约 70 个工具——10 个浏览器工具(核心)+ 2 个 CDP 门控浏览器工具、4 个文件工具、10 个 RL 工具、4 个 Home Assistant 工具、2 个终端工具、2 个 Web 工具、5 个飞书工具、7 个 Spotify 工具(由捆绑的 spotify 插件注册)、5 个元宝工具、7 个看板工具(在看板调度器生成代理时注册)、2 个 Discord 工具,以及一些独立工具(memory、clarify、delegate_task、execute_code、cronjob、session_search、skill_view/skill_manage/skills_list、text_to_speech、image_generate、video_generate、vision_analyze、video_analyze、mixture_of_agents、send_message、todo、computer_use、process)。
:::tip MCP 工具
除了内置工具外,Hermes 还可以从 MCP 服务器动态加载工具。MCP 工具以 mcp_<server>_ 前缀出现(例如,github MCP 服务器的 mcp_github_create_issue)。有关配置,请参阅 MCP 集成。
:::
browser 工具集
| 工具 | 描述 | 所需环境 |
|---|
browser_back | 在浏览器历史中导航回上一页。需要先调用 browser_navigate。 | — |
browser_click | 点击由快照中的 ref ID 标识的元素(例如 ‘@e5’)。ref ID 在快照输出的方括号中显示。需要先调用 browser_navigate 和 browser_snapshot。 | — |
browser_console | 获取当前页面的浏览器控制台输出和 JavaScript 错误。返回 console.log/warn/error/info 消息和未捕获的 JS 异常。用于检测静默的 JavaScript 错误、失败的 API 调用和应用警告。需要…… | — |
browser_get_images | 获取当前页面上所有图片的列表,包含其 URL 和替代文本。用于查找要使用视觉工具分析的图片。需要先调用 browser_navigate。 | — |
browser_navigate | 在浏览器中导航到 URL。初始化会话并加载页面。必须在其他浏览器工具之前调用。对于简单信息检索,优先使用 web_search 或 web_extract(更快、更便宜)。当你需要……时使用浏览器工具。 | — |
browser_press | 按下一个键盘键。适用于提交表单(Enter)、导航(Tab)或键盘快捷键。需要先调用 browser_navigate。 | — |
browser_scroll | 按方向滚动页面。用于显示当前视口下方或上方可能更多的内容。需要先调用 browser_navigate。 | — |
browser_snapshot | 获取当前页面可访问性树的文本快照。返回带有 ref ID(如 @e1、@e2)的交互元素,用于 browser_click 和 browser_type。full=false(默认):交互元素的紧凑视图。full=true:完整…… | — |
browser_type | 将文本键入由 ref ID 标识的输入字段。先清空字段,然后键入新文本。需要先调用 browser_navigate 和 browser_snapshot。 | — |
browser_vision | 截取当前页面的屏幕截图并使用视觉 AI 分析。当你需要通过视觉理解页面上的内容时使用——特别适用于验证码、视觉验证挑战、复杂布局或文本快照……时。 | — |
browser 工具集(CDP 门控工具)
这两个工具位于 browser 工具集中,但仅在会话启动时 Chrome DevTools Protocol 端点可到达时注册——通过 /browser connect、browser.cdp_url 配置、Browserbase 会话或 Camofox。
| 工具 | 描述 | 所需环境 |
|---|
browser_cdp | 发送原始 Chrome DevTools Protocol 命令。用于高级浏览器操作的逃生舱口,适用于较高级别的 browser_* 工具未涵盖的操作。请参阅 https://chromedevtools.github.io/devtools-protocol/ | CDP 端点 |
browser_dialog | 响应原生 JavaScript 对话框(alert / confirm / prompt / beforeunload)。先调用 browser_snapshot——待处理的对话框出现在其 pending_dialogs 字段中。然后调用 browser_dialog(action='accept'|'dismiss')。 | CDP 端点 |
clarify 工具集
| 工具 | 描述 | 所需环境 |
|---|
clarify | 当需要澄清、反馈或决策才能继续时向用户提问。支持两种模式:1. 多项选择——提供最多 4 个选项。用户选择一个或通过第 5 个”其他”选项输入自己的答案。2.…… | — |
code_execution 工具集
| 工具 | 描述 | 所需环境 |
|---|
execute_code | 运行可以编程方式调用 Hermes 工具的 Python 脚本。当你需要 3+ 次工具调用并在其间包含处理逻辑、需要过滤/缩减大量工具输出后再进入上下文、需要条件分支……时使用。 | — |
cronjob 工具集
| 工具 | 描述 | 所需环境 |
|---|
cronjob | 统一的定时任务管理器。使用 action="create"、"list"、"update"、"pause"、"resume"、"run" 或 "remove" 来管理任务。支持技能支持的任务,可附加一个或多个技能,skills=[] 在更新时清除附加的技能。Cron 运行在新的会话中,没有当前聊天的上下文。 | — |
delegation 工具集
| 工具 | 描述 | 所需环境 |
|---|
delegate_task | 生成一个或多个子代理,在隔离的上下文中处理任务。每个子代理拥有自己的对话、终端会话和工具集。仅返回最终摘要——中间的工具结果永远不会进入你的上下文窗口。两种…… | — |
feishu_doc 工具集
限定在飞书文档评论智能回复处理程序(gateway/platforms/feishu_comment.py)中使用。不在 hermes-cli 或常规飞书聊天适配器上暴露。
| 工具 | 描述 | 所需环境 |
|---|
feishu_doc_read | 给定 file_type 和 token,读取飞书/Lark 文档(Docx、Doc 或 Sheet)的完整文本内容。 | 飞书应用凭证 |
feishu_drive 工具集
限定在飞书文档评论处理程序中使用。驱动对云盘文件的评论读写操作。
| 工具 | 描述 | 所需环境 |
|---|
feishu_drive_add_comment | 在飞书/Lark 文档或文件上添加顶层评论。 | 飞书应用凭证 |
feishu_drive_list_comments | 列出飞书/Lark 文件上的整篇文档评论,最新在前。 | 飞书应用凭证 |
feishu_drive_list_comment_replies | 列出特定飞书评论线程(整篇文档或局部选择)中的回复。 | 飞书应用凭证 |
feishu_drive_reply_comment | 回复飞书评论线程,可选的 @ 提及。 | 飞书应用凭证 |
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 找到的设备。 | — |
computer_use 工具集
| 工具 | 描述 | 所需环境 |
|---|
computer_use | 后台 macOS 桌面控制,通过 cua-driver 实现——截图(SOM / vision / AX)、点击/拖拽/滚动/键入/按键/等待、list_apps、focus_app。不会抢占用户的光标或键盘焦点。适用于任何支持工具调用的模型。仅 macOS。 | cua-driver 在 $PATH 中(通过 hermes tools 安装)。 |
:::note
Honcho 工具(honcho_profile、honcho_search、honcho_context、honcho_reasoning、honcho_conclude)不再是内置工具。它们通过 Honcho 记忆提供商插件位于 plugins/memory/honcho/ 中。有关安装和使用,请参阅 记忆提供商。
:::
image_gen 工具集
| 工具 | 描述 | 所需环境 |
|---|
image_generate | 使用 FAL.ai 从文本提示生成高质量图像。底层模型由用户配置(默认:FLUX 2 Klein 9B,次秒级生成),代理不可选择。返回单个图片 URL。使用……显示。 | FAL_KEY |
kanban 工具集
当代理(a)由看板调度器生成(设置了 HERMES_KANBAN_TASK 环境变量)或(b)在显式启用 kanban 工具集的配置文件中运行时注册。任务作用域的工作者使用生命周期工具处理其分配的任务;编排器配置文件额外获得看板路由工具,如 kanban_list 和 kanban_unblock。请参阅 看板多代理 了解完整工作流。
| 工具 | 描述 | 所需环境 |
|---|
kanban_show | 显示分配给此工作者的活动看板任务(标题、描述、评论、依赖)。 | HERMES_KANBAN_TASK 或 kanban 工具集 |
kanban_list | 使用筛选条件列出看板任务。仅编排器;对调度器生成的任务工作者隐藏。 | 配置了 kanban 工具集的配置文件 |
kanban_complete | 将当前任务标记为完成,附带结构化的交接负载(结果、制品、后续行动)。 | HERMES_KANBAN_TASK 或 kanban 工具集 |
kanban_block | 将当前任务因向用户提问而阻塞——调度器暂停,显示问题,在有人回复后恢复。 | HERMES_KANBAN_TASK 或 kanban 工具集 |
kanban_heartbeat | 在长时间运行的操作期间发送进度心跳,以便调度器知道工作者仍在运行。 | HERMES_KANBAN_TASK 或 kanban 工具集 |
kanban_comment | 向任务线程添加评论而不更改其状态——适用于呈现中间发现。 | HERMES_KANBAN_TASK 或 kanban 工具集 |
kanban_create | 从当前任务派生出子任务。由编排器和生成后续任务的工作者使用。 | HERMES_KANBAN_TASK 或 kanban 工具集 |
kanban_link | 使用父→子依赖边链接任务。 | HERMES_KANBAN_TASK 或 kanban 工具集 |
kanban_unblock | 将被阻塞的任务返回到 ready 状态。仅编排器;对调度器生成的任务工作者隐藏。 | 配置了 kanban 工具集的配置文件 |
memory 工具集
| 工具 | 描述 | 所需环境 |
|---|
memory | 将重要信息保存到跨会话持久化的记忆存储中。你的记忆在会话开始时出现在系统提示中——这是你跨对话记住用户和环境的方式。何时保存…… | — |
messaging 工具集
| 工具 | 描述 | 所需环境 |
|---|
send_message | 向连接的消息平台发送消息,或列出可用目标。重要提示: 当用户要求发送到特定频道或人员(而不仅仅是裸平台名称)时,先调用 send_message(action=‘list’) 以查看可用目标…… | — |
moa 工具集
| 工具 | 描述 | 所需环境 |
|---|
mixture_of_agents | 通过多个前沿 LLM 协作解决难题。进行 5 次 API 调用(4 个参考模型 + 1 个聚合器),最大推理努力——谨慎使用,仅用于真正困难的问题。最适合:复杂数学、高级算法…… | OPENROUTER_API_KEY |
session_search 工具集
| 工具 | 描述 | 所需环境 |
|---|
session_search | 搜索本地会话数据库中存储的过往会话,或在其中滚动。基于 FTS5 的检索;从 DB 返回实际消息(无 LLM 调用)。三种形态:发现(传递 query)、滚动(传递 session_id + around_message_id)、浏览(无参数)。 | — |
skills 工具集
| 工具 | 描述 | 所需环境 |
|---|
skill_manage | 管理技能(创建、更新、删除)。技能是你的程序性记忆——针对重复任务类型的可重用方法。新技能保存到 ~/.hermes/skills/;现有技能可以在其所在位置修改。操作:create(完整 SKILL.m…… | — |
skill_view | 技能允许加载关于特定任务和工作流的信息,以及脚本和模板。加载技能的完整内容或访问其链接文件(参考资料、模板、脚本)。首次调用返回 SKILL.md 内容以及…… | — |
skills_list | 列出可用技能(名称 + 描述)。使用 skill_view(name) 加载完整内容。 | — |
terminal 工具集
| 工具 | 描述 | 所需环境 |
|---|
process | 管理使用 terminal(background=true) 启动的后台进程。操作:‘list’(显示全部)、‘poll’(检查状态 + 新输出)、‘log’(带分页的完整输出)、‘wait’(阻塞直到完成或超时)、‘kill’(终止)、‘write’(发送原始 stdin 数据…… | — |
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 视觉分析图像。在支持视觉的主力模型上,返回原始图像像素作为多模态工具结果,模型在下一轮中原生看到它们。在仅文本的主力模型上,回退到辅助视觉模型,该模型描述图像并返回文本描述。工具签名在两种情况下相同。 | — |
video 工具集
选择性加入的工具集(默认 hermes-cli 集中未加载)。通过 --toolsets video 添加或将 video 包含在你的 toolsets: 配置中。
| 工具 | 描述 | 所需环境 |
|---|
video_analyze | 分析来自 URL 或文件路径的视频内容——字幕、场景分解、关键时间戳和视觉描述。 | — |
video_gen 工具集
选择性加入的工具集(默认 hermes-cli 集中未加载)。通过 --toolsets video_gen 添加或在 hermes tools → Video Generation 中启用,后者还会引导你选择后端。
后端作为插件发布在 plugins/video_gen/<name>/ 下:
- xAI Grok-Imagine — 文本转视频和图像转视频(SuperGrok OAuth 或
XAI_API_KEY)。
- FAL.ai — Veo 3.1、Pixverse v6、Kling O3(需要
FAL_KEY)。
单一的 video_generate 工具涵盖两种模式——传递 image_url 可使静态图像动起来,省略则仅从文本生成。活动后端自动路由到正确的端点。工具的描述在会话启动时重建,以反映活动后端的实际能力(模态、宽高比、分辨率、时长范围、最大参考图像数、音频支持)。请参阅 视频生成提供商插件 了解后端创作。
| 工具 | 描述 | 所需环境 |
|---|
video_generate | 从文本提示生成视频(文本转视频)或使用用户配置的视频生成后端将静态图像动起来(图像转视频)。传递 image_url 以使该图像动起来;省略则仅从文本生成。后端自动路由到正确的端点。在 video 字段中返回 HTTP URL 或绝对文件路径。 | 活跃的 video_gen 插件及其凭证(例如 XAI_API_KEY、FAL_KEY) |
web 工具集
| 工具 | 描述 | 所需环境 |
|---|
web_search | 在网上搜索信息。默认返回最多 5 个结果,包含标题、URL 和描述。接受可选的 limit(1-100,默认 5)。查询会传递给配置的后端,因此诸如 site:domain、filetype:pdf、intitle:word、-term 和 "exact phrase" 等运算符在后端支持时可能有效。 | 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 |
x_search 工具集
| 工具 | 描述 | 所需环境 |
|---|
x_search | 使用 xAI 内置的 x_search Responses 工具搜索 X(Twitter)帖子、个人资料和话题。用于 X 上的当前讨论、反应或说法,而非通用网页。默认关闭——通过 hermes tools → 🐦 X (Twitter) Search 选择加入。模式仅在配置了 xAI 凭据时注册(check_fn 门控)。 | XAI_API_KEY 或 xAI Grok OAuth(SuperGrok 订阅)登录 |
tts 工具集
| 工具 | 描述 | 所需环境 |
|---|
text_to_speech | 将文本转换为语音音频。返回一个 MEDIA: 路径,平台将其作为语音消息投递。在 Telegram 上作为语音气泡播放,在 Discord/WhatsApp 上作为音频附件播放。在 CLI 模式下,保存到 ~/voice-memos/。语音和提供商…… | — |
discord 工具集
在 hermes-discord 平台工具集上注册(仅网关)。使用与消息适配器相同的机器人令牌。
| 工具 | 描述 | 所需环境 |
|---|
discord | 读取和参与 Discord 服务器。操作包括 search_members、fetch_messages、send_message、react、fetch_channel、list_channels 等。 | DISCORD_BOT_TOKEN |
discord_admin 工具集
在 hermes-discord 平台工具集上注册。审核操作需要机器人持有匹配的 Discord 权限。
| 工具 | 描述 | 所需环境 |
|---|
discord_admin | 通过 REST API 管理 Discord 服务器:列出服务器/频道/角色、创建/编辑/删除频道、管理角色授权、超时、踢出和封禁。 | DISCORD_BOT_TOKEN + 机器人权限 |
spotify 工具集
由捆绑的 spotify 插件注册。需要 OAuth 令牌——运行 hermes spotify setup 一次进行授权。
| 工具 | 描述 | 所需环境 |
|---|
spotify_playback | 控制 Spotify 播放,检查活动播放状态,或获取最近播放的曲目。 | Spotify OAuth |
spotify_devices | 列出 Spotify Connect 设备或将播放转移到其他设备。 | Spotify OAuth |
spotify_queue | 检查用户的 Spotify 队列或向其中添加项目。 | Spotify OAuth |
spotify_search | 搜索 Spotify 目录中的曲目、专辑、艺人、播放列表、节目或剧集。 | Spotify OAuth |
spotify_playlists | 列出、检查、创建、更新和修改 Spotify 播放列表。 | Spotify OAuth |
spotify_albums | 获取 Spotify 专辑元数据或专辑曲目。 | Spotify OAuth |
spotify_library | 列出、保存或移除用户已保存的 Spotify 曲目或专辑。 | Spotify OAuth |
hermes-yuanbao 工具集
仅在 hermes-yuanbao 平台工具集上注册。元宝是腾讯的聊天应用;这些工具驱动其私信/群组/贴纸 API。
| 工具 | 描述 | 所需环境 |
|---|
yb_query_group_info | 查询群组的基本信息(在应用中称为”派/Pai”):名称、群主、成员数。 | 元宝凭证 |
yb_query_group_members | 查询群组成员(用于 @ 提及、按名称查找用户、列出机器人)。 | 元宝凭证 |
yb_send_dm | 向群组中的用户发送私信/直接消息,可选附带媒体文件。 | 元宝凭证 |
yb_search_sticker | 按关键词搜索内置的元宝贴纸(TIM 表情)目录。 | 元宝凭证 |
yb_send_sticker | 向当前元宝聊天发送内置贴纸。 | 元宝凭证 |