Skip to content
Hoh JDLatest guide
All guides

Give your AI agents a 3D office

Jump to a section

Hermes3D turns your Hermes agents into little characters in a 3D office. You can see who's working, who's idle, and what's on their Kanban board. It's free and open source.

Repo: https://github.com/iamlukethedev/Hermes3D (built by @iamlukethedev)

Setup takes about 10 minutes.

What you need

  • Hermes Agent installed and working (if hermes runs in your terminal, you're good)
  • Node.js 20 or newer
  • Git

The easy way: let Claude do it

Open Claude Code and paste this:

Set up Hermes3D for me from https://github.com/iamlukethedev/Hermes3D. I already have hermes-agent installed on this machine. Follow docs/hermes-agent-tailscale.md, but everything runs locally, so skip the Tailscale parts. Save a token as HERMES3D_OFFICE_TOKEN in ~/.hermes/.env, start hermes serve on 127.0.0.1 port 9120, start Hermes3D, then tell me exactly what to type into the connect screen.

Claude handles the rest. If you'd rather do it yourself, here are the 4 steps.

1. Make a token (once)

This is the password between Hermes and the office.

echo "HERMES3D_OFFICE_TOKEN=$(openssl rand -hex 32)" >> ~/.hermes/.env

2. Start Hermes for the office

HERMES_DASHBOARD_SESSION_TOKEN="$(grep '^HERMES3D_OFFICE_TOKEN=' ~/.hermes/.env | cut -d= -f2)" hermes serve --host 127.0.0.1 --port 9120 --skip-build

Leave this terminal open. Close it and the office goes offline.

3. Install and start Hermes3D

In a new terminal:

git clone https://github.com/iamlukethedev/Hermes3D.git
cd Hermes3D
npm install
cp .env.example .env
npm run dev

4. Connect

Open http://localhost:3000 and fill in the connect screen:

Field What to put
Backend Hermes Agent (direct)
Gateway URL ws://localhost:9120
Gateway Token Run grep HERMES3D_OFFICE_TOKEN ~/.hermes/.env and paste everything after the =

Hit connect. Each Hermes profile shows up as its own character, and the Kanban board works straight away.

If it doesn't work

  • Connects, then drops with a 403: the token doesn't match. Copy it again from ~/.hermes/.env.
  • Won't connect at all: the terminal from step 2 got closed. Run that command again.
  • Only one character: you have one Hermes profile. One profile = one agent in the office.

Two don'ts:

  • Don't save HERMES_DASHBOARD_SESSION_TOKEN in ~/.hermes/.env. It breaks the Hermes desktop app. Use the HERMES3D_OFFICE_TOKEN name from step 1.
  • Don't share your token. Anyone with it can talk to your agents.

Hermes running on another machine, like a Mac mini or a server? Follow docs/hermes-agent-tailscale.md in the repo.


Hermes3D is a community project, not an official Hermes product. All credit to @iamlukethedev.