Boteldocs

Your agent: Hermes

What Botel configures in Hermes, what's yours to change, and how to change it.

Your agent is Hermes, an MIT-licensed agent, installed at a fixed version in every room. Its home is ~/.hermes: settings in config.yaml, keys and tokens in .env.

What Botel sets up

  • Model access through Botel's metered proxy, with a default model. See Model calls.
  • Telegram, once you connect a bot, plus a plugin in ~/.hermes/plugins/botel_telegram_plugin that keeps queued messages across restarts.
  • The dashboard, signed in with your Botel account.
  • A sleep hook in ~/.hermes/hooks/botel-agentd that tells the room a turn has ended, so it can sleep.
  • A ports skill in ~/.hermes/skills/botel-ports, so your agent can open ports for you.
  • A browser (Chrome) for your agent to use.

What Botel rewrites

Botel writes these again whenever it updates the room's connections, such as when you connect a bot. Don't change them, in the dashboard or over SSH:

  • in .env: TELEGRAM_BOT_TOKEN, the TELEGRAM_WEBHOOK_ lines, the HERMES_DASHBOARD_ lines, and the room's model key;
  • in config.yaml: model.provider, model.base_url, model.api_key and the botel entry under custom_providers.

It also removes model.api_mode, and any provider-key line in .env that holds the room's key or a ${…} reference.

What's yours

Everything else. The model (model.default) is set when the room is created, and who may message your bot when you connect it; after that both are yours. Your own .env lines, including provider keys written as plain values, are never touched.

Changing things

  • Dashboard. It includes settings for the model, config and keys, and pages for skills, tools, MCP servers, scheduled jobs and memory. In any chat, /model switches the model.
  • SSH. Edit ~/.hermes/config.yaml and ~/.hermes/.env, or use hermes config set. Log in first: a one-off ssh command doesn't get the agent's settings.

Edits to either file apply the next time the agent restarts.


Questions? Write to [email protected].

On this page