YouTip LogoYouTip

Hermes Agent Tools

Hermes Agent Tools Tools are functions that extend agent capabilities. They are organized into logical **toolsets** that can be enabled or disabled on each platform. Hermes Agent comes with an extensive built-in tool registry covering web search, browser automation, terminal execution, file editing, memory, delegation, RL training, message delivery, Home Assistant, and more. * * * ## Available Tools ### Tool Categories | Category | Examples | Description | | --- | --- | --- | | **Web** | `web_search`, `web_extract` | Search the web and extract page content | | **Terminal and File** | `terminal`, `process`, `read_file`, `patch` | Execute commands and manipulate files | | **Browser** | `browser_navigate`, `browser_snapshot`, `browser_vision` | Interactive browser automation with text and vision support | | **Media** | `vision_analyze`, `image_generate`, `text_to_speech` | Multimodal analysis and generation | | **Agent Orchestration** | `todo`, `clarify`, `execute_code`, `delegate_task` | Planning, clarification, code execution, and sub-agent delegation | | **Memory and Recall** | `memory`, `session_search` | Persistent memory and session search | | **Automation and Delivery** | `cronjob`, `send_message` | Scheduled tasks (create/list/update/pause/resume/run/delete), and outbound message delivery | | **Integration** | `ha_*`, MCP server tools, `rl_*` | Home Assistant, MCP, RL training, and other integrations | * * * ## Using Toolsets ```bash # Use specific toolsets hermes chat --toolsets "web,terminal" # View all available tools hermes tools # Configure tools for each platform (interactive) hermes tools Common toolsets include: * `web` β€” Web search and extraction * `terminal` β€” Terminal command execution * `file` β€” File operations * `browser` β€” Browser automation * `vision` β€” Image analysis * `image_gen` β€” Image generation * `skills` β€” Skill system * `tts` β€” Text-to-speech * `todo` β€” Task management * `memory` β€” Memory system * `session_search` β€” Session search * `cronjob` β€” Scheduled tasks * `code_execution` β€” Code execution * `delegation` β€” Task delegation * `clarify` β€” Clarification questions * `homeassistant` β€” Home Assistant integration * `rl` β€” Reinforcement learning training **Platform Presets:** Toolsets also include platform presets like `hermes-cli`, `hermes-telegram`, and dynamic MCP toolsets like `mcp-`. * * * ## Terminal Backend Terminal tools can execute commands in different environments: | Backend | Description | Use Cases | | --- | --- | --- | | `local` | Run on local machine (default) | Development, trusted tasks | | `docker` | Isolated containers | Security, reproducibility | | `ssh` | Remote server | Sandboxing, keeping agent away from own code | | `singularity` | HPC containers | Cluster computing, no root | | `modal` | Cloud execution | Serverless, elastic scaling | | `daytona` | Cloud sandbox workspace | Persistent remote development environment | ### Configuration ```yaml # ~/.hermes/config.yaml terminal: backend: local # or: docker, ssh, singularity, modal, daytona cwd: "." # Working directory timeout: 180 # Command timeout in seconds ### Docker Backend ```yaml terminal: backend: docker docker_image: python:3.11-slim ### SSH Backend Recommended for security scenarios β€” the agent cannot modify its own code: ```yaml terminal: backend: ssh # Set credentials in ~/.hermes/.env TERMINAL_SSH_HOST=my-server.example.com TERMINAL_SSH_USER=myuser TERMINAL_SSH_KEY=~/.ssh/id_rsa ### Modal (Serverless Cloud) ```bash uv pip install modal modal setup hermes config set terminal.backend modal ### Container Resources ```yaml terminal: backend: docker container_cpu: 1 # Number of CPU cores container_memory: 5120 # Memory in MB (default 5GB) container_disk: 51200 # Disk in MB (default 50GB) container_persistent: true # Persist across sessions ### Container Security All container backends run with security hardening: * Read-only root filesystem (Docker) * Drop all Linux capabilities * No privilege escalation * PID limit (256 processes) * Full namespace isolation * Persistent workspace via volumes instead of writable root layer * * * ## Background Process Management Start background processes and manage them: ```python terminal(command="pytest -v tests/", background=true) # Returns: {"session_id": "proc_abc123", "pid": 12345} # Then use the process tool to manage: process(action="list") # Display all running processes process(action="poll", session_id="proc_abc123") # Check status process(action="wait", session_id="proc_abc123") # Block until completion process(action="log", session_id="proc_abc123") # Full output process(action="kill", session_id="proc_abc123") # Terminate process(action="write", session_id="proc_abc123", data="y") # Send input PTY mode (`pty=true`) enables interactive CLI tools like Codex and Claude Code. * * * ## Sudo Support If a command requires sudo, the system will prompt you for a password (cached for the session). Or set `SUDO_PASSWORD` in `~/.hermes/.env`. **Warning:** On messaging platforms, if sudo fails, the output will include a prompt to add to `~/.hermes/.env`. > **Tip:** Use the `hermes tools` command to interactively configure enabled tools for each platform.
← Hermes Agent McpHermes Agent Cli β†’