Zum Inhalt springen

iMessage Integration mit OpenClaw (Legacy)

Du kennst das: Du willst einen Workflow automatisieren, aber die Plattform deiner Wahl bietet keine offizielle API. Besonders bei Messaging-Diensten, die tief in ein Betriebssystem integriert sind, landet man oft in einer Sackgasse aus Workarounds und instabilen Skripten.

Oft verbringt man mehr Zeit damit, die Umgebung zu bändigen, als den eigentlichen Bot zu bauen. Wenn du iMessage in dein System einbinden willst, ohne dich mit komplexen privaten APIs herumzuschlagen, ist eine CLI-basierte Integration meist der direkteste Weg.

  • Einen Mac, auf dem Messages angemeldet ist.
  • Das imsg CLI Tool.
  • Full Disk Access für den Prozess-Kontext (Zugriff auf die Messages DB).
  • Automation Permissions, um Nachrichten über Messages.app zu senden.

In fünf Minuten steht die Verbindung. Wir nutzen hier den direkten Pfad auf einem lokalen Mac.

Terminal-Fenster
brew install steipete/tap/imsg
imsg rpc --help

Erstelle oder ergänze deine Konfiguration in der json5-Datei:

{
channels: {
imessage: {
enabled: true,
cliPath: "/usr/local/bin/imsg",
dbPath: "/Users/<you>/Library/Messages/chat.db",
},
},
}
Terminal-Fenster
openclaw gateway

Standardmäßig nutzt OpenClaw die dmPolicy: pairing. Du musst die erste Verbindung manuell freigeben. Pairing-Anfragen laufen nach einer Stunde ab.

Terminal-Fenster
openclaw pairing list imessage
openclaw pairing approve imessage <CODE>

Da OpenClaw nur einen stdio-kompatiblen cliPath benötigt, kannst du imsg auch auf einem entfernten Mac ausführen. Ein einfacher Wrapper-Script reicht aus:

#!/usr/bin/env bash
exec ssh -T gateway-host imsg "$@"

In der Konfiguration sieht das dann so aus:

{
channels: {
imessage: {
enabled: true,
cliPath: "~/.openclaw/scripts/imsg-ssh",
remoteHost: "user@gateway-host", // Erforderlich für SCP-Downloads von Attachments
includeAttachments: true,
},
},
}

Permissions werden pro Prozess-Kontext vergeben. Wenn dein Gateway headless läuft (z. B. als LaunchAgent oder über SSH), solltest du einmalig einen interaktiven Befehl im selben Kontext ausführen, um die System-Prompts auszulösen:

Terminal-Fenster
imsg chats --limit 1
# oder
imsg send <handle> "test"

Prüfe die Binary und den RPC-Support mit diesen Befehlen:

Terminal-Fenster
imsg rpc --help
openclaw channels status --probe

Falls der Probe-Befehl meldet, dass RPC nicht unterstützt wird, musst du imsg aktualisieren.

Kontrolliere folgende Punkte:

  • channels.imessage.dmPolicy
  • channels.imessage.allowFrom
  • Pairing-Status via openclaw pairing list imessage

Prüfe diese Einstellungen:

  • channels.imessage.groupPolicy und groupAllowFrom
  • Die groups Allowlist
  • Deine Mention-Patterns unter agents.list[].groupChat.mentionPatterns (da iMessage keine nativen Mentions hat)

Starte ein interaktives Terminal in der GUI des betroffenen Users und führe dies aus:

Terminal-Fenster
imsg chats --limit 1
imsg send <handle> "test"

Bestätige danach in den Systemeinstellungen, dass Full Disk Access und Automation für den richtigen Prozess aktiv sind.

Hast du Fragen zum Setup oder brauchst Hilfe bei der Konfiguration? Unser AI Setup Assistant hilft dir direkt weiter.

OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.