helios-remote/skills/SKILL.md

3.2 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 X, tippe Y..."
  • 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)
  • SKILL_DIR=/home/moritz/.openclaw/workspace/skills/helios-remote

Wichtige Regeln

  • Vor destruktiven Aktionen (Wallpaper, Registry, Systemeinstellungen, Dateien löschen) immer erst den aktuellen Zustand lesen und merken!
  • Wallpaper auslesen: (Get-ItemProperty 'HKCU:\Control Panel\Desktop').WallPaper
  • Label-Routing: session_id kann UUID oder Label-Name sein → einfach "Moritz PC" verwenden

Befehle

SKILL_DIR=/home/moritz/.openclaw/workspace/skills/helios-remote

# Sessions
python $SKILL_DIR/remote.py sessions
python $SKILL_DIR/remote.py server-version
python $SKILL_DIR/remote.py version "Moritz PC"

# Screenshot → /tmp/helios-remote-screenshot.png
python $SKILL_DIR/remote.py screenshot "Moritz PC"

# Shell-Befehl (PowerShell, kein wrapper nötig)
python $SKILL_DIR/remote.py exec "Moritz PC" "Get-Process"
python $SKILL_DIR/remote.py exec "Moritz PC" "hostname"
# Mit längerer Timeout für Downloads etc. (default: 30s)
python $SKILL_DIR/remote.py exec "Moritz PC" --timeout 600 "Invoke-WebRequest -Uri https://... -OutFile C:\file.zip"

# Mausklick / Text tippen
python $SKILL_DIR/remote.py click "Moritz PC" 960 540
python $SKILL_DIR/remote.py type "Moritz PC" "Hello World"

# Fenster (nur sichtbare werden angezeigt)
python $SKILL_DIR/remote.py windows "Moritz PC"
python $SKILL_DIR/remote.py find-window "Moritz PC" "chrome"
python $SKILL_DIR/remote.py focus "Moritz PC" <window_id>
python $SKILL_DIR/remote.py maximize "Moritz PC" <window_id>
python $SKILL_DIR/remote.py minimize-all "Moritz PC"

# Programm starten (fire-and-forget)
python $SKILL_DIR/remote.py run "Moritz PC" notepad.exe

# User um etwas bitten (zeigt MessageBox, blockiert bis OK)
python $SKILL_DIR/remote.py prompt "Moritz PC" "Bitte klicke auf Speichern, dann OK"
python $SKILL_DIR/remote.py prompt "Moritz PC" "UAC-Dialog erscheint gleich - bitte bestätigen" --title "Aktion erforderlich"

# Clipboard
python $SKILL_DIR/remote.py clipboard-get "Moritz PC"
python $SKILL_DIR/remote.py clipboard-set "Moritz PC" "Text in Zwischenablage"

# Dateien hoch-/runterladen
python $SKILL_DIR/remote.py upload "Moritz PC" /tmp/local.txt "C:\Users\Moritz\Desktop\remote.txt"
python $SKILL_DIR/remote.py download "Moritz PC" "C:\Users\Moritz\file.txt" /tmp/downloaded.txt

# Label setzen
python $SKILL_DIR/remote.py label "Moritz PC" "Neues Label"

Typischer Workflow: UI-Aufgabe

  1. screenshot → Bildschirm anschauen
  2. find-window → Fenster-ID holen
  3. focus → Fenster in den Vordergrund
  4. exec / click / type → Aktion ausführen
  5. screenshot → Ergebnis prüfen

Wenn etwas geklickt werden muss das ich nicht finde

python $SKILL_DIR/remote.py prompt "Moritz PC" "Bitte klicke auf [X], dann drücke OK"

→ Warte auf ACK, dann weitermachen.