The agent layer

Hermes Agent and OpenClaw, side by side.

Both are open-source agent runtimes that you install locally, point at an Ollama endpoint, and use from your terminal or your favorite chat app. They overlap a lot. They differ in the ways that matter for daily use.

Hermes Agent

Hermes Agent — the multi-channel power tool

Hermes is built around a Gateway that routes messages from chat apps to an LLM. It's the more "platform" of the two: cron jobs, skills, persistent memory, voice transcription, image generation, multi-agent routing. Slightly steeper to set up because the config surface is bigger.

Install

# Install via the official installer (macOS / Linux)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# Or, if you prefer the manual path:
git clone https://github.com/nousresearch/hermes-agent.git
cd hermes-agent
uv sync        # or: pip install -e .
hermes setup   # interactive wizard

Point it at Ollama

Hermes reads its provider config from ~/.hermes/config.yaml. Add an Ollama section:

providers:
  ollama-launch:
    type: openai          # Ollama is OpenAI-compatible
    base_url: http://127.0.0.1:11434/v1
    api_key: ollama       # any non-empty string; Ollama ignores it
    model: qwen2.5-coder:14b

default_provider: ollama-launch

First run

  1. Start Ollama in another terminal

    ollama serve — leave it running. Default port 11434.

  2. Pull a model

    ollama pull qwen2.5-coder:14b (or your pick — see the Ollama page).

  3. Start the Hermes gateway

    hermes gateway start. On first run it walks you through pairing a Telegram bot / Slack app / Discord webhook.

  4. DM your bot

    Send a message in the chat app you paired. The reply comes from your local model, served by Ollama, routed by the gateway.

Pro tip: Hermes has a TUI mode for terminal use — hermes chat drops you into a Claude-Code-style REPL against the same model. Great for quick questions when you don't want to open a chat app.

OpenClaw

OpenClaw — the personal-assistant flavor

OpenClaw's pitch is "the AI that actually does things." The install path is a single npm i -g and an openclaw onboard wizard. It does the same job as Hermes — chat-app gateway, skills, browser control, cron — but with a more opinionated default setup and a lighter config surface.

Install

# One-liner (installs Node if missing, then OpenClaw)
curl -fsSL https://openclaw.ai/install.sh | bash

# Or, the npm path:
npm i -g openclaw
openclaw onboard

Point it at Ollama

OpenClaw detects Ollama automatically if it's running on 127.0.0.1:11434. To pin a model and set defaults, edit ~/.openclaw/config.yaml:

providers:
  - name: ollama
    type: openai
    base_url: http://127.0.0.1:11434/v1
    api_key: ollama
    model: llama3.1:8b
    default: true

First run

  1. Start Ollama

    ollama serve in another terminal.

  2. Pull a model

    ollama pull llama3.1:8b for general chat, or qwen2.5-coder:14b for code-heavy work.

  3. Onboard

    openclaw onboard --install-daemon walks you through picking chat apps (Telegram, WhatsApp, Discord, Slack, iMessage) and pairs them.

  4. DM your lobster

    Yes, the mascot is a lobster. 🦞 Send a message — it executes against your local model.

Which one?

Picking between them

Pick Hermes if you want

  • Multi-agent routing with isolated sessions per workspace
  • The bigger config surface (custom skills, voice, image gen)
  • Built-in TUI for terminal-only use
  • A provider-agnostic setup that already supports dozens of model hosts
Honestly? You can run both. They use different config dirs and different ports. Pick the one whose docs you clicked first.