Agent Runtime

OpenClaw nutzt eine eingebettete Agent Runtime, die auf pi-mono basiert.

Workspace (erforderlich)

OpenClaw verwendet ein einzelnes Agent-Workspace-Verzeichnis (agents.defaults.workspace) als einziges Arbeitsverzeichnis (cwd) für Tools und Kontext.

Wir empfehlen: Führe openclaw setup aus, um ~/.openclaw/openclaw.json zu erstellen (falls nicht vorhanden) und die Workspace-Dateien zu initialisieren.

Vollständiges Workspace-Layout + Backup-Anleitung: Agent Workspace

Wenn agents.defaults.sandbox aktiviert ist, können Nicht-Haupt-Sessions dies mit eigenen Workspaces unter agents.defaults.sandbox.workspaceRoot überschreiben (siehe Gateway-Konfiguration).

Bootstrap-Dateien (injiziert)

Im agents.defaults.workspace erwartet OpenClaw diese benutzerbearbeitbaren Dateien:

  • AGENTS.md — Betriebsanweisungen + “Gedächtnis”
  • SOUL.md — Persona, Grenzen, Tonfall
  • TOOLS.md — Benutzernotizen zu Tools (z.B. imsg, sag, Konventionen)
  • BOOTSTRAP.md — Einmaliges Erststart-Ritual (wird nach Abschluss gelöscht)
  • IDENTITY.md — Agent-Name/Stimmung/Emoji
  • USER.md — Benutzerprofil + bevorzugte Anrede

Beim ersten Turn einer neuen Session injiziert OpenClaw den Inhalt dieser Dateien direkt in den Agent-Kontext.

Leere Dateien werden übersprungen. Große Dateien werden gekürzt und mit einem Marker versehen, damit Prompts schlank bleiben (lies die Datei für den vollständigen Inhalt).

Wenn eine Datei fehlt, injiziert OpenClaw eine einzelne “missing file”-Markierungszeile (und openclaw setup erstellt ein sicheres Standard-Template).

BOOTSTRAP.md wird nur für einen brandneuen Workspace erstellt (keine anderen Bootstrap-Dateien vorhanden). Wenn du sie nach Abschluss des Rituals löschst, wird sie bei späteren Neustarts nicht neu erstellt.

Um die Bootstrap-Dateierstellung komplett zu deaktivieren (für vorkonfigurierte Workspaces), setze:

{ agent: { skipBootstrap: true } }

Eingebaute Tools

Core-Tools (read/exec/edit/write und verwandte System-Tools) sind immer verfügbar, abhängig von der Tool-Policy. apply_patch ist optional und wird durch tools.exec.applyPatch gesteuert. TOOLS.md kontrolliert nicht, welche Tools existieren; es ist eine Anleitung, wie du sie verwenden möchtest.

Skills

OpenClaw lädt Skills aus drei Orten (Workspace gewinnt bei Namenskonflikten):

  • Bundled (mit der Installation geliefert)
  • Managed/lokal: ~/.openclaw/skills
  • Workspace: <workspace>/skills

Skills können per Config/Env eingeschränkt werden (siehe skills in Gateway-Konfiguration).

pi-mono-Integration

OpenClaw verwendet Teile der pi-mono-Codebase (Models/Tools), aber Session-Management, Discovery und Tool-Wiring gehören OpenClaw.

  • Keine pi-coding Agent Runtime.
  • Keine ~/.pi/agent oder <workspace>/.pi Einstellungen werden berücksichtigt.

Sessions

Session-Transkripte werden als JSONL gespeichert unter:

  • ~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl

Die Session-ID ist stabil und wird von OpenClaw gewählt. Legacy Pi/Tau Session-Ordner werden nicht gelesen.

Steuerung während des Streamings

Wenn der Queue-Modus steer ist, werden eingehende Nachrichten in den aktuellen Run injiziert. Die Queue wird nach jedem Tool-Call geprüft; wenn eine Nachricht in der Queue ist, werden verbleibende Tool-Calls der aktuellen Assistant-Nachricht übersprungen (Error-Tool-Ergebnisse mit “Skipped due to queued user message.”), dann wird die User-Nachricht aus der Queue vor der nächsten Assistant-Antwort injiziert.

Wenn der Queue-Modus followup oder collect ist, werden eingehende Nachrichten gehalten, bis der aktuelle Turn endet, dann startet ein neuer Agent-Turn mit den Payloads aus der Queue. Siehe Queue für Modus + Debounce/Cap-Verhalten.

Block-Streaming sendet fertige Assistant-Blöcke, sobald sie abgeschlossen sind; es ist standardmäßig deaktiviert (agents.defaults.blockStreamingDefault: "off"). Steuere die Grenze über agents.defaults.blockStreamingBreak (text_end vs message_end; Standard ist text_end). Kontrolliere Soft-Block-Chunking mit agents.defaults.blockStreamingChunk (Standard: 800-1200 Zeichen; bevorzugt Absatzumbrüche, dann Zeilenumbrüche; Sätze zuletzt). Kombiniere gestreamte Chunks mit agents.defaults.blockStreamingCoalesce, um Einzelzeilen-Spam zu reduzieren (Idle-basiertes Merging vor dem Senden). Nicht-Telegram-Channels benötigen explizit *.blockStreaming: true, um Block-Replies zu aktivieren. Ausführliche Tool-Zusammenfassungen werden beim Tool-Start ausgegeben (kein Debounce); Control UI streamt Tool-Output über Agent-Events, wenn verfügbar. Mehr Details: Streaming + Chunking.

Model-Refs

Model-Refs in der Config (z.B. agents.defaults.model und agents.defaults.models) werden durch Aufteilen am ersten / geparst.

  • Verwende provider/model beim Konfigurieren von Models.
  • Wenn die Model-ID selbst / enthält (OpenRouter-Stil), füge das Provider-Präfix hinzu (Beispiel: openrouter/moonshotai/kimi-k2).
  • Wenn du den Provider weglässt, behandelt OpenClaw die Eingabe als Alias oder Model für den Standard-Provider (funktioniert nur, wenn kein / in der Model-ID ist).

Konfiguration (minimal)

Mindestens setzen:

  • agents.defaults.workspace
  • channels.whatsapp.allowFrom (dringend empfohlen)

Weiter: Gruppenchats