Commit graph

50 commits

Author SHA1 Message Date
9f933b39e7
feat: move skill files to repo root 2026-03-03 17:32:26 +01:00
db3fa9f416
feat: file logging on client, logs command to fetch last N lines 2026-03-03 17:09:23 +01:00
23bbb5b603
fix(client): use instead of ✗ for errors 2026-03-03 17:02:20 +01:00
3aa78756a5
fix(client): use \t for consistent emoji alignment everywhere 2026-03-03 17:01:58 +01:00
e42ad48235
fix(remote.py): window_id as string in argparse for focus/maximize 2026-03-03 17:00:06 +01:00
0439c70a27
feat(remote.py): show own git commit in status command 2026-03-03 16:56:37 +01:00
6643a33570
feat: status command (relay+client sync), remove version from banner 2026-03-03 16:55:11 +01:00
d114c813fb
fix(client): remove → arrow before globe, use for ok log 2026-03-03 16:53:02 +01:00
9285dbbd49
fix(client): window screenshot via crop instead of PrintWindow, fix SW_MINIMIZE 2026-03-03 16:49:57 +01:00
92d3907ec7
fix(client): PrintWindow in Gdi not WindowsAndMessaging, clean up unused imports 2026-03-03 16:44:46 +01:00
efc9cab2c3
feat: window screenshot (PrintWindow), name-based window resolution 2026-03-03 16:39:23 +01:00
27b1ffc55b
fix(client): safe Unicode truncation via trunc(), fixes panic on non-ASCII chars 2026-03-03 16:35:20 +01:00
1823b6021a
fix(client): globe emoji before Connecting 2026-03-03 16:29:29 +01:00
314ebab5c9
fix(client): per-command emojis, remove separator line, fix admin line indent 2026-03-03 16:28:26 +01:00
20e97b932b
fix: test missing timeout_ms field, unused title warning 2026-03-03 16:20:23 +01:00
b86717f7dc
ci: auto-deploy server + client to VPS on every push to master 2026-03-03 16:16:46 +01:00
e00270550d
feat: wait-for-window command; add click guideline to SKILL.md 2026-03-03 16:12:32 +01:00
7ddaf5ddfe
docs: update README + SKILL.md with prompt, timeout, all current commands 2026-03-03 16:08:02 +01:00
537ed95a3c
feat: configurable exec timeout per request (--timeout flag, default 30s) 2026-03-03 16:05:29 +01:00
1c0af1693b
fix(client): remove dash separator before admin status in banner 2026-03-03 16:01:18 +01:00
4af2680078
fix(client): show ✗ on non-zero exit code instead of ✓ 2026-03-03 15:57:04 +01:00
72cf15a6e3
fix(client): enable ANSI processing explicitly for admin/elevated terminals 2026-03-03 15:49:55 +01:00
e0edf60461
feat: prompt command (MessageBox), admin status in banner 2026-03-03 15:44:27 +01:00
fdd2124da8
feat: add OpenClaw skill (remote.py + SKILL.md + config.env.example) 2026-03-03 15:39:33 +01:00
4bad20a24c
fix(client): filter invisible windows server-side, log shows real count 2026-03-03 15:35:58 +01:00
e942bbad58
fix(client): force-foreground with fake Alt key, filter visible-only windows 2026-03-03 15:29:14 +01:00
672676d3d7
feat: find-window, run, clipboard, label-routing, persistent session-id, exe icon 2026-03-03 15:19:54 +01:00
ef4ca0ccbb
fix(client): truncate long commands and output in log lines (max 60 chars) 2026-03-03 15:06:30 +01:00
ccf585f801
fix(client): use powershell -NoProfile as executor to prevent $PROFILE clear 2026-03-03 14:59:09 +01:00
0e8f2b11e8
fix(client): strip shell.rs to bare minimum - no chcp, no wrapper, just cmd /D /C 2026-03-03 14:58:11 +01:00
07d758a631
fix(client): use cmd /D to disable AutoRun, prevents terminal clear on each command 2026-03-03 14:51:31 +01:00
18e844033a
fix(client): remove broken catch_unwind, tokio task isolation is sufficient 2026-03-03 14:43:55 +01:00
a43c5c3197
fix(client): per-process execution, UTF-8 lossy decode, panic isolation 2026-03-03 14:40:21 +01:00
fe1b385776
fix: use curl.exe for download in install.ps1 (more reliable on Windows 10+) 2026-03-03 14:30:53 +01:00
f7d29a98d3
feat: commit hash in banner, version command, file upload/download 2026-03-03 14:29:22 +01:00
cb86894369
fix: use WebClient instead of Invoke-WebRequest in install.ps1 (TLS compat) 2026-03-03 14:27:38 +01:00
346386db99
fix(client): use contains() for sentinel detection to fix Windows timeout
On Windows, cmd.exe echoes the full prompt before the command output,
so the sentinel line looks like:

  C:\Users\Moritz\Desktop>__HELIOS_DONE__0\r\n

starts_with(SENTINEL) never matched. Switching to contains() + finding
the sentinel position fixes detection on both Windows and Unix.
2026-03-03 14:17:56 +01:00
9e6878a93f
fix: flush stdout prompts in first-run config wizard
The prompt_config() function used print!() without flushing stdout,
causing all prompts to be buffered and invisible to the user. The
program appeared to hang silently after 'No config found — first-time
setup'.

Changes:
- Add std::io::stdout().flush().unwrap() after each print!() prompt
- Style prompts with cyan '→' prefix to match CLI conventions
- Show default values in square brackets for relay URL and label
- Use hostname() as default label (was previously Optional/None)
- Add blank line after prompts before '✓ Config saved'
2026-03-03 14:11:58 +01:00
e32e09996b
feat(client): modern CLI output + Windows exe icon
- Replace timestamp-based log macros with colored CLI output system
  using the `colored` crate
- Banner on startup: ☀ HELIOS REMOTE + separator line
- Colored prefixes: cyan → (status), green ✓ (ok), red ✗ (error),
  yellow  (incoming commands)
- Session info on connect: ✓ Connected · <label> · Session <id>
- No timestamps, no [CMD]/[OK]/[ERR] prefixes
- Suppress tracing output by default (RUST_LOG=off unless set)
- Add build.rs to embed logo.ico as Windows resource via winres
- Add winres as build-dependency in client Cargo.toml
2026-03-03 14:02:17 +01:00
1d019fa2b4
client: verbose CLI output, TOML config in APPDATA, desktop install
- install.ps1: place exe on Desktop instead of TEMP, start with visible window
- main.rs: banner on startup, [CMD]/[OK]/[ERR] prefixed logs with HH:MM:SS timestamps
- Config: switch from JSON to TOML (config.toml in %APPDATA%\helios-remote\)
- First-run wizard prompts for Relay URL + API Key (relay_code -> api_key)
- Add chrono + toml deps to Cargo.toml
2026-03-03 13:55:22 +01:00
6e044e3e05
ci: trigger release build 2026-03-03 03:35:14 +01:00
9f06d84f28
feat: add window management (list, minimize-all, focus, maximize) 2026-03-02 20:00:41 +01:00
c9643c8543
feat: WSS/HTTPS via Caddy TLS - client uses wss://remote.agent-helios.me 2026-03-02 18:45:44 +01:00
4c9f0a3239
feat: PowerShell oneliner install + rolling GitHub Release 2026-03-02 18:44:21 +01:00
04527ae1bf
feat(client): implement Windows client (Phase 2)
- Persistent shell session (cmd.exe) preserving cd state between commands
- Screenshot capture via Windows GDI (BGRA→RGBA→PNG→Base64)
- Mouse click via SendInput with absolute screen coordinates
- Text input via SendInput with Unicode (UTF-16) key events
- Auto-reconnect with exponential backoff (max 30s)
- Config stored in %APPDATA%/helios-remote/config.json
- All Windows APIs under #[cfg(windows)] for cross-compile safety
- CI: add Windows cross-compile job (x86_64-pc-windows-gnu) with artifact upload
2026-03-02 18:32:55 +01:00
c2ff818506
Update logo: use user-provided centered crop 2026-03-02 18:19:13 +01:00
a8a54028c3
Update logo: center sun properly 2026-03-02 18:17:13 +01:00
6fce2dcde8
Add logo assets and update README 2026-03-02 18:16:05 +01:00
5fb600aa6f
add logo to assets and README 2026-03-02 18:10:46 +01:00
7285a33cff
Initial implementation: relay server + common protocol + client stub 2026-03-02 18:03:46 +01:00