Skip to content

内置工具

Hermes Agent 内置了大量开箱即用的工具集,每个工具集中包含一到多个工具,如下是几个最核心的内置工具集。

  • File工具集

    File 工具集是 Agent 进行代码开发和系统管理的基础,其设计原则是安全优先,避免使用危险的 shell 命令。包含的主要工具如下:

    • read_file:读取文件,支持行号显示和分页读取。
    • write_file:写文件,自动创建父目录,但会完全覆盖原文件。
    • patch:修改文件,有多种模糊匹配策略,能容忍微小的缩进和空格差异,实现精准的代码修改,是进行代码重构和配置更新的首选工具。
    • search_files:查找文件,支持正则表达式搜索。
  • Terminal工具集

    Terminal 工具集提供了完整的进程管理能力,支持前台和后台任务。包含的主要工具如下:

    • terminal:执行 shell 命令。支持 background=true运行长时任务。
    • process:后台进程管理器。可以 list(查看)、poll(检查状态)、log(获取输出)、kill(终止)后台任务
  • Browser工具集

    Browser 工具集提供了完整的浏览器控制能力,特别适合处理需要 JavaScript 渲染的动态网页。包含主要工具如下:

    • browser_navigate:导航到 URL,是所有浏览器操作的起点。
    • browser_snapshot:获取页面的无障碍树(Accessibility Tree)。这是理解网页结构的关键——它会将页面转换为带引用 ID(如 @e1)的文本结构。
    • browser_click/ browser_type:基于快照中的引用 ID 进行操作,而非脆弱的 XPath 或 CSS Selector。
    • browser_vision:对页面进行截图并用视觉 AI 分析,专用于处理验证码或复杂布局验证。

我们可以在 CLI 对话中询问Hermes支持的内置工具:

image-20260609210830613

或者在终端执行“hermes tools list”来查看Hermes支持的内置工具集:

image-20260609210922831

关于Hermes Agent支持的更多工具集可以查看官网:https://hermes-agent.nousresearch.com/docs/zh-Hans/reference/tools-reference

MCP 扩展工具配置

Hermes Agent中,当内置工具无法满足你的定制化需求时(例如需要操作公司内部数据库、调用私有 API 或连接智能硬件),Hermes 提供了 MCP (Model Context Protocol)扩展机制。MCP 是一个开放协议,允许 Hermes 连接到外部的“MCP Server”从而获取海量第三方工具。

Hermes 支持两种类型的 MCP 服务器:Stdio(本地进程)和 HTTP(远程服务)。所有的配置均位于 ~/.hermes/config.yaml文件的 mcp_servers块中,配置的形式如下:

shell
mcp_servers:
  <server_name>:
    command: "..."      # stdio 服务器
    args: []
    env: {}

    # 或者
    url: "..."          # HTTP 服务器
    headers: {}

    enabled: true
    timeout: 120
    connect_timeout: 60

以上两种类型的配置参数参考如下:

配置项类型含义
commandstringstdio MCP服务器的可执行文件
argslist传递给stdio服务器的参数
envmapping传递给stdio 服务器的环境变量
urlstringHTTP MCP 端点
headersmapping远程服务器的HTTP头信息
enabledbool为false跳过整个服务器
timeoutnumber工具调用超时时间(秒)
conect_timeoutnumber初始连接超时时间(秒)

使用两种类型的MCP前需要安装MCP支持:

shell
#系统中安装pip 命令
sudo apt install python3-pip

#系统中安装uv
pip3 install uv

#用uv创建虚拟环境并激活环境
cd ~/.hermes/hermes-agent
uv venv
source .venv/bin/activate

#安装mcp支持
cd ~/.hermes/hermes-agent
uv pip install -e ".[mcp]"

注意:uv是一个使用Rust编写的python包管理器,速度快(比pip/conda 快5-10倍),完全兼容 pip的命令。

Stdio服务器(本地)

Stdio 服务器作为本地子进程运行,Stdio进程间通过标准输入(stdin)和标准输出(stdout)流进行通信的方式。如下是Hermes Agent 配置 Stdio MCP工具步骤。

  1. 配置“~/.hermes/config.yaml”文件

    在Ubuntu系统中找到“~/.hermes/config.yaml”文件,在该文件中添加“mcp_servers”字段,如下:

    shell
    mcp_servers:
      filesystem:
        command: "npx"
        args: ["-y", "@modelcontextprotocol/server-filesystem", "/root/.hermes"]

    注意:@modelcontextprotocol/server-filesystem是由 Anthropic(Claude大模型的开发公司)官方编写并开源,当在命令行中执行 npx -y @modelcontextprotocol/server-filesystem时,npx工具会自动从 npm (Node Package Manager)官方仓库中下载并临时运行这个由 Anthropic 发布的标准化包。更多工具参考:https://github.com/modelcontextprotocol/servers

    image-20260605214928393

  2. 重新启动hermes ,使用 mcp 工具

    中文回复我你具备哪些mcp工具?

    image-20260609222037319

    列出 /root/.hermes 目录下的文件,并总结该目录下的内容结构。

    image-20260609222320303

HTTP服务器(远程)

这里以魔塔社区中MCP为例演示Hermes Agent中配置远程MCP 工具服务。登录 https://www.modelscope.cn/mcp/servers/@Joooook/12306-mcp ,启动该服务:

image-20260605215339966

然后将远程URL配置在Hermes Agent中,步骤如下:

  1. 配置“~/.hermes/config.yaml”文件

    在Ubuntu系统中找到“~/.hermes/config.yaml”文件,在该文件中的“mcp_servers”字段下添加如下内容:

    json
    mcp_servers:
      12306-mcp:
        type: streamable_http
        url: https://mcp.api-inference.modelscope.net/58bf9bfab9314a/mcp
      filesystem:
        command: "npx"
        args: ["-y", "@modelcontextprotocol/server-filesystem", "/root/.hermes"]
  2. 重新启动hermes ,使用 mcp 工具

    中文告诉我你具备哪些mcp工具?

    image-20260609224048746

    查询今日北京到上海的高铁还有座位的高铁车次

    image-20260609224455103