Agent-Runtime 🤖

OpenClaw betreibt eine einzelne eingebettete Agent-Runtime, abgeleitet von pi-mono.

Workspace (erforderlich)

OpenClaw nutzt ein einzelnes Agent-Workspace-Verzeichnis (agents.defaults.workspace) als einziges Arbeitsverzeichnis (cwd) des Agenten fuer Tools und Kontext.

Empfohlen: Verwende openclaw setup, um ~/.openclaw/openclaw.json zu erstellen, falls es fehlt, und die Workspace-Dateien zu initialisieren.

Vollstaendiger Workspace-Aufbau und Backup-Anleitung: Agent-Workspace

Wenn agents.defaults.sandbox aktiviert ist, koennen Nicht-Hauptsitzungen dies mit pro-Sitzungs-Workspaces unter agents.defaults.sandbox.workspaceRoot ueberschreiben (siehe Gateway-Konfiguration).

Bootstrap-Dateien (injiziert)

Innerhalb von agents.defaults.workspace erwartet OpenClaw diese vom Nutzer bearbeitbaren Dateien:

  • AGENTS.md — Arbeitsanweisungen und “Gedaechtnis”
  • SOUL.md — Persona, Grenzen, Tonalitaet
  • TOOLS.md — nutzergepflegte Tool-Notizen (z.B. imsg, sag, Konventionen)
  • BOOTSTRAP.md — einmaliges Erststart-Ritual (wird nach Abschluss geloescht)
  • IDENTITY.md — Agentenname/Vibe/Emoji
  • USER.md — Nutzerprofil und bevorzugte Anrede

Beim ersten Turn einer neuen Sitzung injiziert OpenClaw den Inhalt dieser Dateien direkt in den Agentenkontext.

Leere Dateien werden uebersprungen. Grosse Dateien werden gekuerzt und mit einem Marker abgeschnitten, damit Prompts schlank bleiben (lies die Datei fuer den vollstaendigen Inhalt).

Wenn eine Datei fehlt, injiziert OpenClaw eine einzelne “fehlende Datei”-Markierungszeile (und openclaw setup erstellt eine sichere Standardvorlage).

BOOTSTRAP.md wird nur fuer einen brandneuen Workspace erstellt (keine anderen Bootstrap-Dateien vorhanden). Wenn du sie nach Abschluss des Rituals loeschst, sollte sie bei spaeteren Neustarts nicht neu erstellt werden.

Um die Bootstrap-Datei-Erstellung komplett zu deaktivieren (fuer vorbereitete Workspaces):

{ agent: { skipBootstrap: true } }

Eingebaute Tools

Kern-Tools (read/exec/edit/write und verwandte System-Tools) sind immer verfuegbar, vorbehaltlich der Tool-Policy. apply_patch ist optional und wird durch tools.exec.applyPatch gesteuert. TOOLS.md kontrolliert nicht, welche Tools existieren; es ist lediglich eine Anleitung, wie du sie einsetzen moechtest.

Skills

OpenClaw laedt Skills aus drei Quellen (Workspace gewinnt bei Namenskonflikten):

  • Mitgeliefert (mit der Installation ausgeliefert)
  • Verwaltet/lokal: ~/.openclaw/skills
  • Workspace: <workspace>/skills

Skills koennen ueber Config/Umgebung gesteuert werden (siehe skills in der Gateway-Konfiguration).

pi-mono-Integration

OpenClaw verwendet Teile der pi-mono-Codebasis (Models/Tools), aber Sitzungsverwaltung, Discovery und Tool-Verdrahtung gehoeren OpenClaw.

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

Sitzungen

Sitzungstranskripte werden als JSONL gespeichert unter:

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

Die Sitzungs-ID ist stabil und wird von OpenClaw vergeben. Legacy-Pi/Tau-Sitzungsordner werden nicht gelesen.

Steuerung waehrend des Streamings

Im Queue-Modus steer werden eingehende Nachrichten in den laufenden Durchlauf injiziert. Die Queue wird nach jedem Tool-Call geprueft; wenn eine Nachricht in der Queue liegt, werden verbleibende Tool-Calls der aktuellen Assistant-Nachricht uebersprungen (Fehler-Tool-Ergebnisse mit “Skipped due to queued user message.”), und die Nachricht aus der Queue wird vor der naechsten Assistant-Antwort injiziert.

Im Queue-Modus followup oder collect werden eingehende Nachrichten gehalten, bis der aktuelle Turn endet; dann startet ein neuer Agent-Turn mit den gepufferten Payloads. Siehe Queue fuer Modus- und Debounce/Cap-Verhalten.

Block-Streaming sendet abgeschlossene Assistant-Bloecke, sobald sie fertig sind; es ist standardmaessig deaktiviert (agents.defaults.blockStreamingDefault: "off"). Stelle die Grenze ueber agents.defaults.blockStreamingBreak ein (text_end vs message_end; Standard ist text_end). Steuere weiches Block-Chunking mit agents.defaults.blockStreamingChunk (Standard 800-1200 Zeichen; bevorzugt Absatzumbrueche, dann Zeilenumbrueche; Saetze zuletzt). Verschmelze gestreamte Chunks mit agents.defaults.blockStreamingCoalesce, um einzeiligen Spam zu reduzieren (Idle-basiertes Merging vor dem Senden). Nicht-Telegram-Kanaele brauchen explizites *.blockStreaming: true zur Aktivierung. Ausfuehrliche Tool-Zusammenfassungen werden beim Tool-Start ausgegeben (kein Debounce); die Control-UI streamt Tool-Output ueber Agent-Events, wenn verfuegbar. Mehr Details: Streaming und Chunking.

Model-Refs

Model-Refs in der Konfiguration (zum Beispiel agents.defaults.model und agents.defaults.models) werden durch Aufteilen am ersten / geparst.

  • Verwende provider/model bei der Modellkonfiguration.
  • Wenn die Modell-ID selbst / enthaelt (OpenRouter-Stil), fuege den Provider-Praefix hinzu (Beispiel: openrouter/moonshotai/kimi-k2).
  • Wenn du den Provider weglaeest, behandelt OpenClaw die Eingabe als Alias oder als Modell fuer den Standard-Provider (funktioniert nur, wenn kein / in der Modell-ID steht).

Konfiguration (minimal)

Setze mindestens:

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

Weiter: Gruppenchats 🦞