helios-remote/skills/SKILL.md

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

  1. Sessions abfragen um die Session-ID zu finden:

    python $SKILL_DIR/remote.py sessions
    

    → Ausgabe z.B.: a1b2c3d4-... [Moritz-Laptop] (Windows 11)

  2. Screenshot machen und anzeigen:

    python $SKILL_DIR/remote.py screenshot a1b2c3d4-...
    # → /tmp/helios-remote-screenshot.png
    

    Dann mit Read tool oder als Bild an Moritz senden.

  3. 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.