Hermes Agent Swarm turns the workspace into a live control plane: unlimited Hermes Agents, 1 orchestrator, 0 humans manually dispatching. Persistent tmux workers keep context across tasks, rotate safely, and report proof-bearing checkpoints. Role-based dispatch routes builders, reviewers, docs, research, ops, triage, QA, and lab lanes without turning Eric into the task router. A byte-verified review gate protects release branches before PRs ship. Autonomous PR/issue lanes, lab experiments, and the repair playbook keep the machine moving while humans handle judgment.
Start here: docs/swarm/
| Chat | Conductor |
|---|---|
![]() |
![]() |
| Dashboard | Memory |
|---|---|
![]() |
![]() |
| Terminal | Settings |
|---|---|
![]() |
![]() |
| Tasks | Jobs |
|---|---|
![]() |
![]() |
Three paths — pick the one that matches you:
| Path | Best for | Time |
|---|---|---|
| 🐳 Docker Compose | Self-hosters, home labs, "give me a compose gig" | ~2 min |
| 🌐 One-line install | Local dev on macOS/Linux | ~3 min |
🔌 Attach to existing hermes-agent |
You already run Hermes Agent | ~1 min |
curl -fsSL https://raw.githubusercontent.com/outsourc-e/hermes-workspace/main/install.sh | bash
This installs hermes-agent via Nous's official installer, clones this repo, sets up .env, and installs dependencies. Then:
hermes gateway run # terminal 1
cd ~/hermes-workspace && pnpm dev # terminal 2
Open http://localhost:3000. That's it.
hermes-agent? Attach the workspace to itIf you already have hermes-agent installed (via Nous's official installer, a source checkout, systemd, Docker, or another existing setup) and it's serving the gateway at http://<host>:8642, you don't need to reinstall anything — just point the workspace at it.
git clone https://github.com/outsourc-e/hermes-workspace.git
cd hermes-workspace
pnpm install
cp .env.example .env
# Point at your existing Hermes Agent services.
echo 'HERMES_API_URL=http://127.0.0.1:8642' >> .env
# Zero-fork installs also need the separate dashboard API for config/sessions/skills/jobs.
echo 'HERMES_DASHBOARD_URL=http://127.0.0.1:9119' >> .env
# If your gateway was started with API_SERVER_KEY (auth enabled), set the same value:
# echo 'HERMES_API_TOKEN=***' >> .env
pnpm dev # http://localhost:3000 (override with PORT=4000 pnpm dev)
Requirements on the agent side:
API_SERVER_HOST=0.0.0.0 + the port exposed).API_SERVER_ENABLED=true in ~/.hermes/.env (or the agent's env) so the gateway serves core APIs on :8642.hermes dashboard running (default http://127.0.0.1:9119) for zero-fork installs. The dashboard provides config, sessions, skills, and jobs APIs.API_SERVER_KEY is set, the workspace must pass the same value via HERMES_API_TOKEN — otherwise leave both unset.Verify both services before opening the workspace:
curl http://127.0.0.1:8642/health should return ok.curl http://127.0.0.1:9119/api/status should return dashboard metadata.curl http://127.0.0.1:3000/api/sessions (after the workspace boots) should return a sessions payload or an empty list.If /api/sessions is already returning data, do not start another gateway just because the UI still says Offline — refresh or reprobe the Workspace UI first.
If your default model is gpt-5.4 / openai-codex, make sure Codex CLI auth is live before testing chat:
codex login
Then start the workspace and complete onboarding — it should detect the gateway + dashboard pair and unlock the enhanced panes automatically.
If the workspace and its browser live on different machines — e.g. the workspace runs on a Pi/Mac/home server and you access it from your phone over Tailscale — point HERMES_API_URL at the reachable backend address, not 127.0.0.1:
# On the server running the workspace + gateway:
echo 'HERMES_API_URL=http://100.x.y.z:8642' >> .env
echo 'HERMES_DASHBOARD_URL=http://100.x.y.z:9119' >> .env
# Also tell the gateway to listen on all interfaces so Tailscale peers can reach it.
# In ~/.hermes/.env (or wherever the gateway reads config):
echo 'API_SERVER_HOST=0.0.0.0' >> ~/.hermes/.env
Then restart the gateway, dashboard, and workspace. Hit the workspace from the remote device and the connection probe will use the Tailscale IP instead of localhost. Both HERMES_API_URL and HERMES_DASHBOARD_URL must be set to Tailscale/LAN-reachable URLs — setting only one will leave the other probing 127.0.0.1 and failing.
If you've already started the workspace, you can update both URLs from Settings → Connection without restarting. The values are persisted to ~/.hermes/workspace-overrides.json and take effect immediately (gateway capabilities are reprobed on save). Editing .env still works for pre-start config and for CI/containers.
Hermes Workspace works with any OpenAI-compatible backend. If your backend also exposes Hermes Agent gateway APIs, enhanced features like sessions, memory, skills, and jobs unlock automatically.
Point Hermes Workspace at any backend that supports:
POST /v1/chat/completionsGET /v1/models recommendedExample Hermes Agent gateway setup (from scratch):
```bash
curl -fsSL htt
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|