
Hermes Agent by NousResearch — an autonomous AI agent with persistent memory, tool use, cron scheduling, and 14+ messaging platforms (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, WeChat, WeCom, Feishu, DingTalk, Email, and more). Includes an OpenAI-compatible API server.


Hermes Agent is an autonomous AI agent built by Nous Research. It features persistent memory, 40+ built-in tools, cron scheduling, and multi-platform messaging support.
my-hermes). Optionally supply your LLM provider now by setting LLM_API_KEY, LLM_BASE_URL, and LLM_MODEL (any OpenAI-compatible provider); leave them blank to configure the model later.admin, password = your service PASSWORD (shown in the service instructions). Start chatting in the browser — no Telegram needed.Prefer another provider or Telegram? Set your OpenAI-compatible provider variables (
LLM_API_KEY/LLM_BASE_URL/LLM_MODEL) and add any messaging environment variables after deploy — see Models & Providers and Messaging Platforms below.
This service exposes two HTTP ports:
| Port | Id | Purpose | Domain |
|---|---|---|---|
| 9119 | web | Web dashboard (on by default, login-protected) | The service's main domain — open it and log in |
| 5000 | api | OpenAI-compatible API server | Bind a domain only if you need external API access |
Messaging platforms (Telegram, Discord, Slack, etc.) use outbound connections — they do not require any public URL or open port.
The dashboard is enabled by default and protected by login. Open your service's domain (the web port) and log in:
adminPASSWORD value (shown in the service instructions)To disable it, set HERMES_DASHBOARD=false in the Variables tab. To change the credentials, set HERMES_DASHBOARD_BASIC_AUTH_USERNAME / HERMES_DASHBOARD_BASIC_AUTH_PASSWORD.
Security note: Basic auth login is best for a backend behind a trusted network; for hardened public exposure use OAuth (
HERMES_DASHBOARD_OAUTH_CLIENT_ID) or self-hosted OIDC (HERMES_DASHBOARD_OIDC_*) — see the environment variables reference.
Bind a domain to the api port (5000) in the Networking tab, then send requests with your auto-generated API key (shown in the service instructions):
curl https://YOUR_API_DOMAIN/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_SERVER_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "default", "messages": [{"role": "user", "content": "Hello!"}]}'
This template runs against any OpenAI-compatible provider you bring. Set these in the Variables tab and restart:
LLM_API_KEY to your provider's key.LLM_BASE_URL to the provider's OpenAI-compatible base URL, e.g. https://api.openai.com/v1. If you set a key but leave the base URL empty, the agent will error until you provide one — this is intentional so misconfiguration is visible.LLM_MODEL to the model id, e.g. gpt-4o-mini.LLM_API_KEY / LLM_BASE_URL / LLM_MODEL for that provider, or add that provider's own API key env var (e.g. KIMI_API_KEY, MINIMAX_API_KEY) and pick the model with hermes model in the Exec tab. See the Configuration guide and Environment Variables reference.When
LLM_API_KEYis set,LLM_API_KEY/LLM_BASE_URL/LLM_MODELare applied to themodelblock of/opt/data/config.yamlon every start (providercustom). LeaveLLM_API_KEYunset to manageconfig.yamlby hand instead.
Messaging is optional — by default you interact through the web dashboard (no platform needed). To connect Telegram, add TELEGRAM_BOT_TOKEN (from @BotFather) and TELEGRAM_ALLOWED_USERS (your Telegram user ID from @userinfobot) in the Variables tab, then restart. Hermes supports 14+ platforms (Discord, Slack, WhatsApp, Signal, Matrix, Email, WeChat, WeCom, Feishu, DingTalk, QQ Bot, Mattermost, BlueBubbles/iMessage, SMS, Home Assistant, generic webhooks) — each is enabled by setting its environment variables after deployment.
See the official Messaging Gateway guide for per-platform setup.
/opt/data/:
config.yaml — model selection, terminal backend, platform settingsSOUL.md — agent personality and system prompt.env — all environment variablesYou can use the Hermes CLI directly via the Zeabur Exec tab (or zeabur service exec). The hermes command is available out of the box:
| Command | Description |
|---|---|
hermes | Interactive chat (REPL) |
hermes --tui | Modern terminal UI |
hermes -z "prompt" | One-shot query (for scripting) |
hermes status | Show status of all components |
hermes model | Switch model / provider |
hermes config | View or edit configuration |
hermes sessions list | List past conversations |
hermes -c | Resume last conversation |
hermes cron | Manage scheduled jobs |
hermes skills | Browse and install skills |
Run hermes --help for the full command list.
Hermes Agent is licensed under the MIT License by Nous Research.
