docs(dashboard): document connecting Hermes Desktop to a remote backend - #38534
Merged
Conversation
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.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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/wssocket 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:
/api/ws+/api/ptyclose unless--tui/HERMES_DASHBOARD_TUI=1(web_server.py_DASHBOARD_EMBEDDED_CHAT_ENABLED)._SESSION_TOKENregenerates every restart unlessHERMES_DASHBOARD_SESSION_TOKENis pinned.--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/configverification 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
--tuirequirement for remote chatHERMES_DASHBOARD_SESSION_TOKENpinningDocs-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