Skip to content

Commit 372b18a

Browse files
outsourc-eAurora release bot
andauthored
docs(readme): bump to v2.3.0, drop MseeP badge, add Agent Pairing section (#389)
- Remove the MseeP.ai security badge - the crocodile mascot doesn't fit Workspace branding and Workspace isn't an MCP server (it's an agent UI), so the audit badge was confusing for users skimming the readme. - Bump the visible version badge from 2.1.3 to 2.3.0 to match the actual shipped version. - Add a dedicated 'Pair an Agent with the Workspace' section between the install paths and Docker, covering: - Architecture diagram (which service does what on which port) - Three-command pairing workflow - Verify-pairing curl checks - .env reference table - Common pairing scenarios (local, Tailscale/VPN, multi-profile, remote) - Live re-pairing without restart - Troubleshooting for the four most common pairing errors The previous readme split this information across the 'Already running hermes-agent? Attach the workspace to it' and 'Manual install' sections, which was hard to follow if your question was just 'how do I connect agent X to workspace Y'. Co-authored-by: Aurora release bot <release@outsourc-e.com>
1 parent 15fa9cd commit 372b18a

1 file changed

Lines changed: 69 additions & 3 deletions

File tree

README.md

Lines changed: 69 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/outsourc-e-hermes-workspace-badge.png)](https://mseep.ai/app/outsourc-e-hermes-workspace)
2-
31
<div align="center">
42

53
<img src="./public/claude-avatar.webp" alt="Hermes Workspace" width="80" style="border-radius: 16px" />
@@ -9,7 +7,7 @@
97

108
**Your AI agent's command center — chat, files, memory, skills, and terminal in one place.**
119

12-
[![Version](https://img.shields.io/badge/version-2.1.3-2557b7.svg)](CHANGELOG.md)
10+
[![Version](https://img.shields.io/badge/version-2.3.0-2557b7.svg)](CHANGELOG.md)
1311
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
1412
[![Node](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen.svg)](https://nodejs.org/)
1513
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-6366F1.svg)](CONTRIBUTING.md)
@@ -312,6 +310,74 @@ All workspace features unlock automatically once both services are reachable —
312310

313311
---
314312

313+
## 🤝 Pair an Agent with the Workspace
314+
315+
Workspace is the UI. **Hermes Agent** is the brain. They talk over two HTTP services on localhost (or any reachable network).
316+
317+
```
318+
┌───────────────┐ :8642 gateway ┌────────────────┐
319+
│ Workspace │ ─────────────────────▶ │ Hermes Agent │
320+
│ :3000 (UI) │ ◀───────────────────── │ CLI / brain │
321+
└───────────────┘ :9119 dashboard └────────────────┘
322+
```
323+
324+
### Two services, three commands
325+
326+
```bash
327+
hermes gateway run # terminal 1 · :8642 · chat, models, streaming, jobs
328+
hermes dashboard # terminal 2 · :9119 · sessions, skills, config, MCP
329+
cd ~/hermes-workspace && pnpm dev # terminal 3 · :3000 · the UI
330+
```
331+
332+
> **Tip:** `pnpm start:all` starts gateway + dashboard + workspace in one shot if you've installed via the one-liner.
333+
334+
### Verify the pairing
335+
336+
```bash
337+
curl http://127.0.0.1:8642/health # → {"status":"ok","platform":"hermes-agent"}
338+
curl http://127.0.0.1:9119/api/status # → {"status":"ok", ...}
339+
```
340+
341+
Both must return `200`. If either fails, the workspace will fall back to **portable mode** (chat works, sessions/skills/memory show "Not Available").
342+
343+
### `.env` settings the workspace cares about
344+
345+
```env
346+
# Required: where the gateway is
347+
HERMES_API_URL=http://127.0.0.1:8642
348+
349+
# Recommended: where the dashboard is (unlocks sessions/skills/config/MCP/jobs)
350+
HERMES_DASHBOARD_URL=http://127.0.0.1:9119
351+
352+
# Only if your gateway was started with API_SERVER_KEY=... — paste the same value:
353+
# HERMES_API_TOKEN=***
354+
355+
# Optional: password-protect the web UI itself
356+
# HERMES_PASSWORD=***
357+
```
358+
359+
### Common pairing scenarios
360+
361+
| Scenario | Set this |
362+
|---|---|
363+
| Workspace + gateway on the same machine | `HERMES_API_URL=http://127.0.0.1:8642`, `HERMES_DASHBOARD_URL=http://127.0.0.1:9119` |
364+
| Gateway on a remote server (Tailscale / VPN) | Set both URLs to the reachable IP (e.g. `http://100.x.y.z:8642`) and add `API_SERVER_HOST=0.0.0.0` to the gateway's `~/.hermes/.env` |
365+
| Already-running `hermes-agent` from upstream installer | Just set `HERMES_API_URL` + `HERMES_DASHBOARD_URL` and skip the one-liner installer |
366+
| Multiple agent profiles | Profiles live under `~/.hermes/profiles/<name>` — the dashboard switches between them at runtime; workspace follows automatically |
367+
368+
### Live re-pairing (no restart)
369+
370+
If you've already started the workspace, change either URL from **Settings → Connection** without restarting. Values persist to `~/.hermes/workspace-overrides.json` and gateway capabilities are reprobed on save.
371+
372+
### Troubleshooting
373+
374+
- **`Could not reach Hermes gateway on 8645, 8642, or 8643`** — gateway isn't running, or `HERMES_API_URL` points somewhere unreachable. Run `hermes gateway run` and re-check.
375+
- **Workspace shows "portable mode" / extended APIs missing** — dashboard isn't running. Start `hermes dashboard` in another terminal and refresh.
376+
- **`Unauthorized` on every API call** — gateway has `API_SERVER_KEY` set but workspace is missing `HERMES_API_TOKEN`. Match them.
377+
- **`Could not connect` from your phone over Tailscale** — gateway is bound to loopback. Set `API_SERVER_HOST=0.0.0.0` in `~/.hermes/.env` and restart it.
378+
379+
---
380+
315381
## 🐳 Docker Quickstart
316382

317383
[![Open in GitHub Codespaces](https://img.shields.io/badge/GitHub%20Codespaces-Open-181717?logo=github)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=outsourc-e/hermes-workspace)

0 commit comments

Comments
 (0)