AI Coding Tool Setup and Reference (6/7) — Hermes Agent Install: One-Liner + SOUL.md
Nous Research official install.sh, auto-provisioned Python 3.11, ~/.hermes/ layout, persona file in practice
ํต์ฌ ์์ฝ
- Audience: First-time installer of Hermes Agent (NousResearch/hermes-agent, Feb 2026 release).
- What you'll get: Official install.sh one-liner, auto-provisioned dependencies (uv / Python 3.11 / Node 22 / ripgrep / ffmpeg), platform limits (native Windows unsupported), first
hermesrun, 9 core subcommands, and SOUL.md schema, location, and example — verbatim. - Prerequisite: Git pre-installed. Linux / macOS / WSL2 / Android (Termux).
- License: MIT. Built by Nous Research.
1. What Hermes Agent actually is
Per the official docs:
- Released February 2026 — open-source AI agent. Tagline: "The agent that grows with you."
- Self-improving skills loop, persistent memory (SQLite FTS5), 40+ built-in skills.
- 5 messenger channels: Telegram, Discord, Slack, WhatsApp, Signal (+Email +CLI).
- LLM-agnostic: Nous Portal, OpenRouter (200+), NVIDIA NIM, Xiaomi MiMo, z.ai/GLM, Kimi, MiniMax, Hugging Face, OpenAI, Anthropic, custom endpoints, local vLLM.
- Official OpenClaw migration path (
hermes claw migrate).
Claude Code and Codex are IDE/terminal-centric. OpenClaw is a channel orchestrator. Hermes bundles long-term memory + self-learning + channels into one product.
2. Install — the official one-liner
2.1 Primary command
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
Then:
source ~/.bashrc # or ~/.zshrc on macOS
hermes # first run
No sudo needed. Installs entirely under ~/.hermes/, not system-wide.
2.2 Auto-provisioned dependencies
install.sh handles these automatically:
- uv (Rust-based Python package manager)
- Python 3.11
- Node.js v22 (browser automation + WhatsApp)
- ripgrep (file search)
- ffmpeg (audio conversion)
Required pre-install: just Git.
2.3 Nix users
Official docs mention a Nix flake declarative setup. If you already use Nix, this path offers reproducibility.
2.4 Developer build (from source)
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
./setup-hermes.sh
3. Platform support — actual boundaries
Per the docs:
| Platform | Support |
|---|---|
| Linux | ✅ |
| macOS (Apple Silicon / Intel) | ✅ |
| WSL2 | ✅ |
| Android (Termux) | ✅ |
| Windows native | ❌ Marked "experimental", WSL2 recommended |
On Windows you need WSL2 (Ubuntu/Debian). The installer follows the Linux path inside WSL.
4. Directory layout after install
~/.hermes/
├── SOUL.md # persona (auto-created)
├── MEMORY.md # long-term memory (optional)
├── USER.md # user profile (optional)
├── skills/ # self-generated + OpenClaw-migrated
│ └── openclaw-imports/
├── (SQLite DB, session store)
└── (logs)
SOUL.mdis auto-created on firsthermes— if empty, falls back to a built-in default.$HERMES_HOMEenv var can override the base location.$HERMES_HOME/SOUL.mdwins.
5. First session
hermes
First run launches the interactive setup — internally it calls hermes setup.
5.1 Setup wizard
- LLM provider — Nous Portal / OpenRouter / OpenAI / Anthropic / custom
- API key (per provider)
- Default model
- Default tone / persona
- Add messenger channels (skippable; later via
hermes gateway setup)
You can start chatting immediately after.
5.2 Core hermes subcommands
| Command | Effect |
|---|---|
hermes |
Interactive CLI |
hermes setup |
Full setup wizard |
hermes model |
Switch LLM provider / model |
hermes tools |
Toggle built-in tools |
hermes config set |
Edit individual settings |
hermes gateway setup |
Configure messenger creds |
hermes gateway |
Start the gateway process |
hermes gateway install |
Register systemd service (Linux) |
hermes claw migrate |
Migrate OpenClaw settings / skills |
hermes update |
Update to latest |
hermes doctor |
Diagnose environment |
5.3 Shared slash commands (CLI + messaging)
| Command | Effect |
|---|---|
/new |
Start a new conversation |
/reset |
Reset context |
/model |
Switch model |
/personality [name] |
Session-only persona overlay |
/retry |
Regenerate last response |
/undo |
Rewind |
/compress |
Summarize / compress conversation |
/usage |
Tokens / cost |
/insights |
Session analytics |
/skills |
Loaded skills list |
/stop |
Stop current task |
6. SOUL.md — the persona file
Hermes's distinctive feature: SOUL.md is slot #1 in the system prompt. Documented explicitly.
6.1 Location and loading rules
- Default:
~/.hermes/SOUL.md - Custom:
$HERMES_HOME/SOUL.md - Caveat: SOUL.md in the current working directory is not loaded. Only
HERMES_HOMEis consulted. - Auto-created if missing. Never overwrites an existing file.
- If empty or unreadable → falls back to a built-in default.
- Injected into the system prompt once (slot #1). No duplication.
- Injected verbatim after security scan + length truncation.
6.2 Put in SOUL.md
Per the official recommendation: durable voice elements.
- Tone and communication style
- How direct to be
- How to handle uncertainty
- What to avoid stylistically
6.3 Don't put in SOUL.md
Project-specific details belong in AGENTS.md instead.
6.4 Official example structure
You are a pragmatic senior engineer with strong taste...
## Style
- Be direct without being cold
- Prefer substance over filler
- Push back when something is a bad idea
6.5 Extended example
You are a pragmatic senior engineer with a clear sense of quality.
## Style
- Direct, not cold
- Substance over filler
- Push back on bad decisions with reasons
## Uncertainty
- Tag things you don't know as "needs verification"
- When speculating, say so explicitly
## Avoid
- Over-apologizing, performative hedging
- Repeating things the reader already knows
7. Three related systems — SOUL.md / AGENTS.md / /personality
Official comparison:
| System | Scope | Use |
|---|---|---|
| SOUL.md | Persistent, across all contexts | Fundamental persona |
| AGENTS.md | Per-project | Paths, conventions, instructions (same concept as Codex / OpenClaw) |
| /personality [name] | Session only | Temporary overlay |
Built-in /personality presets: helpful, concise, technical, creative, teacher, kawaii, catgirl, pirate, shakespeare, surfer, noir, uwu, philosopher, hype.
Example:
/personality technical
Only this session's tone shifts. On next session, it reverts to SOUL.md.
8. Supported model providers — April 2026
Per the official README/homepage:
- Nous Portal (portal.nousresearch.com)
- OpenRouter (200+ models)
- NVIDIA NIM (Nemotron family)
- Xiaomi MiMo
- z.ai / GLM
- Kimi (Moonshot)
- MiniMax
- Hugging Face
- OpenAI
- Anthropic
- Custom endpoints (OpenAI-compatible)
- Local vLLM
Switch interactively:
hermes model
Or edit config directly.
9. Memory system — SQLite FTS5
Officially documented:
- Storage: SQLite DB under
~/.hermes/with an FTS5 full-text index. - Session search + LLM summarization for cross-session recall.
- MEMORY.md / USER.md: traditional markdown memory, especially populated by OpenClaw migrations.
- Honcho dialectic user modeling (observation → hypothesis → verified).
Details covered in a dedicated post — [#14 Persistent memory FTS5 in practice] (coming soon).
10. Gateway — channel connection
hermes gateway setup # configure credentials
hermes gateway # start process
hermes gateway install # register systemd service (Linux, 24/7)
Supported channels: Telegram, Discord, Slack, WhatsApp, Signal, Email, CLI. Supports voice-memo transcription and cross-platform conversation continuity.
Detailed multi-channel ops: separate post.
11. Diagnostics — hermes doctor
When things break:
hermes doctor
Checks (official):
- Python 3.11 / uv installed
- Node 22 / ripgrep / ffmpeg availability
- $HERMES_HOME accessibility
- Configured provider API key validity
- Whether a post-update migration is needed
Fix pattern: resolve items → hermes update → hermes doctor again.
12. Updating
hermes update
Official advice: always run hermes doctor after updating to catch migration requirements.
- Breaking changes possible: this is an early-stage project (first released Feb 2026) still iterating quickly. Team environments should stage updates first.
13. Counter-scenarios — when Hermes isn't the right fit
- Native Windows is a hard requirement → WSL2 is mandatory for Hermes. Consider OpenClaw (Windows-supported) or Claude Code instead.
- You don't want Python around → Hermes is Python 3.11-based. Codex (Rust) / Claude Code (native binary) are lighter.
- IDE-only coding workflow → Claude Code / Codex fit better. Hermes's value is multi-channel + long-term memory.
- Strict enterprise audit needs → Early-stage project, no formal SOC2/etc. guarantees yet. Safer for individuals and startups.
- Offline environment → local vLLM is an option for the model, but install still needs internet.
14. 30-minute checklist
- [ ] Git present (
git --version) - [ ] Run
curl -fsSL ... install.sh | bash - [ ] No errors; confirm uv / Python 3.11 / Node 22 / ripgrep / ffmpeg auto-installed
- [ ] Reload shell (
source ~/.bashrcor~/.zshrc) - [ ] Run
hermes; complete the wizard (provider + API key + default model) - [ ] Send a "hello" test message, confirm reply
- [ ] Open
~/.hermes/SOUL.md, verify auto-created content - [ ] Add 3–5 personal style rules to SOUL.md (see 6.5)
- [ ] Try
/personality technicalto verify session overlay works - [ ] Run
hermes doctorfor final environment check - [ ] (Optional)
hermes gateway setupto connect Discord / Telegram / etc.
15. What's next
With Hermes basics in place:
hermescommand complete cheatsheet — subcommands + slash commands (coming soon)- Persistent memory FTS5 in practice — queries, Korean tokenization (coming soon)
- OpenClaw → Hermes migration checklist (coming soon)
References
- NousResearch/hermes-agent GitHub
- Hermes Agent official docs
- Official install page
- Personality / SOUL.md docs
- Hermes Agent homepage
This is post 12/15 in the "AI Coding CLI Entry Guide" series. Hermes Agent part begins here.
last verified: 2026-04-25 (per NousResearch/hermes-agent GitHub + hermes-agent.nousresearch.com/docs).
Series overview: Series index
๋๊ธ
๋๊ธ ์ฐ๊ธฐ