two¢ents

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.

Disagree? Pin a note on it →