ACP Internals
How the ACP adapter works: lifecycle, sessions, event bridge, approvals, and tool rendering
How the ACP adapter works: lifecycle, sessions, event bridge, approvals, and tool rendering
How to add a new inference provider to Hermes Agent — auth, runtime resolution, CLI flows, adapters, tests, and docs
How to add a new tool to Hermes Agent — schemas, handlers, registration, and toolsets
This guide covers adding a new messaging platform to the Hermes gateway. A platform adapter connects Hermes to an external messaging service (Telegram…
Detailed walkthrough of AIAgent execution, API modes, tools, callbacks, and fallback behavior
Hermes Agent internals — major subsystems, execution paths, data flow, and where to read next
Interactive surfaces coalesce consecutive background-process completions that are
Map from every billing/subscription state and typed refusal to the exact TUI copy and recovery action
How Hermes detects and responds to native JS dialogs and interacts with cross-origin iframes via a persistent CDP connection.
How to build a cloud browser backend plugin for Hermes Agent
Step-by-step guide to building a complete Hermes plugin with tools, hooks, data files, and skills
Agent ↔ NAS wire contract for the Chronos cron provider
How hermes_cli is shaped: slash dispatch, config loaders, the skin engine, the transactional update pipeline, and process-identity rules
Which directories belong to which subsystem, and where the right docs entry point lives for each
Hermes Agent uses a dual compression system and Anthropic prompt caching to
How to build a context engine plugin that replaces the built-in ContextCompressor
How to contribute to Hermes Agent — dev setup, code style, PR process
How to create skills for Hermes Agent — SKILL.md format, guidelines, and publishing
How Hermes stores, schedules, edits, pauses, skill-loads, and delivers cron jobs
Extend the native Hermes Desktop app — panes, pages, sidebar nav, status bar, palette commands, keybinds, themes, and a scoped backend namespace, with one import and no build step.
How the iron-proxy egress firewall integrates with Hermes — module layout, lifecycle, security invariants, and extension points
Build wrapper CLIs that extend the Hermes TUI with custom widgets, keybindings, and layout changes
How the messaging gateway boots, authorizes users, routes sessions, and delivers messages
Health export, structured diagnostics, fleet queries and how to extend the monitoring plane
SessionSource, SessionEntry, SessionStore, session-key rules and multi-user isolation in the gateway
How to build an image-generation backend plugin for Hermes Agent
How to build a memory provider plugin for Hermes Agent
How micro-compaction amortizes context compression cost: triggers, tail sizing, the cached-prefix trade-off
Behavior-changing plugin middleware for LLM and tool calls: contract, execution order, examples
How to build a model provider (inference backend) plugin for Hermes Agent
Design of the one-gateway-for-all-profiles mode: scope composition, secret scope, inbound routing, persistence
Read-only telemetry contract for plugins: event families, correlation IDs, payload safety
Guided onboarding suggests outcomes from the user's app preferences and observed capabilities. It does not grant access or implement a second connection…
Run any LLM call from inside a plugin via ctx.llm — chat or structured, sync or async. Host-owned auth, fail-closed trust gate, optional JSON Schema validation.
Three protocols for driving hermes-agent from external programs: ACP, the TUI gateway JSON-RPC, and the OpenAI-compatible HTTP API
How Hermes builds the system prompt, preserves cache stability, and injects ephemeral layers
How Hermes resolves providers, credentials, API modes, and auxiliary models at runtime
Plugins can launch and supervise fresh Hermes child sessions without importing
Wire contract between the Hermes gateway relay adapter and external connectors (experimental)
NeMo Relay shared metrics: what is exported, consent and retention, staging validation
How to build a secret-manager backend plugin for Hermes Agent
Hermes Agent uses a SQLite database (~/.hermes/state.db) to persist session
How Hermes recovers state.db when the FTS index or the file itself is corrupt
Sentence chunker, streaming provider ABC, capability matrix and how to add a streaming TTS provider
Hermes runs shell commands through a pluggable set of terminal backends.
Runtime behavior of the tool registry, toolsets, dispatch, and terminal environments
Hermes Agent saves conversation trajectories in ShareGPT-compatible JSONL format
Run the Ink TUI and Electron desktop app from a git worktree without a full npm install per checkout
How to build a video-generation backend plugin for Hermes Agent
How to build a web-search/extract/crawl backend plugin for Hermes Agent