3 KiB
3 KiB
Skill: helios-remote
Steuere PCs die über den Helios Remote Relay-Server verbunden sind.
Wann nutzen
Wenn Moritz sagt, dass ich etwas auf einem verbundenen PC tun soll:
- "Mach auf meinem PC..."
- "Schau mal was auf dem Rechner läuft..."
- "Nimm einen Screenshot von..."
- "Klick auf..."
- Allgemein: Remote-Zugriff auf einen PC der gerade online ist
Setup
- Script:
skills/helios-remote/remote.py - Config:
skills/helios-remote/config.env(URL + API-Key, nicht ändern) - Abhängigkeit:
pip install requests(falls fehlt)
Label-Routing
session_id kann ein UUID oder ein Label-Name sein. Falls kein UUID, wird der Name in der Session-Liste nachgeschlagen:
python $SKILL_DIR/remote.py screenshot "Moritz PC" # sucht nach Label
Befehle
# Skill-Verzeichnis
SKILL_DIR=/home/moritz/.openclaw/workspace/skills/helios-remote
# Alle verbundenen Sessions anzeigen
python $SKILL_DIR/remote.py sessions
# Session benennen
python $SKILL_DIR/remote.py label <session_id> "Moritz-Laptop"
# Screenshot machen → /tmp/helios-remote-screenshot.png
python $SKILL_DIR/remote.py screenshot <session_id>
# Shell-Befehl ausführen
python $SKILL_DIR/remote.py exec <session_id> whoami
python $SKILL_DIR/remote.py exec <session_id> ls -la ~/Desktop
# Mausklick senden
python $SKILL_DIR/remote.py click <session_id> 960 540
# Text tippen
python $SKILL_DIR/remote.py type <session_id> "Hello World"
# Fenster auflisten
python $SKILL_DIR/remote.py windows <session_id>
# Fenster nach Titel suchen (case-insensitive substring)
python $SKILL_DIR/remote.py find-window <session_id> "chrome"
# Alle Fenster minimieren
python $SKILL_DIR/remote.py minimize-all <session_id>
# Fenster fokussieren / maximieren
python $SKILL_DIR/remote.py focus <session_id> <window_id>
python $SKILL_DIR/remote.py maximize <session_id> <window_id>
# Programm starten (fire-and-forget)
python $SKILL_DIR/remote.py run <session_id> notepad.exe
python $SKILL_DIR/remote.py run <session_id> "C:\Program Files\app.exe" --arg1
# Clipboard lesen / setzen
python $SKILL_DIR/remote.py clipboard-get <session_id>
python $SKILL_DIR/remote.py clipboard-set <session_id> "Text in die Zwischenablage"
# Datei hoch-/runterladen
python $SKILL_DIR/remote.py upload <session_id> /tmp/local.txt "C:\Users\User\Desktop\remote.txt"
python $SKILL_DIR/remote.py download <session_id> "C:\Users\User\file.txt" /tmp/downloaded.txt
Beispiel-Workflow
-
Sessions abfragen um die Session-ID zu finden:
python $SKILL_DIR/remote.py sessions→ Ausgabe z.B.:
a1b2c3d4-... [Moritz-Laptop] (Windows 11) -
Screenshot machen und anzeigen:
python $SKILL_DIR/remote.py screenshot a1b2c3d4-... # → /tmp/helios-remote-screenshot.pngDann mit
Readtool oder als Bild an Moritz senden. -
Etwas ausführen:
python $SKILL_DIR/remote.py exec a1b2c3d4-... tasklist
Fehlerbehandlung
Das Script gibt bei Fehlern immer aus:
- HTTP-Status + Reason
- Vollständige URL
- Response Body
Keine unklaren Fehlermeldungen - alles ist beschreibend.