HoRain云--Hermes Agent 工具集

📅 2026/7/9 2:02:01
HoRain云--Hermes Agent 工具集
HoRain 云小助手个人主页⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。目录⛳️ 推荐工具系统架构文件与系统工具集file — 文件操作terminal — Shell 命令执行code — 沙箱代码执行computer — 桌面 GUI 自动化网络与内容工具集web — 网页搜索与内容提取实例browser — 浏览器自动化vision — 图片分析audio — 音频处理Agent 能力工具集memory — 记忆管理skills — 技能管理delegation — 子 Agent 委托kanban — 多 Agent 看板媒体创作工具集image_gen — AI 图片生成tts — 文字转语音自定义工具集实例实例工具调用流程工具使用统计实例实例工具是 Hermes Agent 与外部世界交互的唯一通道——读写文件、执行命令、搜索网页、生成图片所有能力都通过工具暴露。Hermes 内置 70 工具分为 28 个工具集。本章将逐一解析每个工具集的核心工具、参数和最佳实践。工具系统架构在深入具体工具之前先理解工具的组织方式。Hermes 采用三层结构管理工具工具Tool ← 单个可调用函数如 read_file、web_search └── 工具集Toolset ← 相关工具的逻辑分组如 file、web └── 平台配置 ← 哪个平台加载哪些工具集关键设计禁用一个工具集其中的工具从系统提示词中完全消失——不只是不可调用而是 Agent 根本不知道它们的存在。这既节省 Token也防止 Agent 误用不该用的工具。管理工具集的方式# TUI 交互式管理推荐 hermes tools # 命令行管理 hermes tools list # 列出所有工具及启用状态 hermes tools enable browser # 启用指定工具集 hermes tools disable audio # 禁用指定工具集在 config.yaml 中配置# 文件路径~/.hermes/config.yaml # 按平台指定启用的工具集 platform_toolsets: cli: - hermes-cli # CLI 核心工具集 - file - terminal - web - memory - skills桌面版在左侧的技能与工具菜单仪表盘上也可以管理工具在左侧技能菜单里文件与系统工具集这类工具集让 Agent 能够操作本地文件系统、执行命令和管理进程。file — 文件操作最基础的工具集Agent 几乎所有任务都依赖它来读写文件。工具功能关键参数read_file读取文件内容file_path必填、offset起始行、limit行数上限write_file创建或覆盖文件file_path必填、content必填edit_file精确替换文件中的文本file_path、old_string、new_string、replace_alllist_dir列出目录内容path必填、recursive是否递归search_files按文件名模式搜索pattern必填支持 glob、path搜索根目录search_content在文件内容中搜索文本pattern必填支持正则、path、file_typesedit_file 的工作原理它使用精确子串匹配定位修改位置。Agent 提供 old_string文件中实际存在的文本工具找到它并替换为 new_string。如果 old_string 匹配到多处设置 replace_all: true 替换所有出现。edit_file 是 Agent 最常用的文件修改方式——它比 write_file 更安全因为如果 old_string 找不到操作会失败报错不会意外覆盖文件。terminal — Shell 命令执行让 Agent 在指定的后端环境中执行 Shell 命令。工具功能关键参数run_command执行单条 Shell 命令command必填、workdir工作目录、timeout超时毫秒run_script执行多行 Shell 脚本script必填多行脚本内容、workdir、timeout命令在配置的终端后端中执行——local本机、docker容器、ssh远程等。执行结果包含 stdout、stderr 和退出码Agent 可以根据这些信息判断命令是否成功。code — 沙箱代码执行在隔离沙箱中执行代码片段支持 Python、JavaScript 和 Bash。工具功能关键参数execute_code在沙箱中运行代码languagepython/js/bash、code必填、timeout与 terminal 的区别code 工具在独立沙箱中运行不能访问文件系统除非显式挂载适合运行算法验证、数据处理等不需要文件交互的代码。computer — 桌面 GUI 自动化控制桌面环境的鼠标、键盘和截图。工具功能screenshot截取屏幕或指定区域click在指定坐标点击鼠标type模拟键盘输入文本scroll滚动鼠标滚轮move移动鼠标到指定坐标computer 工具集主要用于 GUI 应用测试和自动化操作。如果你的使用场景不涉及桌面应用可以禁用以节省 Token。网络与内容工具集这类工具集让 Agent 能够搜索互联网、提取网页内容和自动化浏览器操作。web — 网页搜索与内容提取Agent 获取外部信息的主要渠道。工具功能关键参数web_search搜索互联网内容query必填、num_results结果数量web_extract提取指定 URL 的正文内容url必填、extract_modeauto/text/markdownweb_search 返回搜索结果列表标题 URL 摘要Agent 通常先搜索再对感兴趣的页面调用 web_extract 获取详细内容。需要配置搜索 API 才能使用。支持多种提供商实例# 文件路径~/.hermes/config.yaml# 配置网页搜索后端web:search_provider: firecrawl # 或 brave、serpapi、tavily# 在 .env 中设置对应的 API Key# FIRECRAWL_API_KEYfc-...# 或 BRAVE_API_KEYBS...browser — 浏览器自动化完整的浏览器控制能力——导航、点击、填表、截图像人一样操作网页。工具功能关键参数navigate导航到指定 URLurl必填click点击页面元素selectorCSS 选择器或文本描述fill_form填写表单字段fields字段名到值的映射screenshot截取当前页面full_page是否全页截图extract提取页面结构化数据selector、formatjson/textexecute_js在页面中执行 JavaScriptcode必填browser 工具集需要 Playwright 或云端浏览器后端支持。browser 工具集启动浏览器实例会消耗额外资源。如果只需要提取网页文本内容优先使用 web_extract 而非 browser extract——前者是轻量 HTTP 请求后者需要启动完整浏览器。vision — 图片分析让 Agent 「看懂」图片内容。工具功能关键参数analyze_image分析图片内容并生成描述image_path 或 image_url必填、question可选针对图片的特定问题describe_image生成图片的详细文字描述image_path 或 image_url必填vision 工具将图片发送给支持视觉的 LLM如 claude-sonnet-4-6、gpt-4o由模型识别和描述图片内容。audio — 音频处理语音转文字和文字转语音。工具功能关键参数transcribe将音频文件转为文字audio_path必填、language可选tts将文字转为语音文件text必填、voice音色选择、providerAgent 能力工具集这类工具集管理 Agent 自身的状态——记忆、技能、子 Agent 协作。memory — 记忆管理读写持久记忆和搜索跨会话历史。工具功能关键参数memory管理持久记忆增删改actionadd/replace/remove、targetmemory/user、contentsession_search全文搜索历史会话query必填支持 FTS5 语法memory 工具没有 read 操作——持久记忆在会话启动时已注入系统提示词Agent 无需额外读取。skills — 技能管理加载和管理可复用的工作流技能。工具功能关键参数skills_list列出所有已安装技能及其描述无会话启动时自动调用skill_view加载技能的完整内容name必填、path可选加载 references 子文件skill_manage创建、修改或删除技能文件action、name、contentdelegation — 子 Agent 委托派生子 Agent 并行执行任务。工具功能关键参数spawn_agent创建单个子 Agent 执行任务prompt必填、model可选spawn_parallel并行创建多个子 Agenttasks必填任务列表子 Agent 拥有独立的上下文窗口不会污染主 Agent 的对话历史。执行完毕后返回结果摘要。kanban — 多 Agent 看板结构化的多 Agent 协作系统需显式启用all/* 也不自动开启。工具功能task_create在看板中创建新任务task_update更新任务状态todo/in_progress/donetask_list列出租户的所有任务task_assign将任务分配给指定的工作者 AgentKanban 是多 Profile 协作的核心机制——一个编排者 Profile 创建任务多个工作者 Profile 认领执行。这需要多个 Profile 的网关同时运行。媒体创作工具集这类工具集通常需要 Nous Portal 订阅或对应的第三方 API Key。image_gen — AI 图片生成根据文字描述生成图片支持 9 种模型。工具功能关键参数generate_image根据 Prompt 生成图片prompt必填、modelflux/gpt-image/ideogram 等、size、styletts — 文字转语音独立于 audio 工具集的 TTS 功能提供更丰富的提供商选择。工具功能text_to_speech将文字转换为语音文件list_voices列出可用的语音音色自定义工具集你可以将现有工具集组合为项目专属的自定义工具集实例# 文件路径~/.hermes/config.yaml# 定义项目专属工具集组合custom_toolsets:# 数据科学项目需要的工具>实例# 启动时使用自定义工具集hermes --toolsets>工具调用流程了解一次工具调用的完整流程有助于理解 Agent 的行为和排查问题。一次完整的工具调用经过以下步骤LLM 在生成回复时决定调用某个工具输出工具名和参数tool_request Middleware 执行可以修改参数审批检查——如果工具是危险操作根据 approvals.mode 决定是否弹出确认工具实际执行tool_execution Middleware 执行可以修改结果post_tool_call Hook 记录遥测数据执行结果返回给 LLMLLM 继续生成回复如果你的 Middleware 修改了工具参数修改后的参数是审批和实际执行的输入。如果你在 Middleware 中短路了执行返回自定义结果实际工具不会运行。工具使用统计了解哪些工具被频繁使用有助于优化工具集配置和 Token 消耗。在会话中查看本次会话的工具调用统计实例# 查看本次会话的工具使用统计/usage# 输出示例# Token 用量: 输入 12,340 | 输出 5,678 | 总计 18,018# 工具调用: read_file (15次) | edit_file (8次) |# terminal (3次) | web_search (2次)批量处理场景中statistics.json 文件记录了更详细的统计实例// 文件路径data/my_first_run/statistics.json{total_tool_calls: 1523,tools: {read_file: {count: 520, success: 510, failure: 10},edit_file: {count: 380, success: 375, failure: 5},terminal: {count: 290, success: 270, failure: 20},web_search: {count: 180, success: 178, failure: 2}},avg_tool_calls_per_turn: 2.4,most_common_tool_sequence: [read_file, edit_file, terminal]}❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧