---
description: "Runtimes sind die Daemon-Prozesse, die Ausführungen von Agenten durchführen. Du registrierst und steuerst sie selbst."
---

# Runtimes & Audit-Log

## Runtimes

Runtimes sind die Daemon-Prozesse, die Ausführungen von Agenten durchführen. Du registrierst und steuerst sie selbst — du behältst die volle Kontrolle darüber, wo Code und Daten verarbeitet werden.

![Runtime-Verwaltung](/documentation/blume-assets/content/docs/img/screenshots/08-runtimes.png)

### Runtime-Verwaltung

Die Seite **Runtimes** zeigt KPI-Kacheln und ein Karten-Raster:

- **Gesamt** — Alle registrierten Runtimes
- **Fehlerfrei** — Heartbeat aktuell, Kapazität verfügbar
- **Eingeschränkt** — Heartbeat aktuell, aber ausgelastet
- **Getrennt** — Kein Heartbeat seit mehr als 5 Minuten

### Runtime-Karten

Jede Karte zeigt:
- **Name** — Frei wählbarer Anzeigename
- **Typ** — Docker / Remote / Lokal
- **Status** — Badge Fehlerfrei / Eingeschränkt / Getrennt
- **Host** — Hostname oder Container-ID
- **Aktive Ausführungen** — Aktuell / Max
- **Letzter Heartbeat** — Relative Zeitangabe

![Runtime-Karte](/documentation/blume-assets/content/docs/img/screenshots/08-runtimes.png)

### Runtime-Details

Klicke auf eine Karte, um den Detaildialog zu öffnen:

![Runtime-Details](/documentation/blume-assets/content/docs/img/screenshots/08b-runtimes-available-models.png)

Tabs:
- **Identität** — ID, Typ, Host, Agent-Version
- **Zustand** — Aktive/max. Ausführungen, Heartbeat, Laufzeit, Registrierungsdatum
- **Verfügbare Modelle** — Vom Daemon ermittelte Modelle (über `PATCH /runtimes/{id}/models`)

### Eine Runtime registrieren

1. Seite **Runtimes** → **Runtime registrieren**
2. Das erzeugte Token kopieren
3. Den Daemon mit `AGENTHUB_TOKEN=<token>` starten

```bash
# Docker
docker run -d \
  -e AGENTHUB_SERVER_URL=http://your-ao:8082 \
  -e AGENTHUB_TOKEN=<token> \
  -v agenthub-workspaces:/root/agenthub_workspaces \
  simplifierag/miri:daemon

# Local
export AGENTHUB_SERVER_URL=http://your-ao:8082
export AGENTHUB_TOKEN=<token>
python3 agenthub_daemon.py start --foreground
```

### Filtern & Status

Symbolleiste: Statusfilter (Alle Status/Fehlerfrei/Eingeschränkt/Getrennt) + Schaltfläche **Aktualisieren**.

## Audit-Log

> **Enterprise-Edition.** Das Audit-Log gehört zur Enterprise-Edition; die Community-Edition zeigt es nicht an.

Vollständiges, nur anfügbares Protokoll jeder relevanten Aktion im Workspace.

![Audit-Log](/documentation/blume-assets/content/docs/img/screenshots/13-audit-log.png)

### Was protokolliert wird

| Kategorie | Beispiele |
|----------|----------|
| **Aufgaben** | Erstellt, zugewiesen, Statuswechsel, gelöscht |
| **Ausführungen** | Gestartet, abgeschlossen, fehlgeschlagen, abgebrochen |
| **Agenten** | Erstellt, aktualisiert, gelöscht, Skill-Zuweisungen |
| **Skills** | Erstellt, veröffentlicht, importiert, versioniert |
| **Projekte** | Erstellt, Git-Ziel konfiguriert, Auslieferungen |
| **Auslieferungen** | Freigegeben, abgelehnt, gepusht, Merge-Ergebnisse |
| **Mitglieder** | Hinzugefügt, Rolle geändert, entfernt |
| **Workspaces** | Erstellt, Einstellungen geändert, Anpassung von Bezeichnungen |
| **Runtimes** | Registriert, Heartbeat, Statuswechsel |
| **MCP-Server** | Erstellt, aktualisiert, aktiviert/deaktiviert |
| **Auth** | Login, Logout, SSO-Ereignisse (nur auf Instanzebene) |

### Filtern

Symbolleiste:
- **Suche** — Teilstring-Treffer in der Aktion
- **Akteur** — Benutzer / Agent / System / Runtime
- **Zeitraum** — Datumsauswahl Von / Bis
- **Filter zurücksetzen** — Alles zurücksetzen

### Ereignisdetails

Klicke in einer beliebigen Zeile auf **Details anzeigen** → Dialog mit dem vollständigen JSON:


Angezeigt werden:
- Zeitstempel, Akteur (ID + Typ), Aktion
- Ziel (ID + Typ)
- Das vollständige `details`-Objekt (was sich geändert hat, vorher/nachher)

### Eigenschaften

- **Nur anfügbar** — Kein Endpunkt kann vergangene Ereignisse bearbeiten oder löschen
- **Pro Workspace getrennt** — Administratoren sehen nur ihren Workspace
- **Durchsuchbar** — Nach Aktion, Akteur und Zeitraum
- **Unveränderbar** — Durch eine Datenbank-Constraint erzwungen

## Letzte Änderungen

- **Bereich „Verfügbare Modelle“** — Runtime-Details zeigen die vom Daemon ermittelten Modelle
- **Audit-Log-Filter** — Suche, Akteur, Zeitraum
- **Merge-Ergebnisse von Auslieferungen** — Das Audit-Log erfasst `merged`/`push_failed` mit Fehlergründen
