helios-remote/crates/client/README.md
Helios 0b4a6de8ae
refactor: enforce device labels, unify screenshot, remove deprecated commands, session-id-less design
- Device labels: lowercase, no whitespace, only a-z 0-9 - _ (enforced at config time)
- Session IDs removed: device label is the sole identifier
- Routes changed: /sessions/:id → /devices/:label
- Removed commands: click, type, find-window, wait-for-window, label, old version, server-version
- Renamed: status → version (compares relay/remote.py/client commits)
- Unified screenshot: takes 'screen' or a window label as argument
- Windows listed with human-readable labels (same format as device labels)
- Single instance enforcement via PID lock file
- Removed input.rs (click/type functionality)
- All docs and code in English
- Protocol: Hello.label is now required (String, not Option<String>)
- Client auto-migrates invalid labels on startup
2026-03-06 01:55:28 +01:00

1.1 KiB

helios-client

Windows client for helios-remote. Connects to the relay server via WebSocket and executes commands.

Features

  • Full-screen and per-window screenshots
  • Shell command execution (persistent PowerShell session)
  • Window management (list, focus, maximize, minimize)
  • File upload/download
  • Clipboard get/set
  • Program launch (fire-and-forget)
  • User prompts (MessageBox)
  • Single instance enforcement (PID lock file)

Configuration

On first run, the client prompts for:

  • Relay URL (default: wss://remote.agent-helios.me/ws)
  • API Key
  • Device label — must be lowercase, no whitespace, only a-z 0-9 - _

Config is saved to %APPDATA%/helios-remote/config.toml.

Device Labels

The device label is the sole identifier for this machine. It must follow these rules:

  • Lowercase only
  • No whitespace
  • Only characters: a-z, 0-9, -, _

Examples: moritz_pc, work-desktop, gaming-rig

If an existing config has an invalid label, it will be automatically migrated on next startup.

Build

cargo build -p helios-client --release