Set up Hermes as your agent harness
Hermes is one of several agent harnesses, and the one this site has a setup guide for. One command installs it, one command configures it, and a profile is where a template's skills land. This is the first hour.
Install it
Hermes runs on macOS, Linux and Windows, and its manual is at hermes-agent.nousresearch.com/docs. On a desktop, take the packaged app from the Hermes site. On a server or in a terminal, use the installer, which sets up Python and the hermes command.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash source ~/.zshrc hermes
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
The installer wants Git, curl, tar and a SHA-256 tool to be present, which most machines already have. It brings its own Python runtime, so there is no virtual environment for you to manage.
macOS desktop builds are Apple-silicon only. On an Intel Mac, or anywhere in a terminal, the installer above is the path.
Hermes is not the only harness a pack runs under. The skills in a pack follow an open standard, so they carry across, and each harness documents where it looks for a file: DeepSeek Harness, Claude Code, Codex CLI, Cursor, OpenClaw. What is an agent harness? compares them.
Configure it
Run the setup command and answer its questions. It asks for a provider and a model, and stores the key in the profile's environment file rather than in the code.
hermes setup # provider, model, and where the key goes hermes model # change the model later without touching your skills hermes tools # what this agent is allowed to use
Two files matter afterwards. ~/.hermes/config.yaml holds settings, and the profile's .env holds keys. API keys and permissions covers what to put in the second one, and which key to get first.
Where everything lives
| What | Where it is | What to do with it |
|---|---|---|
| The program | ~/.hermes/hermes-agent/ | leave it alone; the installer updates it |
| The hermes command | ~/.local/bin/hermes | run it from any terminal |
| Your data | ~/.hermes/ | config, keys, memory, sessions, skills |
| Settings | ~/.hermes/config.yaml | edit by hand or with hermes config set |
| Keys | the profile's .env | never in a repository, never in a prompt |
On Windows the data directory sits under %LOCALAPPDATA%\hermes\, and in a container it is mounted at /opt/data/. Setting HERMES_HOME moves the whole data directory somewhere else, which is what a second install on one machine uses.
One profile per agent
A profile is a separate Hermes home: its own settings, keys, memory, skills and sessions. It is how you run a coding agent and a research agent side by side without their memories mixing.
hermes profile create coder coder setup coder chat
Creating a profile also gives you a command named after it, so coder chat reaches that agent and nowhere else.
Never point two running agents at one profile. Both write memory and session state automatically, so each one compounds the other's notes, and neither transcript is trustworthy afterwards.
Run a template under it
Now the part this site is for. Download an agent template, unpack it, and read its two most important files: the README for the quickstart, and SOUL.md for the job it was written to do.
- Copy the pack's skills/ folders into your profile's skills directory.
- Add the pack's memory section to your config only if you want its notes to persist.
- Give it the smallest key that does the job, and nothing else.
- Run it once on a copy of your files, and read what it left alone.
Run your first agent template walks that path step by step, and The parts of an agent explains what each file in the pack is for.
Where to go next
Give it the smallest key that does the job, keep it out of the repository, and know how to revoke it.
The parts of an agent: goals, guardrails, memorySix parts, in the order they matter: instructions, skills, tools, memory, guardrails, report.
Where your agent runs: laptop, server or hostYour own machine, a machine you keep for it, or somewhere you rent by the hour.
The types of AI agent, from writing its own skills to a fixed promptEvery agent sits between one that can rewrite its own instructions and one that only varies the value you feed it. What each end is good for.