|
Download website/docs/developer-guide/tools-runtime.md from lenson78/hermes: direct link, hf CLI and curl.
- Browser
- Download file 1.69 kB
-
https://huggingface.co/spaces/lenson78/hermes/resolve/main/website/docs/developer-guide/tools-runtime.md
- Command line
-
hf download hf://spaces/lenson78/hermes/website/docs/developer-guide/tools-runtime.md
-
curl -L -o tools-runtime.md https://huggingface.co/spaces/lenson78/hermes/resolve/main/website/docs/developer-guide/tools-runtime.md
1.69 kB
| sidebar_position: 9 | |
| title: "Tools Runtime" | |
| description: "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. | |
| ## Related docs | |
| - [Toolsets Reference](../reference/toolsets-reference.md) | |
| - [Built-in Tools Reference](../reference/tools-reference.md) | |
| - [Agent Loop Internals](./agent-loop.md) | |
| - [ACP Internals](./acp-internals.md) | |