跳到主要内容

工具运行时

Hermes 工具是自注册的函数,它们被分组到工具集中,并通过一个中央注册/分发系统来执行。

主要文件:

  • tools/registry.py
  • model_tools.py
  • toolsets.py
  • tools/terminal_tool.py
  • tools/environments/*

工具注册模型

每个工具模块在导入时都会调用 registry.register(...)

model_tools.py 负责导入/发现工具模块,并构建模型使用的模式列表。

工具集解析

工具集是命名的工具包。Hermes 通过以下方式解析它们:

  • 显式启用/禁用的工具集列表
  • 平台预设(hermes-clihermes-telegram 等)
  • 动态 MCP 工具集
  • 精心策划的特殊用途集合,如 hermes-acp

分发

在运行时,工具通过中央注册表进行分发,但对于一些代理级别的工具(如内存/待办事项/会话搜索处理),存在代理循环的例外情况。

终端/运行时环境

终端系统支持多种后端:

  • local
  • docker
  • ssh
  • singularity
  • modal
  • daytona

它还支持:

  • 按任务覆盖当前工作目录
  • 后台进程管理
  • PTY 模式
  • 危险命令的审批回调

并发性

工具调用可以顺序执行或并发执行,具体取决于工具组合和交互需求。

相关文档