Skip to content

docs(dashboard): document connecting Hermes Desktop to a remote backend - #38534

Merged
teknium1 merged 1 commit into
mainfrom
docs/desktop-remote-backend
Jun 3, 2026
Merged

docs(dashboard): document connecting Hermes Desktop to a remote backend#38534
teknium1 merged 1 commit into
mainfrom
docs/desktop-remote-backend

Conversation

@teknium1

@teknium1 teknium1 commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Documents how to connect Hermes Desktop to a remote dashboard backend — the missing piece behind the recurring "Desktop says the backend is ready but chat never works" reports.

Desktop's readiness probe only checks GET /api/status (public, answers as soon as any dashboard is up). The live chat rides a separate /api/ws socket gated by three things the probe never touches, and none of them were documented together.

Changes

  • website/docs/user-guide/features/web-dashboard.md: new "Connecting Hermes Desktop to a remote backend" section under Chat, plus a cross-link from the Chat section.

Covers the three independent failure modes, verified against the code in this repo:

  • 4403/api/ws + /api/pty close unless --tui / HERMES_DASHBOARD_TUI=1 (web_server.py _DASHBOARD_EMBEDDED_CHAT_ENABLED).
  • 4401 — token mismatch; _SESSION_TOKEN regenerates every restart unless HERMES_DASHBOARD_SESSION_TOKEN is pinned.
  • bind/Host guard — loopback bind rejects remote peers; use --host 0.0.0.0 --insecure, and the remote URL must match the bound Host.

Also documents the curl -H "X-Hermes-Session-Token: …" /api/config verification one-liner (REST uses the header, WS uses ?token=, both compare the same _SESSION_TOKEN), WS close-code triage, and a note that public binds use the OAuth gate instead of the session token.

Validation

Before After
Desktop remote-backend flow undocumented full section with setup, verify step, and close-code triage
--tui requirement for remote chat only in dashboard-flag table called out as failure mode #1
HERMES_DASHBOARD_SESSION_TOKEN pinning undocumented explained + systemd example

Docs-only. Intra-page anchors (#oauth-authentication-gated-mode, #connecting-hermes-desktop-to-a-remote-backend) verified to resolve to existing headings. MDX is standard admonitions + fenced blocks.

Context: surfaced from a Discord thread where three people hit three different failure modes for the same symptom.

Infographic

hermes-desktop-remote-backend

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
@teknium1
teknium1 merged commit 63727f3 into main Jun 3, 2026
10 checks passed
@teknium1
teknium1 deleted the docs/desktop-remote-backend branch June 3, 2026 23:28
@alt-glitch alt-glitch added type/docs Documentation improvements comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have labels Jun 3, 2026
Yuki-14544869 pushed a commit to Yuki-14544869/hermes-agent that referenced this pull request Jun 4, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
davidgut1982 pushed a commit to davidgut1982/hermes-agent that referenced this pull request Jun 5, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
changman pushed a commit to changman/hermes-agent that referenced this pull request Jun 10, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
alt-glitch pushed a commit that referenced this pull request Jun 14, 2026
…nd (#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
kossteg pushed a commit to kossteg/hermes-agent that referenced this pull request Jun 16, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
T02200059 pushed a commit to T02200059/hermes-agent that referenced this pull request Jun 18, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
santhreal pushed a commit to santhreal/hermes-agent that referenced this pull request Jul 13, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
donbowman pushed a commit to donbowman/hermes-agent that referenced this pull request Jul 13, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
Gravezzz pushed a commit to Gravezzz/hermes-agent that referenced this pull request Jul 21, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
leewenjie pushed a commit to leewenjie/hermes-agent that referenced this pull request Aug 7, 2026
…nd (NousResearch#38534)

Desktop's readiness probe only checks GET /api/status (public), but the
live chat rides /api/ws, which is gated by --tui (4403), a matching
session token (4401), and a non-loopback bind. The web-dashboard doc
covered --tui and the OAuth gate but never the Desktop remote-connection
flow, so the three independent failure modes weren't documented together.

Adds a 'Connecting Hermes Desktop to a remote backend' section: pin
HERMES_DASHBOARD_SESSION_TOKEN, run with --host 0.0.0.0 --insecure --tui,
the curl token-verification one-liner, and WS close-code triage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have type/docs Documentation improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants