From admin-devops
Deploy and manage Hermes Agent (Nous Research) on remote servers. Self-improving AI agent with built-in learning loop, multi-platform messaging gateway (Telegram, Discord, Slack, WhatsApp, Signal, Mattermost), cron scheduling, MCP integration, and persistent memory. Supports Docker, bare-metal, and systemd deployments. Use when: deploying hermes-agent to a server, configuring hermes messaging gateway, managing hermes installations, troubleshooting hermes issues, migrating from OpenClaw to hermes, setting up hermes cron jobs, or any task involving hermes-agent deployment and operations. Keywords: hermes, hermes-agent, nous research, AI agent, messaging gateway, self-improving agent, openclaw migration.
npx claudepluginhub joshuarweaver/cascade-code-devops-misc-1 --plugin evolv3-ai-vibe-skillsThis skill uses the workspace's default tool permissions.
Hermes Agent is a self-improving AI agent by Nous Research. It creates skills from experience,
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Hermes Agent is a self-improving AI agent by Nous Research. It creates skills from experience, searches past conversations, and builds user models across sessions.
| Item | Value |
|---|---|
| Config dir | ~/.hermes/ |
| Config file | ~/.hermes/config.yaml |
| Secrets | ~/.hermes/.env |
| Identity | ~/.hermes/SOUL.md |
| Logs | ~/.hermes/logs/ |
| Sessions | ~/.hermes/sessions/ |
| Skills | ~/.hermes/skills/ |
| Memories | ~/.hermes/memories/ |
| Cron jobs | ~/.hermes/cron/ |
| Gateway config | ~/.hermes/gateway.json |
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
hermes setup
Auto-installs: uv, Python 3.11, Node.js v22, ripgrep, ffmpeg. Only prerequisite: git. Native Windows not supported — use WSL2.
git clone --recurse-submodules https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv venv --python 3.11
export VIRTUAL_ENV="$(pwd)/venv"
uv pip install -e ".[all]"
uv pip install -e "./mini-swe-agent"
npm install # optional, for MCP/browser tools
mkdir -p ~/.hermes/{cron,sessions,logs,memories,skills,pairing,hooks,image_cache,audio_cache,whatsapp/session}
cp cli-config.yaml.example ~/.hermes/config.yaml
touch ~/.hermes/.env
chmod 600 ~/.hermes/.env
mkdir -p ~/.local/bin
ln -sf "$(pwd)/venv/bin/hermes" ~/.local/bin/hermes
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
docker build -t hermes-agent:local .
docker run --rm -it \
-v "$PWD:/home/agent/workspace" \
-v "$HOME/.hermes:/home/agent/.hermes" \
hermes-agent:local hermes
Runs as agent user. Mount ~/.hermes for persistence.
Community Docker images:
hermes doctor # Diagnose issues
hermes doctor --fix # Auto-repair
hermes status --deep # Full status check
Full config reference: references/configuration.md
hermes model # Select LLM provider/model
hermes tools # Configure enabled tools
hermes config check # Check for missing options
hermes config migrate # Add options introduced in updates
.env# Pick one provider
ANTHROPIC_API_KEY=sk-ant-...
# OR
OPENROUTER_API_KEY=sk-or-...
hermes config show # View current
hermes config edit # Open in editor
hermes config set KEY VAL # Set value (auto-routes secrets to .env)
hermes config path # Print config file path
Full gateway reference: references/messaging.md
hermes gateway setup # Interactive platform config
hermes gateway install # Install as user systemd service
sudo loginctl enable-linger $USER # Survive logout
hermes gateway start
hermes gateway status
Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, webhooks.
# Set explicit allowlists in .env — NEVER use GATEWAY_ALLOW_ALL_USERS=true
TELEGRAM_ALLOWED_USERS=123456789,987654321
DISCORD_ALLOWED_USERS=123456789012345678
# DM pairing for unknown users
hermes pairing approve telegram XKGH5N7P
hermes pairing list
hermes pairing revoke telegram 123456789
Hermes auto-detects ~/.openclaw during setup.
hermes claw migrate # Interactive full migration
hermes claw migrate --dry-run # Preview first
hermes claw migrate --overwrite # Overwrite conflicts
Migrates: SOUL.md, memories, skills, allowlists, messaging settings, API keys, TTS files.
| Task | Command |
|---|---|
| Interactive chat | hermes |
| One-shot query | hermes chat -q "..." |
| Change model | hermes model |
| Update | hermes update |
| Resume session | hermes -c or hermes -r <id> |
| Browse skills | hermes skills browse |
| Install skill | hermes skills install <name> |
| Cron jobs | hermes cron list / hermes cron create |
| Analytics | hermes insights --days 7 |
| Uninstall | hermes uninstall --full --yes |
# User service
hermes gateway install
sudo loginctl enable-linger $USER
journalctl --user -u hermes-gateway -f
# System service (starts at boot)
sudo hermes gateway install --system
| Symptom | Fix |
|---|---|
hermes: command not found | source ~/.bashrc, check ~/.local/bin in PATH |
| Missing deps | hermes doctor --fix |
| Gateway won't start | Check ~/.hermes/logs/gateway.log |
| Auth failure | hermes login --provider <name> or verify .env |
| Stale config after update | hermes config migrate |
| Migration issues | hermes claw migrate --dry-run first |
After deploying to a remote server, update the device profile:
hermes-agent to profile.servers[].apps[]profile.deployments{}log_admin_eventdevops:deployment-coordinator speaker