Running both OpenClaw and Hermes on a single VPS is one of the most powerful setups for multi-agent workflows. OpenClaw excels at structured orchestration and long-running tasks, while Hermes brings fast reasoning, a beautiful web UI, and advanced tool use. When they share the same filesystem and workspace, they can truly collaborate — passing files, memories, and tasks back and forth without any extra permission headaches.

This guide walks you through a complete, production-ready setup based on real-world experience.

Why Run Both Together?

Prerequisites

Step 1: Create a Dedicated User and Log In

sudo adduser user
sudo usermod -aG sudo user
su - user

All future commands in this guide are run as the user user.

Step 2: Install OpenClaw

Follow the official OpenClaw installation:

curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw/main/scripts/install.sh | bash

Set up your first Telegram bot for OpenClaw via @BotFather and run:

openclaw gateway setup

Step 3: Install Hermes in the Same User Account

Since both agents run as the same Linux user, they automatically share ~/ (including workspace, memories, skills, and tools).

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc

Step 4: Create a Separate Telegram Bot for Hermes

⚠️ Important

Never share the same bot token between OpenClaw and Hermes. They will conflict and cause errors.

  1. Open Telegram → @BotFather
  2. Send /newbot → create a new bot (e.g., MyHermesBot)
  3. Copy the new token

Then run:

hermes gateway setup

Select Telegram and paste the new token.

Step 5: Enable Open Access (for testing)

echo 'GATEWAY_ALLOW_ALL_USERS=true' >> ~/.hermes/.env

Step 6: Set Up SSH Tunneling

From your local machine, use this single SSH command to tunnel all the ports you need:

ssh -L 18789:localhost:18789 \\
    -L 9119:localhost:9119 \\
    -R 11434:localhost:11434 \\
    account@your-vps-ip
PortPurpose
-L 18789OpenClaw Web UI
-L 9119Hermes Web Dashboard
-R 11434Reverse tunnel so both agents can reach Ollama running on your local machine

Step 7: Configure Models in Hermes

Run:

hermes model

Option A: Cloud Model (Venice.ai example)

  1. Provider → Custom endpoint
  2. Base URL → https://api.venice.ai/api/v1
  3. API key → your Venice key
  4. Model → llama-3.3-70b (or qwen2.5-72b)

Option B: Local Ollama via Reverse Tunnel

  1. Base URL → http://localhost:11434/v1
  2. API key → leave blank
  3. Model → exact name of your pulled model (e.g., llama3.2:3b)

Step 8: Running Both Agents

Use tmux so both can run simultaneously:

tmux new -s agents

Inside tmux:

Split panes with Ctrl+B % (vertical) or Ctrl+B " (horizontal).

Step 9: Terminal Readability Fix (Hermes CLI)

If text is invisible in the terminal, type:

/skin mono

Or make it permanent:

hermes config set display.skin mono

Step 10: Collaboration Tips

Bonus: Systemd Services (Auto-Start on Boot)

Create two service files so everything survives reboots.

/etc/systemd/system/hermes-dashboard.service

[Unit]
Description=Hermes Dashboard
After=network.target

[Service]
User=user
WorkingDirectory=/home/user
ExecStart=/home/user/.local/bin/hermes dashboard
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

/etc/systemd/system/hermes-gateway.service

[Unit]
Description=Hermes Gateway
After=network.target

[Service]
User=user
WorkingDirectory=/home/user
ExecStart=/home/user/.local/bin/hermes gateway
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Then enable them:

sudo systemctl daemon-reload
sudo systemctl enable --now hermes-dashboard hermes-gateway

Common Troubleshooting

IssueFix
"terminated by other getUpdates"You used the same Telegram token — create separate bots
HTTP 400 "tools is not supported"Switch away from the 405B model on Venice
WebUI not loadingMake sure your SSH tunnel includes -L 9119:localhost:9119
API key errorsRe-run hermes model and paste the key again, then restart

Final Thoughts

Running OpenClaw and Hermes together on one VPS gives you an incredibly capable agent team with almost zero overhead. They share everything, talk to each other, and give you the best of both worlds — structured power from OpenClaw and fast, modern UX from Hermes.

Once set up, you'll wonder how you ever ran them separately.

💡 Pro Tip

Hermes has a built-in migration tool for OpenClaw users: hermes user migrate --dry-run to preview what would be imported, then hermes user migrate to import your SOUL.md, memories, skills, and API keys.

Happy building! Drop your questions in the comments below.