Skip to main content
D The Drew Archive One house, many rooms
  1. The Terminal/

Running Hermes Agent Alongside OpenClaw on My Mac Mini

How I configured Hermes Agent alongside OpenClaw on a Mac mini, with task-specific cloud models and a local Qwen model through Ollama.

RealmThe Terminal

TrailTechnology in Service of Independence

Reading modeEssay

Table of Contents

I recently installed Hermes Agent on my Mac mini, where I already run OpenClaw.

OpenClaw has been stable and reliable for my use cases. I can reach it through Telegram when I am away from my computer, ask it to work on hobby projects, and use it as an always-available agent hosted at home.

Lately, I have been hearing good things about Hermes. Some people even argue that it is becoming the better agent platform. Instead of replacing OpenClaw, I decided to run Hermes alongside it and compare the two through actual use.

My Setup
#

Hermes is running on a 2024 Mac mini with:

  • Apple M4
  • 16 GB of unified memory
  • Ollama for local models
  • OpenRouter for cloud models
  • Telegram as the remote interface

OpenClaw is running on the same machine. Each agent has its own Telegram bot, so I can use both without conflicts.

Hermes runs its messaging gateway as a background service. The bot remains available after I close Terminal and should start automatically after the Mac reboots.

Why I Chose OpenRouter
#

I am using OpenRouter as the main model provider for Hermes.

Instead of creating separate accounts and API keys for Anthropic, OpenAI, Google, xAI, DeepSeek, Qwen, and other providers, I can access a large catalog of models through a single API key.

Claude Sonnet 5 is my main model, but Hermes can route specific background tasks to other models. This was the part of the setup I found most interesting.

Using Different Models for Different Jobs
#

Hermes supports auxiliary model roles for tasks such as:

  • screenshot and image analysis
  • context compression
  • webpage summarization
  • command approval
  • tool selection
  • session-title generation
  • memory-search rewriting
  • project decomposition
  • skill review

Hermes can send all of these jobs to the main model, but that would be wasteful. Generating a session title does not require the same model as a difficult coding or research task.

I configured Hermes to route each job to a model that seemed appropriate:

Task Model
Main conversation and agent work Claude Sonnet 5
Vision and screenshots Qwen 3.7 Plus
Context compression MiniMax M3
Web extraction DeepSeek V4 Flash
Command approval Tencent Hy3
MCP tool reasoning Tencent Hy3
Title generation Local Qwen 3.5 4B
Memory-query rewriting Local Qwen 3.5 4B
TTS audio tags Gemini 3.5 Flash
Skills search Tencent Hy3
Task triage DeepSeek V4 Flash
Kanban decomposition GLM 5.2
Profile descriptions Local Qwen 3.5 4B
Skill review GLM 5.2

I am not particularly concerned with which company made a model. I want to balance quality, cost, and speed for each job.

I also prefer limited guardrails in the practical sense. I want an agent that follows instructions and completes legitimate tasks without unnecessary resistance.

That led me to use several Chinese models alongside Claude and Gemini. DeepSeek, Qwen, MiniMax, Tencent, and GLM each offered useful options for particular jobs at relatively low prices.

I will probably change this configuration as I spend more time with Hermes. The exact assignments matter less than the overall approach: use a strong model for the main agent and cheaper models for routine background work.

Running a Local Model with Ollama
#

The most enjoyable part of the setup was connecting Hermes to a model running locally on the Mac mini.

I already had Ollama installed, so I downloaded Qwen 3.5 4B:

ollama pull qwen3.5:4b

I then created a Hermes-specific version with a 64,000-token context window:

FROM qwen3.5:4b
PARAMETER num_ctx 64000

After saving that configuration as a Modelfile, I created the model:

ollama create qwen3.5-4b-hermes -f ~/qwen3.5-4b-hermes.Modelfile

Ollama exposes a local OpenAI-compatible API at:

http://localhost:11434/v1

I added that address to Hermes as a custom provider and selected:

qwen3.5-4b-hermes:latest

The local model does not replace Claude as the main agent. I use it for low-risk background work:

  • generating session titles
  • rewriting memory-search queries
  • creating profile descriptions

These tasks are short, frequent, and do not require a frontier model. Running them locally eliminates per-request API costs and keeps their contents on my machine.

I confirmed the setup by starting a new Telegram session and checking Hermes’ session list. Hermes generated an appropriate title using the local Qwen model.

What I Like About Hermes So Far
#

The setup process was more polished than I expected. Hermes provides guided configuration for:

  • model providers
  • auxiliary model routing
  • Telegram
  • browser automation
  • web search
  • image generation
  • text-to-speech
  • memory
  • scheduled jobs
  • terminal and file access
  • native computer control

Model routing is the standout feature for me. I do not have to choose one model and use it for everything. I can build a system in which several models handle the tasks that suit them.

Why I Am Keeping OpenClaw
#

OpenClaw has already proven itself. It has been stable, reliable, and useful, so I have no reason to remove it.

For now, I plan to compare the two agents by using them for:

  • remote coding tasks
  • browser automation
  • long-running work
  • memory
  • scheduled jobs
  • Telegram topic handling
  • reliability after reboots
  • API costs
  • local-model integration

Hermes may eventually take over more of the work I currently give to OpenClaw, but I want to see how it performs over time.

For now, my Mac mini is running two always-available agents. OpenClaw is the established and reliable system. Hermes is the newer experiment, with more elaborate model routing and a mix of cloud and local inference.

The question is no longer just which model is best. It is which model is best for each job, and whether that job needs to leave my Mac at all.

Where to go next

Keep moving through the archive

This piece works best as part of a larger path. Pick the next doorway that matches how you want to keep reading.

Follow the trail Technology in Service of Independence Move through the wider sequence this article belongs to and keep the thread intact. Stay in this realm The Terminal Browse more writing from this section if you want to keep exploring the same part of the archive. Read the adjacent piece Building a Hybrid AI Agent Setup with OpenClaw, Ollama, and a Local Qwen Model How I set up a hybrid OpenClaw workflow with Codex as the primary model and a LAN-accessible local Qwen model over Ollama for …

Keep exploring

Explore beyond this room

These are the closest nearby pieces in the archive, with extra weight given to the same realm and trail when possible.

The Terminal Essay

SearXNG

Why Drew self-hosted SearXNG as a private search engine instead of relying on proprietary search providers.

The Terminal Essay

Yarr

Why a self-hosted RSS reader still matters, and how Yarr fits into a more private, more intentional information system.

The Terminal Essay

Jitsi

A note on self-hosting Jitsi as a private video-conferencing alternative to centralized services like Zoom.

The Terminal Essay

RSS-Bridge

Why Drew set up RSS-Bridge for himself, and how it helps reconnect the web by generating feeds for sites that refuse to provide them.