AGENTS.md is the AI-assistant entry doc, so its counts get used as ground truth. Several values had drifted, and the same drift had spread to a few user-facing surfaces. Fixing all of them in one commit so the count claims agree and clearly distinguish gateway-core from plugin-shipped platforms. AGENTS.md: - run_agent.py "~12k LOC" → "~14k LOC as of 2026-05-03" (actual 14,097) - cli.py "~11k LOC" → "~12k LOC as of 2026-05-03" (actual 12,043) - tools/environments/ list now lists all 7 user-selectable terminal backends in canonical order, matching tools/terminal_tool.py:2214-2215 - gateway/platforms/ list adds yuanbao and wecom_callback; the 19 names match the user-facing list at website/docs/integrations/index.md - plugins/ tree now mentions plugins/platforms/ (irc, teams) - tests/ snapshot "~15k tests across ~700 files as of Apr 2026" → "~19k tests across ~890 files as of 2026-05-03" User-facing count claims: - hermes_cli/tips.py:195 — "19 platforms" → "21 messaging platforms" with IRC and Microsoft Teams added to the named list - website/docs/index.md:49 — "6 terminal backends" → "7 terminal backends: ..., Vercel Sandbox" (also corrected by PR #19044; same edit content) - website/docs/index.md:50 — "15+ platforms from one gateway" → "21+ messaging platforms (19 in the gateway, plus IRC and Microsoft Teams via plugins)" - website/docs/integrations/index.md:83-85 — "15+ messaging platforms" → "19+", added yuanbao to the linked list. The surrounding text scopes it to "configured through the same gateway subsystem", so plugin platforms (IRC, Teams) are intentionally not in this list - website/scripts/generate-llms-txt.py:205 — "15+ platforms" → "21+ messaging platforms — 19 native to the gateway plus IRC and Microsoft Teams via plugins" LOC and date stamps follow the existing AGENTS.md "as of <date>" convention (line 56 already used this pattern). Source of truth for the gateway count is gateway/config.py:130-148 (PlatformID enum); plugin platforms live in plugins/platforms/. Out of scope: - RELEASE_v0.9.0.md historical "16 platforms" claim (immutable history) - userStories.json verbatim user quotes - Programmatic count generation from gateway/config.py + plugin manifests is a worthwhile build-system change but separate from these content fixes
7.3 KiB
| title | sidebar_label | sidebar_position |
|---|---|---|
| Integrations | Overview | 0 |
Integrations
Hermes Agent connects to external systems for AI inference, tool servers, IDE workflows, programmatic access, and more. These integrations extend what Hermes can do and where it can run.
AI Providers & Routing
Hermes supports multiple AI inference providers out of the box. Use hermes model to configure interactively, or set them in config.yaml.
- AI Providers — OpenRouter, Anthropic, OpenAI, Google, and any OpenAI-compatible endpoint. Hermes auto-detects capabilities like vision, streaming, and tool use per provider.
- Provider Routing — Fine-grained control over which underlying providers handle your OpenRouter requests. Optimize for cost, speed, or quality with sorting, whitelists, blacklists, and explicit priority ordering.
- Fallback Providers — Automatic failover to backup LLM providers when your primary model encounters errors. Includes primary model fallback and independent auxiliary task fallback for vision, compression, and web extraction.
Tool Servers (MCP)
- MCP Servers — Connect Hermes to external tool servers via Model Context Protocol. Access tools from GitHub, databases, file systems, browser stacks, internal APIs, and more without writing native Hermes tools. Supports both stdio and SSE transports, per-server tool filtering, and capability-aware resource/prompt registration.
Web Search Backends
The web_search and web_extract tools support four backend providers, configured via config.yaml or hermes tools:
| Backend | Env Var | Search | Extract | Crawl |
|---|---|---|---|---|
| Firecrawl (default) | FIRECRAWL_API_KEY |
✔ | ✔ | ✔ |
| Parallel | PARALLEL_API_KEY |
✔ | ✔ | — |
| Tavily | TAVILY_API_KEY |
✔ | ✔ | ✔ |
| Exa | EXA_API_KEY |
✔ | ✔ | — |
Quick setup example:
web:
backend: firecrawl # firecrawl | parallel | tavily | exa
If web.backend is not set, the backend is auto-detected from whichever API key is available. Self-hosted Firecrawl is also supported via FIRECRAWL_API_URL.
Browser Automation
Hermes includes full browser automation with multiple backend options for navigating websites, filling forms, and extracting information:
- Browserbase — Managed cloud browsers with anti-bot tooling, CAPTCHA solving, and residential proxies
- Browser Use — Alternative cloud browser provider
- Local Chrome via CDP — Connect to your running Chrome instance using
/browser connect - Local Chromium — Headless local browser via the
agent-browserCLI
See Browser Automation for setup and usage.
Voice & TTS Providers
Text-to-speech and speech-to-text across all messaging platforms:
| Provider | Quality | Cost | API Key |
||----------|---------|------|---------|
|| Edge TTS (default) | Good | Free | None needed |
|| ElevenLabs | Excellent | Paid | ELEVENLABS_API_KEY |
|| OpenAI TTS | Good | Paid | VOICE_TOOLS_OPENAI_KEY |
|| MiniMax | Good | Paid | MINIMAX_API_KEY |
|| NeuTTS | Good | Free | None needed |
Speech-to-text supports six providers: local faster-whisper (free, runs on-device), a local command wrapper, Groq, OpenAI Whisper API, Mistral, and xAI. Voice message transcription works across Telegram, Discord, WhatsApp, and other messaging platforms. See Voice & TTS and Voice Mode for details.
IDE & Editor Integration
- IDE Integration (ACP) — Use Hermes Agent inside ACP-compatible editors such as VS Code, Zed, and JetBrains. Hermes runs as an ACP server, rendering chat messages, tool activity, file diffs, and terminal commands inside your editor.
Programmatic Access
- API Server — Expose Hermes as an OpenAI-compatible HTTP endpoint. Any frontend that speaks the OpenAI format — Open WebUI, LobeChat, LibreChat, NextChat, ChatBox — can connect and use Hermes as a backend with its full toolset.
Memory & Personalization
- Built-in Memory — Persistent, curated memory via
MEMORY.mdandUSER.mdfiles. The agent maintains bounded stores of personal notes and user profile data that survive across sessions. - Memory Providers — Plug in external memory backends for deeper personalization. Eight providers are supported: Honcho (dialectic reasoning), OpenViking (tiered retrieval), Mem0 (cloud extraction), Hindsight (knowledge graphs), Holographic (local SQLite), RetainDB (hybrid search), ByteRover (CLI-based), and Supermemory.
Messaging Platforms
Hermes runs as a gateway bot on 19+ messaging platforms, all configured through the same gateway subsystem:
- Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost, Email, SMS, DingTalk, Feishu/Lark, WeCom, WeCom Callback, Weixin, BlueBubbles, QQ Bot, Yuanbao, Home Assistant, Microsoft Teams, Webhooks
See the Messaging Gateway overview for the platform comparison table and setup guide.
Home Automation
- Home Assistant — Control smart home devices via four dedicated tools (
ha_list_entities,ha_get_state,ha_list_services,ha_call_service). The Home Assistant toolset activates automatically whenHASS_TOKENis configured.
Plugins
- Plugin System — Extend Hermes with custom tools, lifecycle hooks, and CLI commands without modifying core code. Plugins are discovered from
~/.hermes/plugins/, project-local.hermes/plugins/, and pip-installed entry points. - Build a Plugin — Step-by-step guide for creating Hermes plugins with tools, hooks, and CLI commands.
Training & Evaluation
- RL Training — Generate trajectory data from agent sessions for reinforcement learning and model fine-tuning. Supports Atropos environments with customizable reward functions.
- Batch Processing — Run the agent across hundreds of prompts in parallel, generating structured ShareGPT-format trajectory data for training data generation or evaluation.