Introduction
Hermes Agent is an autonomous AI agent built by Nous Research that runs on your own machine, follows your instructions across long sessions, and operates wherever you need it, terminal, chat platform, IDE, or HTTP API. Unlike a chat window pinned to one website or a coding copilot tied to a single IDE, Hermes is designed to be a portable companion that gets more capable the longer it runs.
Key Concepts
- Local-first: Hermes installs on your machine and stores its state in your home directory, not on a vendor's server.
- Multi-surface: A single Hermes install can drive a terminal session, answer messages on Telegram, expose an OpenAI-compatible HTTP endpoint, or attach to your IDE via the Agent Client Protocol (ACP).
- Provider-agnostic: Hermes connects to many model providers, Nous Portal, OpenAI, Anthropic, OpenRouter, Ollama, and self-hosted endpoints, through a unified configuration layer.
- Self-improving: Hermes builds skills from experience, persists context across sessions, and refines what it knows about you over time.
Real World Context
Imagine a developer who wants the same AI agent to help them refactor code in their terminal at 9am, answer a teammate's question in Slack at 11am, generate a report on a remote SSH server at 2pm, and pick up the morning conversation from their phone via Telegram at 8pm. With most AI products, that is four separate tools and four separate context bubbles. With Hermes, it is one agent that follows the user across surfaces, with a shared memory and a shared set of capabilities.
Deep Dive
Hermes was created by Nous Research, a machine learning lab known for the Hermes model family and frontier open-weight research. The agent is the culmination of their thesis that autonomy belongs to the user: the model, the credentials, the memory, the skills, and the runtime should all sit on the user's hardware or in infrastructure they control.
Concretely, Hermes ships as a CLI binary that wraps a model-calling loop, a 70+ tool library for filesystem, terminal, web, and media tasks, a two-tier memory system, a SQLite session store, a skills system for sharing reusable agent recipes, and gateways for 20+ messaging platforms.
texthermes Interactive TUI session in your terminal hermes -z "summarize..." One-shot scripted call (stdout only) hermes gateway start Bot that listens on Telegram/Slack/Discord hermes acp Agent server for IDE integration (Agent Client Protocol)
When you run hermes in a terminal, you get an interactive session. When you run hermes -z "what's in this folder?" you get a single one-shot answer. When you run hermes gateway start after configuring a platform, the same agent becomes a chat bot. The runtime is the same; only the surface changes.
Common Pitfalls
- Treating Hermes as just another chatbot, Hermes is designed to keep running across sessions, learn from experience, and operate unattended. If you only ever use it for one-shot Q&A, you are using a small fraction of the product.
- Confusing the agent with a single model, Hermes is the runtime, not the model. You can swap the model at any time without losing your sessions, skills, or memory.
Best Practices
- Start with the terminal, then expand, Get one clean session working in
hermes --tuibefore layering on gateways, voice, or scheduled tasks. - Treat your
~/.hermes/directory as your agent's home, Back it up, version-control parts of it, and reason about it as you would any other persistent state on your machine.
Summary
- Hermes Agent is a local-first, multi-surface autonomous agent built by Nous Research.
- It is provider-agnostic, you bring the model, Hermes brings the runtime.
- A single install can drive terminal, chat, IDE, and HTTP-API surfaces.
- Hermes is designed to grow with you across sessions, not reset every conversation.
Code Examples
# Same Hermes binary, four very different surfaces
hermes # Interactive TUI for deep work
hermes -z "summarize git diff HEAD~1" # One-shot answer to stdout (scripts, hooks, cron)
hermes gateway start # Same agent, exposed as a chat bot
hermes acp # Same agent, exposed to your IDE via the Agent Client Protocol