feat: add OpenClaw skill (remote.py + SKILL.md + config.env.example)

This commit is contained in:
Helios Agent 2026-03-03 15:39:33 +01:00
parent 4bad20a24c
commit fdd2124da8
No known key found for this signature in database
GPG key ID: C8259547CD8309B5
3 changed files with 527 additions and 0 deletions

106
skills/SKILL.md Normal file
View file

@ -0,0 +1,106 @@
# 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:
```bash
python $SKILL_DIR/remote.py screenshot "Moritz PC" # sucht nach Label
```
## Befehle
```bash
# 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:
```bash
python $SKILL_DIR/remote.py sessions
```
→ Ausgabe z.B.: `a1b2c3d4-... [Moritz-Laptop] (Windows 11)`
2. Screenshot machen und anzeigen:
```bash
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:
```bash
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.