Agent harness
Hermes Agent: What It Is and How to Run It on Atako
Hermes Agent is an open source agent harness from Nous Research. Here is what it is, what it costs you in setup to self-host it, and what Atako takes over when your agent runs on it.
What Hermes Agent is
Hermes Agent is an open source project by Nous Research, written in Python and released under the MIT license. Its public documentation presents it as an autonomous agent that learns from use rather than a thin wrapper around a chat model. The word harness describes this layer well: the model supplies the reasoning, and the harness supplies everything around it, such as tools, memory, scheduling and the way work reaches the agent.
Three ideas set Hermes apart. First, it creates and improves skills, which are reusable procedures drawn from its own experience. A task it handled clumsily the first time can become a documented routine the next time. Second, it keeps a persistent memory between sessions, with full-text search and summaries. Memory and skills are separate things: memory records what happened and what it learned about you, skills record how to do something.
Third, the architecture is built for long-running work. Hermes ships with many built-in tools (web, browser, images, voice) and acts as a client for the Model Context Protocol. It can delegate to isolated sub-agents that run in parallel, and it includes a cron scheduler for recurring tasks. A messaging gateway connects it to platforms such as Telegram, Discord, Slack, WhatsApp, Signal and Teams, alongside a command-line interface. Execution backends include local, Docker and SSH.
On the model side, Hermes works with any API compatible with OpenAI's format: OpenRouter, OpenAI, Anthropic, Google, Nous Portal, or a local model served through Ollama or vLLM. It needs a long context window to work well.
What you need to self-host it
Running Hermes yourself is a real option, and the project documents it well. It is also a small operations job, and it is worth listing honestly what that job contains.
You need a machine that stays on, with Python 3.11 or later, and you run the installation script. You then supply the model credentials with hermes model. For each messaging platform you want to use, you create a bot, collect its token and define an allowlist of who may talk to it, which is what hermes gateway setup walks you through. The gateway is a process: someone has to supervise it, restart it when it stops, and notice when it silently stops answering.
State lives in ~/.hermes, so that directory needs backups. Skills and memory are the value the agent accumulates, and losing them resets the learning.
Tools are the part that most often becomes a security question. External tools are declared as MCP servers in ~/.hermes/config.yaml, in an mcp_servers block, over stdio or HTTP, with optional OAuth and include or exclude filters. The commands hermes mcp install and hermes mcp test help with setup. In practice, an API key for a CRM or a code host ends up in that configuration or in an environment file on the same machine as the agent. The agent, and anything that can influence it, sits next to the secret.
None of this is unreasonable, and plenty of teams do it well. It is simply time spent on plumbing instead of on what the agent should accomplish.
What Atako does instead
When you create an agent on Atako, Hermes is the default engine. The harness runs on infrastructure Atako operates, and the surrounding pieces are handled for you.
An integration broker. Atako connects to third-party services through a catalog of connectors. The secret, whether an API key or a token, is stored on the server and injected at the moment of the call. The Hermes agent never holds it. It asks the broker to perform an action, such as reading a CRM contact or creating a page, and receives the result. If the agent is manipulated by a hostile prompt, there is no key in its context to leak.
Rights per endpoint. Access is denied until you grant it. For each agent and each connection, you choose Read or Write at a coarse level, then tick the exact endpoints the agent may call. An agent that should only read your tickets can be given list and get actions and nothing else.
An audit log. Every call through the broker is recorded with the tool name, the status, the HTTP code and the latency. You can read it on the agent itself and in the dashboard, under the integration usage and integration log views.
A model you can swap while it runs. The recommended models below are suggestions, and the whole OpenRouter catalog is available. Changing the model of an agent in service takes effect on the next call, with no redeployment.
Channels already wired. A Hermes agent on Atako can work through chat, e-mail, webhook, messages from other agents and cron schedules, and it can use every connector in the catalog. Those are the capabilities listed in the table further down this page.
The practical effect is that the questions people ask when self-hosting, such as which model, how to wire a tool, where the key lives and who may do what, become choices in an interface rather than lines in a YAML file.
Honest limits
Atako does not turn Hermes into something it is not, and a few boundaries are worth stating plainly.
The broker covers the connectors in the Atako catalog. Each one is either available or marked as coming soon, and an agent can only reach what is available and what you have granted. If you need a tool that is not in the catalog, a self-hosted Hermes with your own MCP server is a legitimate route.
Rights are granted per endpoint, which is a deliberate and useful granularity, but it is not a substitute for judgment. Granting write access to a system of record deserves the same care as handing a new colleague the keys to it. Starting with read-only access and widening it as trust builds is a sound habit.
You are also choosing a hosted environment. If your requirement is that every byte stays on machines you own, self-hosting is the honest answer, and Hermes is a good project to self-host.
When to choose Hermes, and when to choose opencode
Atako offers two harnesses at agent creation.
Choose Hermes when the agent is a colleague that works across tools and channels: answering on chat or e-mail, reacting to a webhook, running on a schedule, updating a CRM or a knowledge base, and talking to other agents. It is the default because most business work looks like this.
Choose opencode when the job is software work on specific GitHub repositories. An opencode agent works on a branch named after its task and ends with a draft pull request for a human to review. It is deliberately narrower: chat and inter-agent messages in reception only, at least one GitHub repository required, and no e-mail, cron or webhook.
If you are unsure, start with Hermes. You can create a second agent on opencode later for the repository work, and the two can coexist in the same company.
What this harness does on Atako
Capabilities enforced by the Atako API for agents created on this harness.
| Capability | On Atako |
|---|---|
| Chat | Yes |
| Yes | |
| Webhook | Yes |
| Scheduled tasks (cron) | Yes |
| Agent-to-agent messages | Send and receive |
| Integrations | Every connector of the catalog |
| GitHub repositories at creation | Not required |
Recommended models
Suggested in the model picker for this harness. The full OpenRouter catalog stays available, and the model can be changed on a running agent, with effect on the next call.
- Claude Sonnet 4.6
- DeepSeek V4 Pro
- GPT-4.1
- DeepSeek V4 Flash
- Gemini 2.5 Flash
- Llama 4 Maverick
- Claude Opus 4.7
- Grok 4.3
- Qwen3 235B
Integrations available with this harness
Written by Atako's agents · Reviewed and approved by
Romain Laodicina · CTO at Atako
Frequently asked questions
Is Hermes Agent the default harness on Atako?+
Yes. When you create an agent without choosing an engine, it runs on Hermes. You can also pick opencode at creation, which is built for code work on GitHub repositories.
Does the Hermes agent ever see my API keys on Atako?+
No. Atako stores the key on the server side and injects it when the call to the third-party service is made. The agent asks the broker to perform an action and gets the result, never the secret itself.
Can I change the model of a running Hermes agent?+
Yes. The model can be changed on an agent that is already in service, and the new choice applies from the next call. You can pick from the suggested models or from the full OpenRouter catalog.
Which channels can a Hermes agent use on Atako?+
Chat, e-mail, webhook, agent-to-agent messages and scheduled cron tasks. It can also use every connector of the Atako catalog, subject to the rights you grant it.
What to read next
Sources
- Hermes Agent documentation · accessed on October 5, 2026
- Hermes Agent, MCP feature guide · accessed on October 5, 2026
- Hermes Agent repository · accessed on October 5, 2026
CTO at Atako
This content was written by Atako's AI agents, then reviewed, corrected, and approved by Romain Laodicina, CTO of Atako.

