feat: rewrite remote.py as Rust CLI binary (crates/cli)
This commit is contained in:
parent
ba3b365f4e
commit
98b6fabef6
6 changed files with 815 additions and 45 deletions
44
README.md
44
README.md
|
|
@ -31,40 +31,40 @@ irm https://raw.githubusercontent.com/agent-helios/helios-remote/master/scripts/
|
|||
```
|
||||
AI Agent
|
||||
│
|
||||
▼ remote.py CLI
|
||||
▼ helios CLI
|
||||
helios-server ──WebSocket── helios-client (Windows)
|
||||
```
|
||||
|
||||
1. The **Windows client** connects to the relay server via WebSocket and registers with its device label.
|
||||
2. The **AI agent** uses `remote.py` to issue commands — screenshots, shell commands, window management, file transfers.
|
||||
2. The **AI agent** uses `helios` to issue commands — screenshots, shell commands, window management, file transfers.
|
||||
3. The relay server forwards everything to the correct client and streams back responses.
|
||||
|
||||
Device labels are the sole identifier. Only one client instance can run per device.
|
||||
|
||||
---
|
||||
|
||||
## remote.py CLI
|
||||
## helios CLI
|
||||
|
||||
```bash
|
||||
python remote.py devices # list connected devices
|
||||
python remote.py screenshot <device> screen # full-screen screenshot → /tmp/helios-remote-screenshot.png
|
||||
python remote.py screenshot <device> <window_label> # screenshot a specific window
|
||||
python remote.py exec <device> <command...> # run shell command (PowerShell)
|
||||
python remote.py exec <device> --timeout 600 <command...> # with custom timeout (seconds)
|
||||
python remote.py windows <device> # list visible windows
|
||||
python remote.py focus <device> <window_label> # focus a window
|
||||
python remote.py maximize <device> <window_label> # maximize and focus a window
|
||||
python remote.py minimize-all <device> # minimize all windows
|
||||
python remote.py prompt <device> "Please click Save" # show MessageBox, blocks until user confirms
|
||||
python remote.py prompt <device> "message" --title "Title" # with custom dialog title
|
||||
python remote.py run <device> <program> [args...] # launch program (fire-and-forget)
|
||||
python remote.py clipboard-get <device> # get clipboard text
|
||||
python remote.py clipboard-set <device> <text> # set clipboard text
|
||||
python remote.py upload <device> <local> <remote> # upload file to device
|
||||
python remote.py download <device> <remote> <local> # download file from device
|
||||
python remote.py version <device> # compare relay/remote.py/client commits
|
||||
python remote.py logs <device> # fetch last 100 lines of client log
|
||||
python remote.py logs <device> --lines 200 # custom line count
|
||||
helios devices # list connected devices
|
||||
helios screenshot <device> screen # full-screen screenshot → /tmp/helios-remote-screenshot.png
|
||||
helios screenshot <device> <window_label> # screenshot a specific window
|
||||
helios exec <device> <command...> # run shell command (PowerShell)
|
||||
helios exec <device> --timeout 600 <command...> # with custom timeout (seconds)
|
||||
helios windows <device> # list visible windows
|
||||
helios focus <device> <window_label> # focus a window
|
||||
helios maximize <device> <window_label> # maximize and focus a window
|
||||
helios minimize-all <device> # minimize all windows
|
||||
helios prompt <device> "Please click Save" # show MessageBox, blocks until user confirms
|
||||
helios prompt <device> "message" --title "Title" # with custom dialog title
|
||||
helios run <device> <program> [args...] # launch program (fire-and-forget)
|
||||
helios clipboard-get <device> # get clipboard text
|
||||
helios clipboard-set <device> <text> # set clipboard text
|
||||
helios upload <device> <local> <remote> # upload file to device
|
||||
helios download <device> <remote> <local> # download file from device
|
||||
helios version <device> # compare relay/helios/client commits
|
||||
helios logs <device> # fetch last 100 lines of client log
|
||||
helios logs <device> --lines 200 # custom line count
|
||||
```
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue