Slack-Diagramme, -Tabellen und -Freigaben in OpenClaw
Native Datenvisualisierungsblöcke und ihre Grenzen, die Regel von zwei Diagrammen pro Nachricht, native Datentabellen mit typisierten Zellen, der Text-Fallback, der nie Zeilen verliert, Plugin-eigene Modal-Übermittlungen sowie Slack-native Exec- und Plugin-Freigaben
Ein Diagramm in einer Slack-Nachricht bedeutete bisher, irgendwo ein Bild zu rendern und hochzuladen. Slack hat inzwischen native Block-Kit-Blöcke für Diagramme und Tabellen, und OpenClaw bildet seine portablen Präsentationsblöcke direkt darauf ab, wobei eine Textversion für alles mitläuft, was keinen Block darstellen kann. Hier sind die beiden nativen Blöcke mit ihren Grenzen und Fallbacks, der Modal-Pfad für Plugins und die Freigabe-Buttons, mit denen Slack als Freigabe-Client agieren kann.
Native Diagramme
- Der öffentliche Datenvisualisierungsblock von Slack rendert Linien-, Balken-, Flächen- und Kreisdiagramme in Nachrichten, und OpenClaw bildet den portablen Diagrammblock mit Diagrammtyp, Titel, Kategorien, benannten Reihen und optionaler Achsenbeschriftung auf diese native Form ab, ohne zusätzlichen OAuth-Scope, Datei-Upload, Bild-Renderer oder Slack-Konfiguration über den normalen Nachrichtenzugriff hinaus.
- Die Grenzen von Slack werden vor dem nativen Rendern durchgesetzt: Titel und Achsenbeschriftungen bis 50 Zeichen, ein bis zwölf positive Segmente für ein Kreisdiagramm, ein bis zwölf eindeutig benannte Reihen und ein bis zwanzig gemeinsame Kategorien für Linien-, Balken- und Flächendiagramme, Beschriftungen bis 20 Zeichen und ein endlicher Wert pro Kategorie in jeder Reihe, wobei negative Werte außerhalb von Kreisdiagrammen erlaubt sind.
- Jedes native Diagramm trägt eine Textdarstellung auf oberster Ebene für Screenreader, Benachrichtigungen, Sitzungs-Spiegelung und Clients, die den Block nicht rendern können, andere Kanäle erhalten dieselben deterministischen Diagrammdaten als Text, sofern sie keine native Diagrammunterstützung melden, und wenn Slack ein Diagramm mit einem Fehler wegen ungültiger Blöcke ablehnt, entfernt OpenClaw die abgelehnten Datenblöcke, behält benachbarte Steuerelemente bei und sendet das vollständige Diagramm als sichtbaren Text.
- Slack akzeptiert höchstens zwei Datenvisualisierungsblöcke pro Nachricht, eine Grenze, die seine öffentliche Referenz nicht dokumentiert; eine Präsentation mit mehr gültigen Diagrammen behält daher deren Reihenfolge bei und setzt das native Rendern in Folgenachrichten mit höchstens zwei pro Nachricht fort. Die Entwicklerankündigung beschreibt den Block als Funktion für Apps ohne Beschränkung auf kostenpflichtige Tarife, die Formulierung zu Business Plus und Enterprise gilt für die eigene KI-Diagrammerstellung von Slackbot, und Diagramme sind reine Nachrichtenblöcke, keine Inhalte für App Home, Modals oder Canvas.
Nur explizite Tabellenblöcke der Präsentation werden zu nativen Tabellen hochgestuft.
Native Tabellen
Der aktuelle Datentabellenblock von Slack rendert Zeilen und Spalten in Nachrichten, und OpenClaw bildet einen expliziten portablen Tabellenblock mit Beschriftung, Kopfzeilen, Zeilen und einem optionalen Spaltenindex für Zeilenköpfe darauf ab statt auf den alten Tabellenblock, auch hier ohne zusätzlichen Scope. Kopf- und Zeichenkettenzellen werden zu Rohtext-Zellen, numerische Zellen werden zu Rohzahl-Zellen, deren endlicher Wert für natives Sortieren und Filtern erhalten bleibt, und der Zeilenkopf-Index markiert diese nullbasierte Spalte als Slack-Zeilenköpfe. Zuerst werden die veröffentlichten Grenzen durchgesetzt: ein bis zwanzig Spalten, ein bis hundert Datenzeilen plus die Kopfzeile, dieselbe Anzahl von Zellen in jeder Zeile und höchstens zehntausend Zeichen insgesamt über alle Zellen einer Nachricht. Mehrere gültige Tabellen können nativ gerendert werden, solange die Nachricht innerhalb dieses Rahmens bleibt; eine Tabelle, bei der das nicht geht, wird stattdessen zu vollständigem deterministischem Text, statt Zeilen oder Zellen zu verlieren, Text, der über eine Nachricht hinausgeht, wird beim Senden und bei Slash-Antworten in geordneten Teilen verschickt, und eine Tabellenbearbeitung schlägt mit einem expliziten Größenfehler fehl, statt Zeilen in einer bestehenden Nachricht stillschweigend abzuschneiden. Jede native Tabelle trägt ebenfalls ihre Textdarstellung, rohe Diagramm- und Tabellenwerte bleiben im Fallback wörtlich erhalten, damit eine Benutzererwähnung in einer Zelle nicht zu einer echten Erwähnung wird, und wenn Slack native Diagramm- oder Tabellenblöcke ablehnt, entfernt OpenClaw in einem einzigen begrenzten Wiederherstellungsschritt alle nativen Datenblöcke, behält gültige Nachbarn wie Buttons und Auswahlfelder bei und sendet den vollständigen Text mit deaktivierter Slack-Formatierung; die Zustellung von Slash-Befehlen berücksichtigt das Antwortbudget von fünf Aufrufen bei Slack und wählt vor jedem Stapel einen vollständigen Plan, der in die verbleibenden Aufrufe passt. Nur explizite Tabellenblöcke der Präsentation werden hochgestuft, Markdown-Pipe-Tabellen bleiben verfasster Text, weil OpenClaw weder Struktur noch Zelltypen errät, vertrauenswürdige Slack-native Produzenten können weiterhin rohe Blöcke über die Kanaldaten durchreichen, mit einem aus gültigen Rohzellen abgeleiteten Fallback-Text, und eingefügte Tabellenkalkulationsinhalte, die als alter Tabellenblock ankommen, werden für Agenteneingabe, Thread-Kontext und Leseaktionen als trennzeichensicheres TSV dargestellt, wobei aus gewöhnlichen Anhängen nur native Tabellenblöcke zugelassen werden.
Modals und Freigaben
- Slack-Plugins mit einem interaktiven Handler können die Ereignisse zum Absenden und Schließen eines Modals empfangen, bevor OpenClaw die Payload verdichtet, indem sie die Callback-ID auf einen Namespace mit openclaw-Präfix und eine Payload setzen oder interaktive Plugin-Daten in die privaten Metadaten des Modals legen; der Handler erhält die Art der Interaktion, normalisierte Eingaben und die rohen State-Werte, das Routing über die Callback-ID allein ruft ihn bereits auf, die Routing-Felder für Benutzer und Sitzung in den privaten Metadaten sorgen dafür, dass das Modal zusätzlich ein für den Agenten sichtbares Ereignis erzeugt, und der Agent erhält ein kompaktes, geschwärztes Interaktionsereignis, das eine Zusammenfassung, eine Referenz und Daten vom Handler enthalten kann, ohne die vollständige Formular-Payload.
- Slack kann mit interaktiven Buttons als nativer Freigabe-Client agieren, statt auf die Web-UI oder das Terminal auszuweichen: Exec- und Plugin-Freigaben werden als Block-Kit-Abfragen gerendert, DMs zu Exec-Freigaben gehen an die konfigurierten Freigabeberechtigten oder die Befehlsinhaber, Plugin-Freigaben nutzen Slack-native Buttons, wenn Slack der native Client der auslösenden Sitzung ist oder wenn Plugin-Freigaben an eine Slack-Sitzung oder ein Slack-Ziel geleitet werden, wobei die Freigabeberechtigten aus der Zulassungsliste des Kanals, der Zulassungsliste eines benannten Kontos oder der Standardroute des Kontos stammen, und reine Exec-Freigabeberechtigte können keine Plugin-Anfragen freigeben, sofern sie nicht auch Plugin-Freigabeberechtigte sind.
- Der Konfigurationspfad ist der Block für Exec-Freigaben mit enabled, optionalen Freigabeberechtigten, die auf die Befehlsinhaber zurückfallen, einem Ziel dm, channel oder both mit dm als Standard sowie Agenten- und Sitzungs-Filtern; native Exec-Freigaben benötigen enabled auf true oder auto plus mindestens einen aufgelösten Freigabeberechtigten, bleibt es ungesetzt oder false, wird die native Exec-Zustellung deaktiviert, ohne native Plugin-Freigaben zu deaktivieren, die gemeinsame Exec- und Plugin-Weiterleitung bleibt getrennt und wird nur unterdrückt, wenn Slack die Anfrage nativ bearbeitet, der Freigabebefehl im selben Chat funktioniert weiterhin überall dort, wo Befehle funktionieren, und bei Enterprise Grid wird der validierte Workspace des auslösenden Ereignisses für die Abfrage, die DM, den Button-Callback und die abschließende Aktualisierung beibehalten, mit Fail-closed-Verhalten, wenn dem für die Organisation installierten Konto dieser Scope fehlt.
OpenClaw auf Slack ist der Kanal-Beitrag, den diese Oberflächen erweitern, und Slack-Nachrichtenverhalten in OpenClaw beschreibt das Karten- und Vorschaumodell, in das sie eingebettet sind.
Warum der Text immer mitläuft
Ein Diagramm, das nur als Block existiert, verschwindet aus Benachrichtigungen, Screenreadern und jedem anderen Kanal, in den die Sitzung gespiegelt wird; deshalb ist die deterministische Textversion nicht optional, und deshalb fällt ein abgelehnter Block auf diesen Text zurück statt auf nichts. Der Beitrag zu den Exec-Freigaben in OpenClaw behandelt das Freigabemodell, das diese Buttons steuern, und der Beitrag zu Rich Messages und Freigaben auf Telegram die entsprechenden Rich-Oberflächen auf Telegram.
Auf Diali
Slack ist einer der Kanäle, die Diali über das Dashboard verbindet, wobei die Laufzeitkonfiguration bei jedem Release generiert und ersetzt wird; Diagramme, Tabellen und Freigabeabfragen eines gehosteten Agenten verhalten sich also wie hier beschrieben, ohne dass Einstellungen von Hand bearbeitet werden müssen. Slack auf Diali ist der Kanal auf Diali und Sicherheit bei Diali die Grenze, die für jede Aktion gilt, die ein Bot ausführen kann.
- Zwei Diagramme pro Nachricht; weitere Diagramme weichen in Folgenachrichten aus.
- Eine Tabelle, die den Rahmen sprengt, wird zu vollständigem Text, nie zu weniger Zeilen.
- Freigabe-Buttons sind die primäre UX; der Freigabebefehl ist der Fallback.
Genug gelesen, bauen Sie selbst einen
Richten Sie einen Agenten ein, wählen Sie einen Kanal und lassen Sie ihn in der App arbeiten, die Sie ohnehin geöffnet haben.
