logo
icon

Hermes Agent

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.

template cover
Deployed945 times
PublisherzeaburZeabur
Created2026-04-12
Minimum2 Cores4 GB
Recommended4 Cores8 GB
Tags
AIAgentChatbot

Hermes Agent

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.

Quick Start

  1. Deploy this template — fill in your OpenRouter API key (required) and optionally a Telegram bot token.
  2. Bind a domain — go to the Networking tab and bind a domain to the port you need (see Ports & Domains below).
  3. Start using your agent — via the web dashboard, Telegram, or the OpenAI-compatible API.

Ports & Domains

This service exposes two independent ports. Bind a domain only to the ports you actually use:

PortPurposeWhen to bind a domain
5000OpenAI-compatible API serverOnly if you need external API access (curl, SDK, etc.)
9119Web dashboard (requires HERMES_DASHBOARD=true)Only if you want the browser UI

Messaging platforms (Telegram, Discord, Slack, etc.) use outbound connections — they do not require any public URL or open port.

Using the OpenAI-compatible API

Bind a domain to port 5000, then send requests with your auto-generated API key (shown in the service instructions):

curl https://YOUR_DOMAIN/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_SERVER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "default", "messages": [{"role": "user", "content": "Hello!"}]}'

Using the Web Dashboard

  1. Set HERMES_DASHBOARD=true in the Variables tab and restart the service.
  2. Bind a domain to port 9119 in the Networking tab.
  3. Access the dashboard at that domain.

Security note: The dashboard will be publicly accessible from the internet. Do not enable it without understanding the risk — anyone with the URL can access and control your agent. OAuth authentication can be configured via HERMES_DASHBOARD_OAUTH_CLIENT_ID (see the environment variables reference).

Messaging Platforms

Telegram is configured at deploy time as an example. You can add any of the 14+ supported platforms (Discord, Slack, WhatsApp, Signal, Matrix, Email, WeChat, WeCom, Feishu, DingTalk, QQ Bot, Mattermost, BlueBubbles/iMessage, SMS, Home Assistant, generic webhooks) by setting the corresponding environment variables after deployment.

See the official Messaging Gateway guide for setup instructions for each platform.

Using Zeabur AI Hub (alternative to OpenRouter)

Instead of an OpenRouter key, you can use Zeabur AI Hub — an OpenAI-compatible aggregator. After deployment:

  1. Put your AI Hub key in OPENROUTER_API_KEY (reuse the same variable).
  2. Edit /opt/data/config.yaml via the Zeabur Files tab:
    • model.base_url: "https://sfo1.aihub.zeabur.ai/v1" (or hnd1 for Tokyo)
    • model.default: "claude-sonnet-4-5" (or any AI Hub model)
  3. Restart the service.

Note: the OPENROUTER_BASE_URL env var does not override config.yaml — you must edit the file.

Configuration

  • LLM providers, tools, and all other settings — refer to the official Configuration guide and Environment Variables reference.
  • Edit config files via the Zeabur Files tab at /opt/data/:
    • config.yaml — model selection, terminal backend, platform settings
    • SOUL.md — agent personality and system prompt
    • .env — all environment variables
  • After editing, restart the service to apply changes.

CLI Access

You can use the Hermes CLI directly via the Zeabur Exec tab (or zeabur service exec). The hermes command is available out of the box:

CommandDescription
hermesInteractive chat (REPL)
hermes --tuiModern terminal UI
hermes -z "prompt"One-shot query (for scripting)
hermes statusShow status of all components
hermes modelSwitch model / provider
hermes configView or edit configuration
hermes sessions listList past conversations
hermes -cResume last conversation
hermes cronManage scheduled jobs
hermes skillsBrowse and install skills

Run hermes --help for the full command list.

Notes

  • The Docker image is ~4.5 GB (includes Playwright + Chromium for browser automation). First deployment may take several minutes to pull the image.
  • First boot may take 30–60 seconds as the agent initializes config files and syncs skills.
  • Using browser tools may cause high memory usage — if you encounter OOM (out of memory) errors, consider upgrading to a larger instance (recommended 4 vCPU / 8 GB RAM).

License

Hermes Agent is licensed under the MIT License by Nous Research.