> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/wichtige-funktionen/headless/command-line-interface.md).

# Command Line Interface

Verwenden Sie das Kommandozeilenprogramm `studio`, um eine Lizenz zu verifizieren und gespeicherte `.pmod`-Szenarien auszuführen, ohne die Desktop-Anwendung zu öffnen.

Der sicherste Weg, das CLI aufzurufen, ist über das Python-Executable, in dem AugeLab Studio installiert ist:

```bash
python -m studio --help
```

Wenn Ihre Umgebung außerdem den Konsolenbefehl `studio` bereitstellt, funktioniert auch:

```bash
studio --help
```

## Bevor Sie beginnen

Sie benötigen:

* AugeLab Studio installiert.
* Ein gespeichertes `.pmod`-Szenario.
* Ihren AugeLab-Verifizierungscode, sofern die Maschine noch nicht aktiviert ist.
* Das Python-Executable aus der Umgebung, in der `studio` installiert ist.

{% hint style="info" %}
Verwenden Sie absolute Pfade, wenn Sie aus Diensten, geplanten Tasks, Docker oder SSH-Sitzungen arbeiten. Das verhindert, dass das falsche Python-Environment verwendet wird.
{% endhint %}

## Schritt 1: Python lokalisieren

### Windows

Wenn Sie mit dem AugeLab-Installer installiert haben, befindet sich das Python-Environment normalerweise hier:

```powershell
$py = "$env:USERPROFILE\studio_venv\Scripts\python.exe"
& $py -m studio --help
```

Wenn Sie manuell in ein Projekt-virtuelles Environment installiert haben, verweisen Sie stattdessen auf dieses Environment:

```powershell
$py = "C:\path\to\studio_venv\Scripts\python.exe"
& $py -m studio --help
```

Wenn `studio` auf `PATH` verfügbar ist, können Sie es direkt prüfen:

```powershell
studio --help
```

### Linux

Wenn Sie mit dem Linux-Installer installiert haben, befindet sich das Python-Environment normalerweise hier:

```bash
PY="$HOME/studio_venv/bin/python"
"$PY" -m studio --help
```

Wenn Sie manuell in ein Projekt-virtuelles Environment installiert haben, verweisen Sie stattdessen auf dieses Environment:

```bash
PY="/path/to/studio_venv/bin/python"
"$PY" -m studio --help
```

Wenn das virtuelle Environment bereits aktiviert ist:

```bash
python -m studio --help
```

### Docker

In den Docker-Beispielen führen Sie die Modul-Form aus:

```bash
python -m studio --help
```

## Schritt 2: Lizenz verifizieren

Führen Sie dies einmal pro Maschine oder Container-Image-Umgebung aus:

```powershell
& $py -m studio verify "YOUR_VERIFICATION_CODE"
```

Linux:

```bash
"$PY" -m studio verify "YOUR_VERIFICATION_CODE"
```

Erwartete Ausgabe:

```
Verification succeeded.
```

Härten Sie keine echten Verifizierungscodes in gemeinsam genutzten Skripten, Dockerfiles oder Git-Repositories. Verwenden Sie Umgebungsvariablen oder Secret-Management, wenn Sie Deployments automatisieren.

## Schritt 3: Szenario ausführen

Windows:

```powershell
& $py -m studio run "C:\path\to\scenario.pmod"
```

Linux:

```bash
"$PY" -m studio run /path/to/scenario.pmod
```

Der Befehl hält das Szenario am Laufen, bis das Szenario stoppt, fehlschlägt oder Sie es mit `Ctrl+C` unterbrechen.

{% hint style="warning" %}
Kopieren Sie den kompletten Projektordner, wenn ein Szenario externe Dateien wie Bilder, Modelle, Kalibrierungsdateien oder benutzerdefinierte Block-Assets verwendet. Bewahren Sie diese Dateien in denselben relativen Pfaden auf, die beim Speichern des Szenarios verwendet wurden.
{% endhint %}

## Häufige Run-Modi

Ein festes Zahl an abgeschlossenen Schritten ausführen:

```bash
"$PY" -m studio run scenario.pmod --step 10
```

Mit Web-Dashboard starten:

```bash
"$PY" -m studio run scenario.pmod --web --address 0.0.0.0 --port 8080
```

Restart-Supervision für unbeaufsichtigte Läufe verwenden:

```bash
"$PY" -m studio run scenario.pmod --on-fail restart --max-restarts 5 --restart-delay 3
```

Zeilengetrennte JSON-Events für Automatisierung ausgeben:

```bash
"$PY" -m studio run scenario.pmod --json
```

Laufzeit-Log-Verbosity ändern:

```bash
"$PY" -m studio run scenario.pmod --verbosity 20
```

Szenario-Ladefehler ignorieren, nur wenn Sie absichtlich mit fehlenden optionalen Ressourcen weiterlaufen möchten:

```bash
"$PY" -m studio run scenario.pmod --ignore-errors
```

{% hint style="warning" %}
`--step` kann nicht zusammen mit `--web` verwendet werden.
{% endhint %}

## Befehlsreferenz

| Command                                                                  | Zweck                                                                |
| ------------------------------------------------------------------------ | -------------------------------------------------------------------- |
| `python -m studio --help`                                                | Zeigt die übergeordnete CLI-Hilfe an.                                |
| `python -m studio verify CODE`                                           | Registriert einen Verifizierungscode für die aktuelle Maschine.      |
| `python -m studio run scenario.pmod`                                     | Führt ein gespeichertes Szenario kontinuierlich aus.                 |
| `python -m studio run scenario.pmod --step 10`                           | Führt ein gespeichertes Szenario für 10 abgeschlossene Schritte aus. |
| `python -m studio run scenario.pmod --web --address 0.0.0.0 --port 8080` | Startet mit dem Web-Dashboard.                                       |
| `python -m studio run scenario.pmod --on-fail restart --max-restarts 5`  | Startet fehlgeschlagene Läufe bis zu 5 Mal neu.                      |
| `python -m studio run scenario.pmod --json`                              | Gibt JSON-Lifecycle- und Ergebniseinträge aus.                       |

## Exit-Codes

| Code  | Bedeutung                                                 |
| ----- | --------------------------------------------------------- |
| `0`   | Erfolg.                                                   |
| `2`   | Kommandozeilen-Nutzungsfehler.                            |
| `3`   | Lizenzverifizierung oder Laden der Lizenz fehlgeschlagen. |
| `4`   | Szenario-Ladefehler.                                      |
| `5`   | Laufzeitfehler des Szenarios.                             |
| `6`   | Unerwarteter Absturz.                                     |
| `7`   | Start des Web-Dashboards fehlgeschlagen.                  |
| `8`   | Neustartversuche erschöpft.                               |
| `130` | Durch Benutzer unterbrochen.                              |

## Fehlerbehebung

| Symptom                      | Lösung                                                                                                                 |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `No module named studio`     | Verwenden Sie das Python-Executable aus dem Studio-virtuellen Environment.                                             |
| `studio` command not found   | Verwenden Sie `python -m studio` mit dem korrekten Python-Executable.                                                  |
| Scenario file not found      | Verwenden Sie einen absoluten `.pmod`-Pfad oder führen Sie den Befehl aus dem Projektordner aus.                       |
| License failure              | Führen Sie `studio verify` erneut aus und prüfen Sie den Verifizierungscode.                                           |
| Web dashboard does not start | Ändern Sie `--port` oder prüfen Sie Firewall- und Container-Port-Mappings.                                             |
| Scenario load failure        | Kopieren Sie fehlende Ressourcen mit der `.pmod` oder korrigieren Sie Pfade zu benutzerdefinierten Blöcken/Ressourcen. |
