Zum Inhalt springen

Outbound Session Mirroring Refactor

Kennst du das? Du sendest eine Nachricht über ein Tool oder eine API, aber die Antwort landet in einem völlig falschen Thread. Oder noch schlimmer: Die Nachricht taucht gar nicht in der Historie auf, weil die Session beim ersten Kontakt nicht korrekt angelegt wurde.

Dieses Problem entsteht oft, wenn Outbound-Nachrichten in die aktuelle Agent-Session gespiegelt werden, statt in die Session des Ziel-Channels. Wir haben das Routing überarbeitet, damit deine Nachrichten immer dort landen, wo sie hingehören.

  • Core-System mit aktualisiertem Plugin-Channel-Routing
  • message-tool für Agent-Aktionen
  • Gateway für externe API-Sends
  • Installierte Extensions (z. B. Slack, Discord oder Telegram)

In nur wenigen Schritten stellst du sicher, dass deine Outbound-Nachrichten korrekt in den Ziel-Sessions gespiegelt werden:

  1. Nutze resolveOutboundSessionRoute in src/infra/outbound/outbound-session.ts. Diese Funktion baut den sessionKey via buildAgentSessionKey zusammen, indem sie dmScope und identityLinks einbezieht.
  2. Integriere ensureOutboundSessionEntry. Dies schreibt minimale MsgContext-Daten über recordSessionMetaFromInbound, falls noch keine Session existiert.
  3. Führe Nachrichten über runMessageAction aus. Der Target-sessionKey wird nun automatisch abgeleitet und an executeSendAction für das Mirroring übergeben.
  4. Beim Gateway-Send kannst du den sessionKey weglassen. Das System leitet ihn dann automatisch vom Target und dem Default Agent ab.
  • Problem: Voice-Calls nutzen das Format voice:<phone>, das nicht zum Standard-Mapping passt.
    • Lösung: Falls das message-tool Voice-Calls unterstützen soll, musst du hierfür aktuell noch ein explizites Mapping hinzufügen.
  • Problem: Die Session-Keys von BlueBubbles oder Mattermost matchen nicht.
    • Lösung: Prüfe die Normalisierung. Mattermost strippt jetzt das @ für DM-Keys, und BlueBubbles entfernt chat_* Präfixe, um mit Inbound-Keys übereinzustimmen.
  • Problem: Nachrichten in Telegram-Gruppen landen im falschen Topic.
    • Lösung: Das System nutzt jetzt buildTelegramGroupPeerId, um Topic-IDs korrekt auf chatId:topic:<id> zu mappen.
  • Problem: Case-Sensitivity bei Slack-Channels.
    • Lösung: Das Auto-Thread Mirroring vergleicht Channel-IDs jetzt Case-Insensitive. Stelle sicher, dass alle Session-Keys beim Schreiben in Lowercase normalisiert werden.

Du hast Fragen zum Setup? Nutze unseren AI Setup Assistant.

  • Slack Thread Session Keys
  • Telegram Topic Mapping
  • Discord DM Scoping
  • Gateway Server Methods
OpenClaw

OpenClaw Expert

Noch festgefahren?

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