Docs /Getting Started/Hermes Agent

Hermes Agent

Run a personal AI agent — persistent, private, and connected to Telegram.

Hermes Agent

Run a personal AI agent — persistent, private, and connected to Telegram.

Featherless Managed Hermes Agent is a fully managed agent environment with sandboxed compute and inference bundled into a single monthly subscription. You get a secure, always-on Hermes Agent instance with Featherless already wired as the model backend. No infrastructure to manage. No separate token bill.

Hermes Agent handles the agent layer: persistent memory, skills, channels, and the gateway that connects everything.

Featherless handles the model layer: 30,000+ open-source models, no prompt logging, flat-rate pricing.


Deploy

Go to featherless.ai/account/agents and click Browse Marketplace. Find Hermes Agent and click Launch. You'll land on a Launch Hermes Agent screen with two fields:

  • Name (optional): a friendly label for this agent, e.g. "My Agent"

  • Model: a searchable dropdown

The default model is MiniMaxAI/MiniMax-M2.5. Not sure what to pick?Here are the available models Claw Standard

Model

Good for

NousResearch/Hermes-3-Llama-3.1-8B

General-purpose default, strong instruction following

LoganResearch/Nous-Hermes-ReflexAgent-8B-v1

Agentic tasks, self-reflection loops

MiniMaxAI/MiniMax-M2.5

Fast everyday assistant, balanced quality

cahlen/Convergent-7B

Lightweight, fast responses

arcee-ai/Trinity-Large-Thinking

Reasoning and thinking tasks

mims-harvard/TxAgent-T1-Llama-3.1-8B

Specialised task agent

ValiantLabs/Qwen3-1.7B-ShiningValiant3

Ultra-lightweight, low latency

ValiantLabs/Qwen3-4B-ShiningValiant3

Compact, fast general use

Featherlabs/Aura-7b

Featherlabs curated general assistant

rubra-ai/Meta-Llama-3-70B-Instruct

High quality, large instruction model

M-Alkassem/qwen2.5-coder-3b-final-merged

Code tasks, lightweight

The following models require a plan claw pro:

Model

Good for

moonshotai/Kimi-K2.5

Reasoning-heavy tasks, long context

inclusionAI/Ling-1T

Demanding tasks, massive MoE

Qwen/Qwen3.5-397B-A17B

Complex tasks, large MoE model

zai-org/GLM-5

Fast everyday assistant, strong multilingual

zai-org/GLM-4.7

Efficient mid-size assistant

Hit Launch Agent. Your sandbox spins up in seconds and your gateway dashboard opens automatically at:

https://[port]-sbx-[your-id].sandbox.featherless.ai


Hit Launch Agent. Your sandbox spins up in seconds and your gateway dashboard opens automatically at:

https://[port]-sbx-[your-id].sandbox.featherless.ai


Dashboard

Your gateway dashboard is the control centre for everything. The status indicator in the top-left shows Health: OK when the gateway is running. If it shows anything else, refresh and wait 30 seconds.

Chat — talk directly to your agent in the browser. Backed by the same model and memory as any connected channel. The fastest way to test changes before rolling them out.

Sessions — browse all past and live conversations. Each session shows the platform it came from, the model used, message count, and tool call count.

Config — your live config.yaml. Edit settings directly, including model, memory, and channel configuration. Changes take effect on the next session or gateway restart.

API Keys — manage all your provider keys and bot tokens in one place. Keys are grouped by category: LLM providers, tool API keys, and messaging platforms.

Channels — status snapshots for each connected platform. Shows whether a channel is configured, running, and connected.

Cron Jobs — lists all scheduled tasks. Toggle individual jobs on or off from here.

Logs — live and historical gateway logs with filtering by level and component. First place to check if a channel isn't responding or a config change didn't behave as expected.

Config vs dashboard UI for channels: Use the Config tab to edit config.yaml directly for channel configuration. It's the most reliable way to make changes — edit, save, and restart the gateway to apply.


First conversation

In the dashboard, click Chat in the sidebar. Send a message to introduce yourself:

"Hey, I'm [your name]. I work in [field]. I prefer concise answers and my timezone is CET."

Your agent replies within a few seconds and takes notes in MEMORY.md automatically.

Try these while you're here:

Web search

"What are the most downloaded open-source LLMs on HuggingFace this week?"

The agent has web_search available by default. It pulls live results, not training data.

URL summary

"Can you summarise this for me? [paste any URL]"


Connect Telegram

Telegram is the cleanest channel to start with. One token, one config block, done. Once set up, your agent is reachable from your phone without opening the dashboard.

Hermes Agent also supports Discord, Slack, WhatsApp, and Signal from the same gateway — see the Messaging Platforms docs to add more channels.

1. Create a bot in BotFather

Open Telegram and search for @BotFather. Start a chat and send:

/newbot

Give your bot a display name (e.g. "My Agent") and a username ending in bot (e.g. myagent_bot). BotFather returns a token that looks like 7234891234:AABB.... Copy it.

2. Find your numeric Telegram user ID

Send any message to @userinfobot on Telegram. It replies instantly with your numeric ID — a plain number, not your username.

3. Configure Telegram

Go to the Config tab in the dashboard and add a telegram block to your config.yaml:
telegram:
  enabled: true
  bot_token: "YOUR_BOTFATHER_TOKEN"
  unauthorized_dm_behavior: allowlist
  allowlist:
    - YOUR_NUMERIC_TELEGRAM_USER_ID

Save the file and restart the gateway to apply.

4. Test

Open Telegram and send your bot a message:

"Hey, it's me — same conversation, new channel."

You should get a response within a few seconds. If nothing comes back, check the Logs section in the dashboard.

DM policy options:

Policy

Behaviour

pair (default)

Unknown senders receive a pairing code before messages are processed

allowlist

Only senders in the allowlist can message the bot. Recommended for personal use.

ignore

Bot silently drops all unauthorized DMs


Personalise your agent

SOUL.md

SOUL.md is your agent's primary identity. It loads into every session in full, on every channel. Use it to define who the agent is, what it does, and how it responds.

Your SOUL.md is located at ~/.hermes/SOUL.md. Edit it from the dashboard under Config → Files.
# Who you are You're a personal assistant running on an open-source model via Featherless. You're direct, concise, and useful. You don't pad responses with filler. # What you do - Answer questions using web search when needed - Remember what I tell you across sessions - Summarise links I send you - Remind me of things I ask you to track # How you respond Keep answers short unless I ask for depth. If you're uncertain, say so. Use plain language, not markdown formatting, when responding in Telegram.

Keep SOUL.md under 2,000 words. Longer reference content belongs in MEMORY.md.

MEMORY.md

MEMORY.md is your agent's persistent notepad. After conversations, the agent writes notes here automatically: your name, preferences, things you've mentioned. Every new private session loads this file at the start.

Your memory files are located at ~/.hermes/memories/. Edit them directly from the dashboard under Config → Files.

MEMORY.md is loaded in private (DM) sessions only, not group chats. Rules that need to apply everywhere belong in SOUL.md.

To test it: start a fresh conversation in Telegram without giving any context and ask:

"What do you know about me?"

Recurring reminders

Tell your agent directly in chat:

"Every morning at 8am, message me in Telegram with a motivational thought."

This creates a cron job. The agent messages you unprompted at that time each day. Manage it under Cron Jobs in the dashboard sidebar.


Config reference

Directory structure

All Hermes Agent settings live under ~/.hermes/:
~/.hermes/
├── config.yaml     # Settings (model, channels, memory, tools, etc.)
├── .env            # API keys and secrets
├── SOUL.md         # Agent identity (loaded every session)
├── memories/       # Persistent memory files
├── skills/         # Agent-created skill files
├── cron/           # Scheduled jobs
├── sessions/       # Gateway session history
└── logs/           # Gateway and error logs

Full working config

terminal:
  backend: local

memory:
  memory_enabled: true
  user_profile_enabled: true
  memory_char_limit: 2200
  user_char_limit: 1375

telegram:
  enabled: true
  bot_token: "__HERMES_REDACTED__"
  unauthorized_dm_behavior: allowlist
  allowlist:
    - YOUR_NUMERIC_TELEGRAM_USER_ID

compression:
  enabled: true
  threshold: 0.50

display:
  tool_progress: all
  streaming: false

security:
  redact_secrets: true
  tirith_enabled: true

approvals:
  mode: manual

Key fields

memory

Controls persistent memory across sessions. memory_enabled turns on automatic note-taking after conversations. memory_char_limit caps how much is loaded per session to avoid flooding the context window.

telegram

Field

Type

Notes

enabled

boolean

Must be true for the channel to start

bot_token

string

Token from BotFather

unauthorized_dm_behavior

string

pair, allowlist, or ignore

allowlist

array

Numeric Telegram user IDs allowed to message the bot

compression

Hermes automatically compresses long conversations to stay within the model's context window. threshold: 0.50 means compression fires at 50% of the context limit.

approvals

Controls how potentially dangerous terminal commands are handled. manual prompts you before execution. smart uses an auxiliary model to assess risk. off disables all checks.


Troubleshooting

Bot doesn't respond in Telegram. Confirm your numeric user ID is in the allowlist — not your @username. Send a message to @userinfobot to verify. Restart the gateway after saving config changes.

Config changes not taking effect. Hermes Agent requires a gateway restart after editing config.yaml. Use hermes gateway to restart from the CLI or use the restart option in the dashboard.

Health shows something other than OK. Refresh the dashboard. If it persists, wait 30 seconds — the sandbox may be restarting.

Agent not using tools, just describing what it would do. Set agent.tool_use_enforcement: true in config.yaml to force the model to make actual tool calls instead of narrating intentions.

Channel configured but not responding. Check Logs for errors. Confirm enabled: true is set in the channel block and that the gateway has been restarted since the last config change.


Resources

Last edited: Apr 15, 2026