I · Doctrine

Four promises.
One agent.

Hermes has strong opinions. Here's what every agent comes with — memory, your own server, skills, and every app — and the things we won't change.

00 · How to read this

How to read this.

Each promise works on its own, but they need each other. Memory without your own server can leak. Skills with no apps can't be reached. Apps with no memory mean every chat starts from zero.

  • Skim the four promises to see what you get.
  • Read the practice notes to see how each one works day to day.
  • Check the “won't do” list for what we refuse.
  • Use the glossary if a word feels unclear.
i.01 · MEMORY

Your agent remembers.

Chats aren't throwaway. Each one feeds the next — facts kept, preferences learned, threads picked up later. The agent you talk to next month knows more than the one you set up today.

In practice
Always on
Memory survives restarts, redeploys, and switching apps. Start a thread in Slack, finish it in WhatsApp — no need to re-explain yourself.
You can see it
Open the dashboard and read everything your agent has saved about you. Nothing is hidden away; you can check what it thinks it knows.
You can delete it
If you don't want something remembered, delete it. Forgetting is built in — not a workaround.
Spec
store=agent-local SQLite on attached volume
scope=one agent, one VPS, one customer
lifecycle=lives with the agent; deleted when the agent is
ii.02 · OWNERSHIP

Your server. Your data.

Every agent runs alone, on its own server, behind a tunnel only you control. No shared memory, no shared customers, no data mixing. Pick the model — Claude, GPT, Gemini, or one you host yourself — and the whole setup is yours to inspect, back up, or shut down.

In practice
One agent per server
We set it up; you own it. There is no shared layer where your data sits next to anyone else's.
Use any model
The agent works with any provider. Switch from Claude to GPT to a model you host yourself without redeploying or losing memory.
Open source
The agent code is open. If you'd rather run it on your own hardware, you can — and you get the same promises either way.
Spec
host=Hetzner Cloud · region of choice
exposure=Cloudflare Tunnel · no public IP
isolation=1 VPS = 1 agent · no shared customers
iii.03 · SKILLS

Skills it learns and saves.

When you ask for the same thing more than once, your agent turns it into a skill it can reuse. Each skill is saved, tracked, and easy to share. Your agent gets better at your work the more you use it.

In practice
Auto-made
When the agent spots a task you keep asking for, it suggests a new skill. You approve or decline — nothing installs without your okay.
Saved as files
Skills live in a git repo. Every change is tracked, easy to roll back, and easy to review.
Easy to move
Export a skill bundle and load it into another agent. The skills you build aren't trapped inside one agent.
Spec
format=skill.md + scripts/ in agent's git repo
trigger=model picks the skill from its description
review=you approve the first run before it executes
iv.04 · CHANNELS

One agent. Every app.

Discord, Slack, WhatsApp, Telegram, Signal, email — same agent, same memory, same skills, all of them. The app is just the way in. The brain stays in one place.

In practice
One identity
You're the same person to your agent everywhere. Memory and skills don't split across apps; it knows you wherever you reach it.
Add new apps easily
Adding a new app is just plugging in an adapter. It doesn't split your agent — it just gives it another way to talk.
Drop-in widget
Add one script tag and your agent shows up on any website. The widget runs the same agent as the Slack bot and the email handler.
Spec
gateways=Discord, Slack, WhatsApp, Telegram, Signal, email
embed=share-token widget · public, limited access
api=HTTP + SSE · OpenAI-compatible endpoints
05 · What we won't do

What Hermes won't do.

Every promise has an opposite. Here are the things we won't do, and why.

  • no.Shared memory pools.

    Because If everyone's memory sits in one place, one customer's data can leak into another's. We'd rather pay for more servers than risk that.

  • no.Paid-only features.

    Because There's no upsell. Every agent comes with full memory, skills, every app, and a dashboard — no flags, no plans, no opt-ins.

  • no.Closed source.

    Because If our hosted service ever goes away, your agent shouldn't. The code is open so you can keep running it on your own hardware as long as you want.

  • no.Locked-in models.

    Because We don't sell tokens. Bring your own provider key — Anthropic, OpenAI, Google, or a local model — and we stay out of the way.

06 · Glossary

Words, defined.

Words we use a lot, in case any of them are unclear.

Agent
Your running assistant: model + memory + skills + apps. It runs on a single VPS with a private URL through Cloudflare.
Channel
A way to reach your agent — Discord, Slack, email, and so on. Each channel passes messages to the agent and shows you its replies.
Skill
A saved capability — a Markdown file plus optional scripts — that the agent uses when the task fits its description.
Memory
What your agent remembers — facts, preferences, past chats. Stored on the agent's own disk. Survives restarts; deleted when the agent is.
Share token
A limited key that lets visitors talk to your agent through the website widget without signing in. You can turn it off or set it to expire.
Doctrine
This page. The four promises every Hermes agent ships with — memory, ownership, skills, channels.
II · Practice

All of this,
in one click.

All four promises come with every agent. No flags, no plans, no opt-ins.

Deploy an Agent