Skip to content

[Feature]: Desktop Client-Only Installation #38602

Description

@diegohb

Problem or Use Case

Install Hermes Desktop as thin-client connecting to remote hermes installation.


The Reality

The desktop app is designed to always bootstrap the Hermes Agent runtime on first launch if no installation is found. 2 The bootstrap runner in electron/main.cjs automatically runs install.ps1 stages to install Python, Node, and other dependencies. 3

Remote Mode Workaround

If you set these environment variables before first launch, the desktop app will connect to a remote backend and skip the local backend spawn:

HERMES_DESKTOP_REMOTE_URL=https://your-remote-backend.com/hermes
HERMES_DESKTOP_REMOTE_TOKEN=your-session-token

When these are set, resolveRemoteBackend() returns a remote configuration and startHermes() connects to it immediately, never reaching the local backend code path. 4 1

Limitations

  • The Electron shell itself is still installed (that's the desktop app)
  • If you ever unset the environment variables, the app will attempt to bootstrap the local runtime on next launch
  • There's no official "client-only" build that excludes the bootstrap logic entirely

Notes

The bootstrap logic is in ensureRuntime() which only runs when backend.kind === 'bootstrap-needed' — meaning no usable local installation was found. 3 Remote mode via environment variables is the intended way to use the desktop app without a local backend, but it doesn't prevent the initial bootstrap attempt if the env vars aren't set before first launch.

Proposed Solution

Flag for installer that doesn't install or run server components.

Alternatives Considered

No response

Feature Type

Other

Scope

Small (single file, < 50 lines)

Contribution

  • I'd like to implement this myself and submit a PR

Debug Report (optional)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havearea/configConfig system, migrations, profilesarea/install-updateInstaller, updater, packaging, wheels, doctorcomp/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