Files
hermes-agent/website/docs/developer-guide/tools-runtime.md
teknium1 d87a1615ce docs: add ACP and internal systems implementation guides
- add ACP user and developer docs covering setup, lifecycle, callbacks,
  permissions, tool rendering, and runtime behavior
- add developer guides for agent loop, provider runtime resolution,
  prompt assembly, context caching/compression, gateway internals,
  session storage, tools runtime, trajectories, and cron internals
- refresh architecture, quickstart, installation, CLI reference, and
  environments docs to link the new implementation pages and ACP support
2026-03-14 00:29:48 -07:00

1.6 KiB

sidebar_position, title, description
sidebar_position title description
9 Tools Runtime Runtime behavior of the tool registry, toolsets, dispatch, and terminal environments

Tools Runtime

Hermes tools are self-registering functions grouped into toolsets and executed through a central registry/dispatch system.

Primary files:

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

Tool registration model

Each tool module calls registry.register(...) at import time.

model_tools.py is responsible for importing/discovering tool modules and building the schema list used by the model.

Toolset resolution

Toolsets are named bundles of tools. Hermes resolves them through:

  • explicit enabled/disabled toolset lists
  • platform presets (hermes-cli, hermes-telegram, etc.)
  • dynamic MCP toolsets
  • curated special-purpose sets like hermes-acp

Dispatch

At runtime, tools are dispatched through the central registry, with agent-loop exceptions for some agent-level tools such as memory/todo/session-search handling.

Terminal/runtime environments

The terminal system supports multiple backends:

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

It also supports:

  • per-task cwd overrides
  • background process management
  • PTY mode
  • approval callbacks for dangerous commands

Concurrency

Tool calls may execute sequentially or concurrently depending on the tool mix and interaction requirements.