Skip to content

v1.3.0 - Hermes Desktop remote backend

Choose a tag to compare

@WolframRavenwolf WolframRavenwolf released this 19 Jul 00:34
· 6 commits to main since this release

Added

  • Add an opt-in Hermes Desktop remote backend on container port 9119 using the official hermes serve contract and the existing add-on access password.
  • Keep the Desktop backend disabled and its port unmapped by default; Home Assistant's Network settings choose the external host port.
  • Support the full remote Desktop backend surface, including profiles, sessions, HTTP APIs, cookie authentication, WebSocket tickets, PTY, and events.

Security

  • Require a non-blank access_password whenever the Desktop backend is enabled and fail closed before starting services when the requirement is not met.
  • Pass the plaintext password to the launcher through stdin only; it never appears in argv or exported environment, and only the derived hash reaches Hermes.
  • Document that authenticated Desktop access provides full agent control and must stay on a trusted LAN, VPN, or Tailscale path rather than the public internet.

Verified

  • 66 repository tests passed, with 1 expected skip because nginx is not installed in the local test environment.
  • Shell syntax, Python AST, YAML parsing, public-repository hygiene, and git diff --check passed.
  • The exact v1.3.0 candidate was freshly built and installed as an isolated Home Assistant add-on without changing the stopped production installation.
  • The installed backend required authentication, rejected unauthenticated profile access and a wrong password, established a cookie session, and exposed the default and worker profiles.
  • A single-use WebSocket ticket connected once and was rejected on reuse.
  • The codesign-verified Hermes Desktop app connected through its real cookie-authenticated remote path and reached the expected provider onboarding for the credential-free test profile.
  • The final Devin review on PR #30 completed on exact head 05b4ee7dc0887c992fbf46cf09d417e4e3c9ef09 with 0 bugs; all four analyses were independently verified and required no candidate changes.

Configuration

  1. Set enable_desktop_backend: true in the add-on options.
  2. Configure a non-blank access_password.
  3. Map container port 9119/tcp to a free Home Assistant host port in the add-on Network settings.
  4. Connect Hermes Desktop to http://<home-assistant-host>:<mapped-port> with username hermes and the configured access password.

Related