Set it up
About 40 minutes. Where a config key isn’t publicly documented, you have Hermes edit its own config and show you the diff.
1 · Install Hermes
Linux / macOS / WSL2 / Termux
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Windows (PowerShell)
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
Config is in ~/.hermes/config.yaml, secrets in
~/.hermes/.env, OAuth in auth.json. CLI args
override config.yaml, which overrides .env, which
overrides defaults.
2 · Pick a model
Hermes takes Nous Portal, OpenRouter, OpenAI or your own endpoint, set in
the model section of config.yaml. The web tools
(web_search, web_extract, x_search)
only come through a paid Portal subscription, and every call is billed. Use
a cheap, competent model for the daily run and save the frontier model for
busy weeks.
3 · Switch to the Docker backend
The intern runs code it wrote itself, unattended, so this step is required. Install Docker if needed, then paste this into Hermes:
Paste into Hermes
Open ~/.hermes/config.yaml and switch the terminal backend from local to docker. Show me the exact diff before saving, and tell me which image it will use. Then run a trivial command through the terminal tool and confirm it executed inside the container, not on my host. While you're in there: confirm skills.write_approval is enabled and approvals.mode is smart or manual — if either is looser, tighten it and show me that diff too.
The container drops all capabilities, sets no-new-privileges, caps itself
at 256 processes and gets a 512 MB tmpfs /tmp. Hermes also
hides your environment from child processes
(terminal.env_passthrough overrides that) and protects paths
like ~/.ssh/ and .env. Leave those defaults
alone.
4 · Make the archive
One-time
mkdir -p ~/research-intern/reports
5 · Connect Telegram
Follow the Hermes messaging docs, put the bot token in
~/.hermes/.env, and start the gateway:
Run the gateway
hermes gateway
Telegram is one of 20+ platforms (Discord, Slack, WhatsApp, Signal, email, ntfy and more). Pick the one you read in the morning. Access works on an allowlist with DM pairing, so approve yourself and nobody else.
6 · Check the cron job
You create it with prompt 4. Then check it:
Check the schedule
hermes cron list hermes cron status
Run it now, or pause it while you’re away
hermes cron run hermes cron pause hermes cron resume
hermes cron edit and hermes cron remove also
exist. Run it by hand for a few days before you trust the schedule.