helios-remote/crates/client
Helios Agent 959a00ff8a
refactor: table-style display with live spinner (🔄/)
- Remove \t-based alignment (fixes emoji spacing inconsistencies)
- New display.rs module: table rows with dynamic terminal-width columns
- Columns: action_emoji | name (14ch) | payload (55%) | status_emoji | result (45%)
- cmd_start() prints 🔄 spinner, cmd_done() overwrites line in-place via ANSI cursor-up
- Payload and result truncated to column width with ellipsis
- Consistent 2-space gaps after every emoji (no tab stops)
- Add terminal_size crate for dynamic width (fallback: 120)
2026-03-05 19:47:39 +01:00
..
src refactor: table-style display with live spinner (🔄/) 2026-03-05 19:47:39 +01:00
build.rs feat: find-window, run, clipboard, label-routing, persistent session-id, exe icon 2026-03-03 15:19:54 +01:00
Cargo.toml refactor: table-style display with live spinner (🔄/) 2026-03-05 19:47:39 +01:00
README.md Add logo assets and update README 2026-03-02 18:16:05 +01:00

helios-client (Phase 2 — not yet implemented)

This crate will contain the Windows remote-control client for helios-remote.

Planned Features

  • Connects to the relay server via WebSocket (wss://)
  • Sends a Hello message on connect with an optional display label
  • Handles incoming ServerMessage commands:
    • ScreenshotRequest → captures the primary display (Windows GDI or windows-capture) and responds with base64 PNG
    • ExecRequest → runs a shell command in a persistent cmd.exe / PowerShell session and returns stdout/stderr/exit-code
    • ClickRequest → simulates a mouse click via SendInput Win32 API
    • TypeRequest → types text via SendInput (virtual key events)
  • Persistent shell session so cd C:\Users persists across exec calls
  • Auto-reconnect with exponential backoff
  • Configurable via environment variables or a client.toml config file

Planned Tech Stack

Crate Purpose
tokio Async runtime
tokio-tungstenite WebSocket client
serde_json Protocol serialization
windows / winapi Screen capture, mouse/keyboard input
base64 PNG encoding for screenshots

Build Target

cargo build --target x86_64-pc-windows-gnu

App Icon

The file assets/logo.ico in the repository root is the application icon intended for the Windows .exe. It can be embedded at compile time using a build script (e.g. via the winres crate).