> 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/hauptfunktionen/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. |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.augelab.com/german/hauptfunktionen/headless/command-line-interface.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
