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 hermes run, 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.md is auto-created on first hermes — if empty, falls back to a built-in default.
  • $HERMES_HOME env var can override the base location. $HERMES_HOME/SOUL.md wins.

5. First session

hermes

First run launches the interactive setup — internally it calls hermes setup.

5.1 Setup wizard

  1. LLM provider — Nous Portal / OpenRouter / OpenAI / Anthropic / custom
  2. API key (per provider)
  3. Default model
  4. Default tone / persona
  5. 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_HOME is 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 updatehermes 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 ~/.bashrc or ~/.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 technical to verify session overlay works
  • [ ] Run hermes doctor for final environment check
  • [ ] (Optional) hermes gateway setup to connect Discord / Telegram / etc.

15. What's next

With Hermes basics in place:

  1. hermes command complete cheatsheet — subcommands + slash commands (coming soon)
  2. Persistent memory FTS5 in practice — queries, Korean tokenization (coming soon)
  3. OpenClaw → Hermes migration checklist (coming soon)

References


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

๋Œ“๊ธ€

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

"ML Foundations (9/9) — PyTorch vs TensorFlow, and the Road to Local LLMs"

Agent Memory Engine (2/10) — Building an AI Agent Memory System with SQLite Alone

"ML Foundations (8/9) — Deep Learning Architectures: CNN, RNN, Attention"

"RAG Core Study (14/26) — Evaluation Sets with RAGAS & DeepEval"

"ML Foundations (7/9) — Deep Learning Training: Optimizers, Regularization, Initialization"

AI Agents I Built (5/7) — Building an Automated Blogger API Publishing System

"ML Foundations (6/9) — Neural Networks: From Perceptron to MLP"