Skip to content

Desktop: add first-class remote-client onboarding for existing Hermes instances #36970

Description

@hermes-jeffrolc

Feature Description

Add first-class remote-client onboarding to Hermes Desktop so a user can install the native app and connect it to an existing Hermes dashboard/TUI/API backend without bootstrapping a second local Hermes install.

Motivation

The current macOS Desktop installer flow appears local-first: launching the downloaded DMG shows a setup/bootstrap screen with an "Install Hermes" action. For users who already run Hermes on a server or service machine and only want a desktop client, this is confusing and makes remote mode feel unsupported even though the desktop code can connect to a remote backend when configured manually.

This matters for multi-device users who want:

  • Hermes running as one durable gateway/backend on a home server or service Mac.
  • A native desktop client on a laptop/workstation.
  • No duplicate local Hermes install, duplicate config, or accidental local bootstrap.

Proposed Solution

Add a visible Desktop startup path such as:

  1. "Use existing Hermes instance" / "Connect to remote Hermes"
  2. Prompt for:
    • Dashboard/backend URL
    • Session token/API token or pairing code
  3. Validate:
    • GET /api/status or equivalent health endpoint
    • WebSocket /api/ws connectivity when TUI/chat is enabled
  4. Persist the connection in Desktop app settings/keychain.
  5. If remote validation fails, show actionable errors instead of falling back to local install/repair.

A pairing flow would be even better:

  • Desktop shows a pairing code.
  • Existing Hermes gateway/dashboard approves it.
  • Desktop receives the correct URL/token securely.

Expected UX

The user should be able to download the native Desktop app, open it, choose "Connect to existing Hermes", enter or pair with their remote Hermes endpoint, and start using the desktop client.

Current Workaround

Remote mode appears possible through environment variables such as HERMES_DESKTOP_REMOTE_URL and HERMES_DESKTOP_REMOTE_TOKEN, but that is not discoverable or appropriate for normal users installing from a DMG.

Alternatives Considered

  • Use the web dashboard directly: works, but loses native desktop app affordances.
  • Run a second local Hermes install: not desired for users who already operate a central gateway/backend.
  • Manually launch the app with environment variables: workable for operators, not a product-quality onboarding path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havearea/configConfig system, migrations, profilescomp/desktopElectron desktop app (apps/desktop/*)type/featureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions