Guides

Einrichtung des persönlichen Assistenten

OpenClaw ist ein selbst gehostetes Gateway, das Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo und weitere Dienste mit KI-Agenten verbindet. Diese Anleitung behandelt die Einrichtung als „persönlicher Assistent“: eine dedizierte WhatsApp-Nummer, die sich wie Ihr jederzeit verfügbarer KI-Assistent verhält.

⚠️ Sicherheit zuerst

Sie versetzen einen Agenten in die Lage, Folgendes zu tun:

  • Befehle auf Ihrem Rechner ausführen (abhängig von Ihrer Tool-Richtlinie)
  • Dateien in Ihrem Workspace lesen/schreiben
  • Nachrichten über WhatsApp/Telegram/Discord/Mattermost und andere gebündelte Kanäle zurücksenden

Beginnen Sie konservativ:

  • Setzen Sie immer channels.whatsapp.allowFrom (führen Sie es auf Ihrem persönlichen Mac niemals offen für die ganze Welt aus).
  • Verwenden Sie eine dedizierte WhatsApp-Nummer für den Assistenten.
  • Heartbeats sind jetzt standardmäßig alle 30 Minuten aktiv. Deaktivieren Sie sie, bis Sie der Einrichtung vertrauen, indem Sie agents.defaults.heartbeat.every: "0m" setzen.

Voraussetzungen

  • OpenClaw installiert und eingerichtet – siehe Erste Schritte, falls Sie dies noch nicht getan haben
  • Eine zweite Telefonnummer (SIM/eSIM/Prepaid) für den Assistenten

Einrichtung mit zwei Telefonen (empfohlen)

Sie möchten Folgendes:

flowchart TB
    A["<b>Your Phone (personal)
</b>
Your WhatsApp
+1-555-YOU"] -- message --> B["<b>Second Phone (assistant)
</b>
Assistant WA
+1-555-ASSIST"]
    B -- linked via QR --> C["<b>Your Mac (openclaw)
</b>
AI agent"]

Wenn Sie Ihr persönliches WhatsApp mit OpenClaw verknüpfen, wird jede Nachricht an Sie zu „Agent-Eingabe“. Das ist selten das, was Sie möchten.

5-Minuten-Schnellstart

  1. WhatsApp Web koppeln (zeigt QR an; mit dem Assistenten-Telefon scannen):
openclaw channels login
  1. Gateway starten (laufen lassen):
openclaw gateway --port 18789
  1. Eine minimale Konfiguration in ~/.openclaw/openclaw.json ablegen:
{
  gateway: { mode: "local" },
  channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}

Senden Sie nun eine Nachricht von Ihrem zugelassenen Telefon an die Assistenten-Nummer.

Wenn das Onboarding abgeschlossen ist, öffnet OpenClaw automatisch das Dashboard und gibt einen sauberen (nicht tokenisierten) Link aus. Wenn das Dashboard zur Authentifizierung auffordert, fügen Sie das konfigurierte gemeinsame Secret in den Control-UI-Einstellungen ein. Onboarding verwendet standardmäßig ein Token (gateway.auth.token), aber Passwortauthentifizierung funktioniert ebenfalls, wenn Sie gateway.auth.mode auf password umgestellt haben. Später erneut öffnen: openclaw dashboard.

Dem Agenten einen Workspace geben (AGENTS)

OpenClaw liest Betriebsanweisungen und „Speicher“ aus seinem Workspace-Verzeichnis.

Standardmäßig verwendet OpenClaw ~/.openclaw/workspace als Agent-Workspace und erstellt ihn (plus Startdateien AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) automatisch bei der Einrichtung/beim ersten Agent-Lauf. BOOTSTRAP.md wird nur erstellt, wenn der Workspace völlig neu ist (sie sollte nicht wiederkommen, nachdem Sie sie gelöscht haben). MEMORY.md ist optional (wird nicht automatisch erstellt); wenn vorhanden, wird sie für normale Sitzungen geladen. Subagent-Sitzungen injizieren nur AGENTS.md und TOOLS.md.

openclaw setup

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

Optional: Wählen Sie mit agents.defaults.workspace einen anderen Workspace (unterstützt ~).

{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
    },
  },
}

Wenn Sie Ihre eigenen Workspace-Dateien bereits aus einem Repository bereitstellen, können Sie die Erstellung von Bootstrap-Dateien vollständig deaktivieren:

{
  agents: {
    defaults: {
      skipBootstrap: true,
    },
  },
}

Die Konfiguration, die daraus „einen Assistenten“ macht

OpenClaw hat standardmäßig eine gute Assistenten-Konfiguration, aber normalerweise möchten Sie Folgendes anpassen:

  • Persona/Anweisungen in SOUL.md
  • Denk-Standardeinstellungen (falls gewünscht)
  • Heartbeats (sobald Sie ihnen vertrauen)

Beispiel:

{
  logging: { level: "info" },
  agent: {
    model: "anthropic/claude-opus-4-6",
    workspace: "~/.openclaw/workspace",
    thinkingDefault: "high",
    timeoutSeconds: 1800,
    // Start with 0; enable later.
    heartbeat: { every: "0m" },
  },
  channels: {
    whatsapp: {
      allowFrom: ["+15555550123"],
      groups: {
        "*": { requireMention: true },
      },
    },
  },
  routing: {
    groupChat: {
      mentionPatterns: ["@openclaw", "openclaw"],
    },
  },
  session: {
    scope: "per-sender",
    resetTriggers: ["/new", "/reset"],
    reset: {
      mode: "daily",
      atHour: 4,
      idleMinutes: 10080,
    },
  },
}

Sitzungen und Speicher

  • Sitzungsdateien: ~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl
  • Sitzungsmetadaten (Token-Nutzung, letzte Route usw.): ~/.openclaw/agents/<agentId>/sessions/sessions.json (Legacy: ~/.openclaw/sessions/sessions.json)
  • /new oder /reset startet eine neue Sitzung für diesen Chat (konfigurierbar über resetTriggers). Wenn der Befehl allein gesendet wird, bestätigt OpenClaw das Zurücksetzen, ohne das Modell aufzurufen.
  • /compact [instructions] kompaktiert den Sitzungskontext und meldet das verbleibende Kontextbudget.

Heartbeats (proaktiver Modus)

Standardmäßig führt OpenClaw alle 30 Minuten einen Heartbeat mit diesem Prompt aus: Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK. Setzen Sie agents.defaults.heartbeat.every: "0m", um ihn zu deaktivieren.

  • Wenn HEARTBEAT.md existiert, aber praktisch leer ist (nur Leerzeilen und Markdown-Überschriften wie # Heading), überspringt OpenClaw den Heartbeat-Lauf, um API-Aufrufe zu sparen.
  • Wenn die Datei fehlt, läuft der Heartbeat trotzdem, und das Modell entscheidet, was zu tun ist.
  • Wenn der Agent mit HEARTBEAT_OK antwortet (optional mit kurzer Auffüllung; siehe agents.defaults.heartbeat.ackMaxChars), unterdrückt OpenClaw die ausgehende Zustellung für diesen Heartbeat.
  • Standardmäßig ist die Heartbeat-Zustellung an DM-ähnliche Ziele user:<id> erlaubt. Setzen Sie agents.defaults.heartbeat.directPolicy: "block", um die Zustellung an direkte Ziele zu unterdrücken, während Heartbeat-Läufe aktiv bleiben.
  • Heartbeats führen vollständige Agent-Turns aus – kürzere Intervalle verbrauchen mehr Tokens.
{
  agent: {
    heartbeat: { every: "30m" },
  },
}

Medien ein- und ausgehend

Eingehende Anhänge (Bilder/Audio/Dokumente) können Ihrem Befehl über Vorlagen bereitgestellt werden:

  • {{MediaPath}} (lokaler temporärer Dateipfad)
  • {{MediaUrl}} (Pseudo-URL)
  • {{Transcript}} (wenn Audio-Transkription aktiviert ist)

Ausgehende Anhänge vom Agenten: Fügen Sie MEDIA:<path-or-url> in einer eigenen Zeile ein (keine Leerzeichen). Beispiel:

Here's the screenshot.
MEDIA:https://example.com/screenshot.png

OpenClaw extrahiert diese und sendet sie zusammen mit dem Text als Medien.

Das Verhalten lokaler Pfade folgt demselben Dateilese-Vertrauensmodell wie der Agent:

  • Wenn tools.fs.workspaceOnly true ist, bleiben ausgehende lokale MEDIA:-Pfade auf das temporäre OpenClaw-Stammverzeichnis, den Medien-Cache, Agent-Workspace-Pfade und sandbox-generierte Dateien beschränkt.
  • Wenn tools.fs.workspaceOnly false ist, kann ausgehendes MEDIA: host-lokale Dateien verwenden, die der Agent bereits lesen darf.
  • Lokale Pfade können absolut, Workspace-relativ oder mit ~/ Home-relativ sein.
  • Host-lokale Sendungen erlauben weiterhin nur Medien und sichere Dokumenttypen (Bilder, Audio, Video, PDF und Office-Dokumente). Klartext- und secret-ähnliche Dateien werden nicht als sendbare Medien behandelt.

Das bedeutet, dass generierte Bilder/Dateien außerhalb des Workspace jetzt gesendet werden können, wenn Ihre Dateisystemrichtlinie diese Lesezugriffe bereits erlaubt, ohne beliebige Host-Textanhänge erneut für Exfiltration zu öffnen.

Betriebs-Checkliste

openclaw status          # local status (creds, sessions, queued events)
openclaw status --all    # full diagnosis (read-only, pasteable)
openclaw status --deep   # asks the gateway for a live health probe with channel probes when supported
openclaw health --json   # gateway health snapshot (WS; default can return a fresh cached snapshot)

Logs liegen unter /tmp/openclaw/ (Standard: openclaw-YYYY-MM-DD.log).

Nächste Schritte

Verwandt