内置工具参考
本页记录 Hermes 工具注册表中的全部 53 个内置工具,并按 toolset 分组。具体是否可用,会受到平台、凭证和启用的 toolset 影响。
快速统计: 11 个浏览器工具、4 个文件工具、10 个 RL 工具、4 个 Home Assistant 工具、2 个终端工具、2 个 Web 工具、5 个飞书工具,以及分布在其他 toolset 中的 15 个独立工具。
MCP 工具
除内置工具外,Hermes 还可以从 MCP server 动态加载工具。MCP 工具会带上 server 名称前缀(例如来自 github MCP server 的 github_create_issue)。配置方法请见 MCP Integration。
browser toolset
| Tool | Description | Requires environment |
|---|---|---|
browser_back | 返回浏览器历史中的上一页。需先调用 browser_navigate。 | — |
browser_cdp | 发送原始 Chrome DevTools Protocol(CDP)命令。它是浏览器操作的逃生舱,可覆盖 browser_navigate、browser_click、browser_console 等未涵盖的能力。只有在会话开始时存在可访问的 CDP 端点时才会出现。 | — |
browser_click | 点击由快照中的 ref ID 标识的元素(例如 @e5)。ref ID 会显示在快照输出的方括号中。需先调用 browser_navigate 和 browser_snapshot。 | — |
browser_console | 获取当前页面的浏览器控制台输出与 JavaScript 错误,返回 console.log/warn/error/info 消息以及未捕获的 JS 异常。适合排查静默 JS 错误、失败的 API 调用和应用警告。 | — |
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 | 获取当前页面可访问性树的文本快照,返回带 ref ID 的交互元素,供 browser_click 与 browser_type 使用。 | — |
browser_type | 向由 ref ID 标识的输入框中输入文本,会先清空原内容再输入。需先调用 browser_navigate 和 browser_snapshot。 | — |
browser_vision | 为当前页面截图并交给视觉模型分析。适合处理 CAPTCHA、视觉验证、复杂布局或文本快照不足以理解的页面。 | — |
clarify toolset
| Tool | Description | Requires environment |
|---|---|---|
clarify | 当需要澄清、反馈或决策时向用户发问。支持多选题和开放题两种模式。 | — |
code_execution toolset
| Tool | Description | Requires environment |
|---|---|---|
execute_code | 运行可编程调用 Hermes 工具的 Python 脚本。适合需要 3 次以上工具调用、中间带处理逻辑、条件分支或需要先过滤大输出再进入上下文的场景。 | — |
cronjob toolset
| Tool | Description | Requires environment |
|---|---|---|
cronjob | 统一的定时任务管理器。通过 action="create"、"list"、"update"、"pause"、"resume"、"run" 或 "remove" 管理任务。支持绑定一个或多个技能。 | — |
delegation toolset
| Tool | Description | Requires environment |
|---|---|---|
delegate_task | 生成一个或多个子 agent,在隔离上下文中处理任务。每个子 agent 都有独立的对话、终端会话和 toolset,返回给父 agent 的只有最终总结。 | — |
feishu_doc toolset
此 toolset 仅限飞书文档评论智能回复处理器(gateway/platforms/feishu_comment.py)使用,不暴露给 hermes-cli 或普通飞书聊天适配器。
| Tool | Description | Requires environment |
|---|---|---|
feishu_doc_read | 根据 file_type 和 token 读取 Feishu/Lark 文档(Docx、Doc 或 Sheet)的完整文本内容。 | Feishu app credentials |
feishu_drive toolset
用于飞书文档评论处理器中的云盘评论读写。
| Tool | Description | Requires environment |
|---|---|---|
feishu_drive_add_comment | 在 Feishu/Lark 文档或文件上新增顶级评论。 | Feishu app credentials |
feishu_drive_list_comments | 列出 Feishu/Lark 文件上的整文评论,按时间倒序。 | Feishu app credentials |
feishu_drive_list_comment_replies | 列出指定 Feishu 评论线程下的回复。 | Feishu app credentials |
feishu_drive_reply_comment | 向某个 Feishu 评论线程发送回复,可选 @ 提及。 | Feishu app credentials |
file toolset
| Tool | Description | Requires environment |
|---|---|---|
patch | 对文件进行精确查找替换式编辑。优先于终端里的 sed/awk,支持模糊匹配并返回 unified diff。 | — |
read_file | 读取文本文件,带行号与分页。优先于终端里的 cat/head/tail。 | — |
search_files | 搜索文件内容或按文件名查找。优先于终端里的 grep/rg/find/ls。 | — |
write_file | 直接写入整个文件并完全覆盖原内容。需要局部编辑时应优先用 patch。 | — |
homeassistant toolset
| Tool | Description | Requires environment |
|---|---|---|
ha_call_service | 调用 Home Assistant service 来控制设备。建议先用 ha_list_services 了解参数。 | — |
ha_get_state | 获取单个 Home Assistant entity 的详细状态及所有属性。 | — |
ha_list_entities | 列出 Home Assistant entity,可按 domain 或 area 过滤。 | — |
ha_list_services | 列出可用 Home Assistant service 及其参数。 | — |
备注
Honcho 工具(honcho_profile、honcho_search、honcho_context、honcho_reasoning、honcho_conclude)已不再是内置工具。它们由 plugins/memory/honcho/ 中的 Honcho memory provider plugin 提供。
image_gen toolset
| Tool | Description | Requires environment |
|---|---|---|
image_generate | 使用 FAL.ai 根据文本提示生成高质量图像。底层模型由用户配置,agent 不能自行选择。返回单张图片 URL。 | FAL_KEY |
memory toolset
| Tool | Description | Requires environment |
|---|---|---|
memory | 将重要信息保存到跨会话持久化记忆中。它会在新会话开始时出现在 system prompt 中,用于记住关于用户及其环境的重要事实。 | — |
messaging toolset
| Tool | Description | Requires environment |
|---|---|---|
send_message | 向已连接的消息平台发送消息,或列出可用目标。若用户要求发往具体频道/对象,请先调用 send_message(action='list') 获取目标列表。 | — |
moa toolset
| Tool | Description | Requires environment |
|---|---|---|
mixture_of_agents | 将困难问题交给多个前沿 LLM 协同处理,通常会产生 5 次 API 调用(4 个参考模型 + 1 个聚合模型),适合复杂数学、算法或高不确定任务。 | OPENROUTER_API_KEY |
rl toolset
| Tool | Description | Requires environment |
|---|---|---|
rl_check_status | 获取训练运行的状态和指标。对同一运行有 30 分钟最小检查间隔限制。 | TINKER_API_KEY, WANDB_API_KEY |
rl_edit_config | 更新某个配置字段。建议先调用 rl_get_current_config() 查看当前环境可改字段。 | TINKER_API_KEY, WANDB_API_KEY |
rl_get_current_config | 获取当前环境可修改的配置。 | TINKER_API_KEY, WANDB_API_KEY |
rl_get_results | 获取已完成训练运行的最终结果与指标。 | TINKER_API_KEY, WANDB_API_KEY |
rl_list_environments | 列出全部可用 RL 环境,并返回环境名、路径和描述。 | TINKER_API_KEY, WANDB_API_KEY |
rl_list_runs | 列出全部训练运行(进行中与已完成)。 | TINKER_API_KEY, WANDB_API_KEY |
rl_select_environment | 选择一个 RL 环境并加载默认配置。 | TINKER_API_KEY, WANDB_API_KEY |
rl_start_training | 使用当前环境和配置启动新训练运行。 | TINKER_API_KEY, WANDB_API_KEY |
rl_stop_training | 停止一个正在运行的训练任务。 | TINKER_API_KEY, WANDB_API_KEY |
rl_test_inference | 对任意环境进行快速推理测试,用于验证环境加载、prompt 构造与评分流程。 | TINKER_API_KEY, WANDB_API_KEY |
session_search toolset
| Tool | Description | Requires environment |
|---|---|---|
session_search | 搜索过去的对话会话,相当于你的长期对话回忆。适合“我们之前做过这个吗”之类的场景。 | — |
skills toolset
| Tool | Description | Requires environment |
|---|---|---|
skill_manage | 管理技能(创建、更新、删除)。技能相当于你的过程性记忆,用于沉淀可复用做法。 | — |
skill_view | 加载某个技能的完整内容,或访问其关联文件(references、templates、scripts)。 | — |
skills_list | 列出可用技能(名称 + 描述)。 | — |
terminal toolset
| Tool | Description | Requires environment |
|---|---|---|
process | 管理由 terminal(background=true) 启动的后台进程,包括 list、poll、log、wait、kill 和 write。 | — |
terminal | 在 Linux 环境中执行 shell 命令。文件系统在调用间保持持久。长任务可用 background=true。不要用 cat/head/tail,请用 read_file;不要用 grep/rg/find,请用 search_files。 | — |
todo toolset
| Tool | Description | Requires environment |
|---|---|---|
todo | 管理当前会话的任务列表。适合复杂任务或用户一次给出多个子任务时使用。 | — |
vision toolset
| Tool | Description | Requires environment |
|---|---|---|
vision_analyze | 使用视觉模型分析图片,并给出详细描述或回答针对性问题。 | — |
web toolset
| Tool | Description | Requires environment |
|---|---|---|
web_search | 在 Web 上搜索任意主题的信息,返回相关标题、URL 和描述。 | EXA_API_KEY or PARALLEL_API_KEY or FIRECRAWL_API_KEY or TAVILY_API_KEY |
web_extract | 提取网页 URL 的内容并以 markdown 返回,也支持 PDF 链接。短页面直接返回全文,长页面会做 LLM 摘要。 | EXA_API_KEY or PARALLEL_API_KEY or FIRECRAWL_API_KEY or TAVILY_API_KEY |
tts toolset
| Tool | Description | Requires environment |
|---|---|---|
text_to_speech | 把文本转成语音音频。返回 MEDIA: 路径,平台会把它作为语音消息或音频附件投递。CLI 模式下会保存到 ~/voice-memos/。 | — |