Hermes3D logo

Hermes3D

Hermes3D is an open source 3D engine built on Hermes Agents for creating games, simulations, and high-performance 3D applications.

GitHub

What is it?

What it is

Hermes3D is a 3D virtual office for AI agents you run on your own infrastructure, providing a visualization and interaction layer for agent systems. It offers a live 3D office environment, a builder surface for editing layouts, and a gateway‑first architecture that keeps runtime state in the connected backend while the frontend stores UI preferences locally.

Why it exists

AI systems are hidden behind logs, dashboards, and terminal output. Hermes3D exists to make agent work visible in real time, enabling inspection, monitoring, and spatial interaction so AI systems become understandable through presence, motion, and shared workspace.

Who should use it

AI engineers, developers, and technical teams building or visualizing AI agent workflows

Who should avoid it

Non-technical users and those without Node.js or server setup experience

Stars over time

No change stars in the last 1 day

298298
Aug 30, 2026Aug 30, 2026

How it works

A quick walkthrough in plain English

How Hermes3D works

Step 1 of 3

You interact with it

Open Hermes3D, send a request, or connect it to your stack.

Features

3D virtual office environment for AI agents
Real-time agent collaboration visualization
2D pixel-art office view for low-power machines
GitHub and Jira integration for standups and PR reviews
QA pipeline and log monitoring within the workspace
Agent training gym for skill development
Janitor system for session reset and context cleanup
Multi-runtime support (Hermes, Custom, Demo, Local)
WebSocket gateway proxy architecture
Three.js/React Three Fiber 3D rendering engine
Phaser-based 2D pixel office and builder tools
Local Studio persistence for UI preferences
Voice reply integration via ElevenLabs
Spotify jukebox (SOUNDHERMES) integration

Advantages

  • Self-hosted infrastructure gives full data control
  • Immersive 3D visualization makes agent activity tangible
  • Dual 2D/3D rendering supports diverse hardware
  • Backend-neutral gateway protocol allows flexible integrations
  • Same-origin WebSocket proxy avoids CORS issues
  • Comprehensive documentation and troubleshooting guides
  • Active CI/CD with Docker publishing
  • MIT license encourages open collaboration
  • Supports Tailscale and SSH for secure remote setups
  • Modular architecture separates frontend from runtime backends

Disadvantages

  • Unofficial community project not affiliated with backend providers
  • Gateway secrets loaded into browser memory at runtime
  • Voice transcription not bundled (returns 501)
  • Local Spotify auth lacks refresh-token handling
  • Separate 3D and 2D office stacks increase maintenance
  • Requires Node.js 20+ and modern browser support
  • Limited to WebSocket-based gateway protocol
  • Production deployments need careful allowlist configuration
  • Multi-agent beta has known limitations
  • No built-in installation of upstream runtimes

Installation

cloud

Configure gateway URL and token in Studio; use Tailscale (`tailscale serve --yes --bg --https 443 http://127.0.0.1:18789`) or SSH tunneling (`ssh -L 18789:127.0.0.1:18789 user@host`) to connect remote gateways.

native

git clone <your-public-repo-url> hermes3d; cd hermes3d; npm install; cp .env.example .env; npm run dev. For Hermes backend: add `npm run hermes-adapter`. For demo mode: add `npm run demo-gateway`.

FAQ

How do I set up Hermes3D to work with a running Hermes API server and the bundled gateway adapter?

First ensure the Hermes API server is running (default http://localhost:8642). Then start the Hermes WebSocket adapter with `npm run hermes-adapter` and the dev server with `npm run dev`. In the Studio UI, choose the Hermes backend, set the gateway URL (e.g., ws://localhost:18789) and token, and connect.

What steps are required to run the built‑in demo gateway for local exploration without a real agent framework?

Run `npm run demo-gateway` to start the mock gateway, then `npm run dev` to launch the Studio dev server. Open http://localhost:3000, choose the Demo backend in the connect screen, and use the gateway address ws://localhost:18789 with the provided demo token.

How can I connect Hermes3D to a remote gateway using Tailscale or SSH?

On the remote gateway host, expose the gateway port (e.g., run `tailscale serve --yes --bg --https 443 http://127.0.0.1:18789` or create an SSH tunnel `ssh -L 18789:127.0.0.1:18789 user@<host>`). In Studio, configure the gateway URL to the Tailscale address (wss://<host>.ts.net) or use the local tunnel (ws://localhost:18789). Ensure the token matches the one configured on the gateway.

Which environment variables control the gateway URL and token that Studio uses?

Use `NEXT_PUBLIC_GATEWAY_URL` for a build‑time default gateway URL (requires `npm run build`), or `HERMES3D_GATEWAY_URL` and `HERMES3D_GATEWAY_TOKEN` for runtime defaults that take effect after a Studio restart. `STUDIO_ACCESS_TOKEN` is needed when Studio binds to a public host, and `UPSTREAM_ALLOWLIST`/`CUSTOM_RUNTIME_ALLOWLIST` restrict allowed upstream hosts.

Why does the Connect screen fail even though the UI loads, and how can I fix it?

Connect failures are usually due to incorrect upstream URL or token in Studio settings, or using wss:// against a non‑TLS endpoint. Verify the gateway URL and token, ensure the gateway uses wss:// when TLS is required, and check the error messages (e.g., EPROTO, INVALID_REQUEST). Updating the gateway or using the demo gateway can also resolve version mismatches.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for Hermes3D

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
Hermes3D | MushyBook