What Hermes does differently
Most AI agent frameworks treat every task as a fresh reasoning problem. Hermes takes a different approach: after completing a task, it saves the successful execution path as a skill file. The next time it encounters a similar request, it loads the saved skill and follows the proven steps. Over time, the agent builds a library of playbooks tuned to your specific workflows.
Skills are plain-text YAML files stored in a local directory. You can read, edit, or delete them. There is nothing opaque about the system. If a skill produces bad results, you delete it and Hermes falls back to reasoning from scratch on the next matching request.
Install Hermes
Hermes ships as a single binary. Install it with one command:
curl -fsSL https://hermes-agent.dev/install.sh | bash This downloads the latest release for your platform (macOS arm64, macOS x64, or Linux x64) and places
the binary in ~/.local/bin/hermes. Verify the install:
hermes --version
If your shell does not find the command, add ~/.local/bin to your PATH. The installer
prints instructions for this if it detects the directory is not in your PATH.
Configure the LLM provider
Generate a default config file:
hermes init This creates ~/.config/hermes/config.yaml. Open it and set your provider:
llm:
provider: anthropic
model: claude-sonnet-4-20250514
api_key: sk-ant-your-key-here Hermes also supports OpenAI and Ollama. For OpenAI:
llm:
provider: openai
model: gpt-4o
api_key: sk-your-key-here For local Ollama:
llm:
provider: ollama
model: llama3.1:70b
base_url: http://localhost:11434 Connect Telegram
Set up a Telegram bot to send tasks from your phone:
- Message @BotFather on Telegram and send
/newbot. - Choose a name and username for the bot. BotFather returns a token.
- Add the token to your config:
channels:
telegram:
enabled: true
token: "7123456789:AAF..."
allowed_users:
- 123456789 # your Telegram user ID
Get your user ID by messaging @userinfobot. The
allowed_users whitelist prevents anyone else from using your agent.
Run your first task
Start Hermes:
hermes start Open your Telegram bot and send a task:
Write a bash script that checks disk usage on all mounted volumes and flags any over 80% Hermes plans the task, executes it, and sends the result back. The first run on a new task type triggers skill generation. You will see a log line like:
skill saved: ~/.config/hermes/skills/disk-usage-check.yaml How skills work
After a successful task, Hermes analyzes the steps it took and writes a skill file. A skill file looks like this:
name: disk-usage-check
trigger: "check disk usage"
steps:
- action: shell
command: "df -h --output=pcent,target | tail -n +2"
- action: parse
pattern: "extract lines where usage > threshold"
- action: respond
template: "Volumes over {threshold}%: {results}"
tags: [monitoring, disk, bash] When the next request matches the trigger pattern, Hermes loads this skill instead of reasoning from scratch. The result is faster execution and more consistent output. Skills accumulate over time, and the agent gets better at your specific recurring tasks.
To review all saved skills:
hermes skills list To delete a skill that is not working well:
hermes skills delete disk-usage-check Deploy on Modal for always-on operation
Running Hermes on your laptop means the agent stops when your machine sleeps. For persistent operation, deploy to Modal, a serverless compute platform that bills per second of active execution.
- Install the Modal CLI:
pip install modal - Authenticate:
modal setup - Deploy Hermes:
hermes deploy modal \
--llm-provider anthropic \
--llm-key sk-ant-your-key \
--telegram-token 7123456789:AAF... The deploy command packages Hermes into a Modal function that wakes up when a Telegram message arrives and goes to sleep after processing. Idle time costs nothing. Active processing costs roughly $0.0001 per second on Modal's standard GPU-free tier.
For a typical personal agent handling 20 to 30 tasks per day, this works out to $2 to $5 per month in compute costs, plus your LLM API spend.
Troubleshooting
- hermes: command not found: Add
~/.local/binto your PATH. Runexport PATH="$HOME/.local/bin:$PATH"and add it to your shell profile. - Skills not generating: Skill generation only triggers on tasks that complete successfully. Check
hermes logsfor errors during execution. - Telegram messages not arriving: Confirm the bot token is correct and the user ID is in the allowed list. Restart Hermes after config changes.
- Modal deploy fails: Run
modal setupto re-authenticate. Check that your Modal account has billing enabled (required even for the free tier).
Next steps
With Hermes running and skills accumulating, explore connecting additional channels (Discord, Slack), adding tool integrations for GitHub or database access, and tuning the skill trigger patterns for higher match accuracy. See the agentic AI overview for how Hermes fits into a multi-agent workflow.
Frequently asked questions
What is the Hermes self-improving skill system?
When Hermes completes a task successfully, it analyzes the steps it took and saves them as a structured skill file in a local directory. On future requests that match the same pattern, Hermes loads the saved skill and follows the proven steps instead of planning from scratch. You can review, edit, or delete skill files manually. Skills are plain text, not opaque model weights.
How does Hermes compare to OpenClaw?
Both are open-source agent frameworks with messaging integrations. Hermes is a single binary with no runtime dependencies and emphasizes the self-improving skill system. OpenClaw is Node.js-based with a broader plugin ecosystem. Hermes is simpler to install; OpenClaw is more extensible. Try both and keep the one that fits your workflow.
What does Modal deployment cost?
Modal bills per second of compute time. A Hermes agent that handles 20 to 30 tasks per day and spends most of its time idle typically costs $2 to $5 per month on Modal. You also pay for LLM API calls separately. The Modal free tier includes $30 of compute per month, which is enough for light agent use.
Can I use Hermes without Telegram?
Yes. Hermes also supports Discord, Slack, and a local CLI mode where you interact directly in the terminal. Telegram is the fastest channel to set up for mobile access, but it is not required. You can run Hermes purely from the command line for local development tasks.
Are skills shared between Hermes instances?
Not by default. Skills are stored locally in the skills directory of each Hermes installation. You can copy skill files between instances manually, or point multiple instances at a shared directory via the config. There is no built-in skill marketplace or sync mechanism.