Zum Inhalt springen
BeeuniBeeuni
Deutsch
Esc
↑↓navigieren↵öffnen⌘Jvorschau
Auf dieser Seite

Slack & Kanäle

Slack mit einem Projekt verbinden und Sitzungen über einen Kanal steuern.

Ein Channel verbindet eine Chatplattform mit einem Projekt. Eine Nachricht in einem verbundenen Channel startet eine Sitzung. Der Agent antwortet im selben Thread.

Live-Channels

Beeuni unterstützt derzeit vier Channel-Plattformen:

  • Slack — verbinde Slack mit einem Klick über die von Beeuni verwaltete App oder verwende dein eigenes Bot-Token.
  • Microsoft Teams — verbinde Teams über OAuth mit Zustimmung des Organisationsadministrators oder verwende deinen eigenen Azure Bot (experimentell; aktiviere die Funktion unter Settings → Feature flags).
  • E-Mail — ein auf AgentMail basierender Channel (experimentell; aktiviere die Funktion unter Settings → Feature flags).
  • Sprache — ein Echtzeit-Sprachkanal (experimentell; aktiviere die Funktion unter Settings → Feature flags). Sprich in Echtzeit mit einem Agenten.

Nur Slack und Microsoft Teams lassen sich über die CLI und das Dashboard verbinden. E-Mail und Sprache werden über das Dashboard verwaltet. Auf dieser Seite geht es um Slack. Für Teams gelten dieselben Regeln für Sitzungen, Identitätsverknüpfungen und Anmeldedaten.

So startet ein Channel eine Sitzung

Die erste Nachricht in einem Slack-Thread oder einer Teams-Unterhaltung erstellt eine Sitzung. Der Thread behält diese Sitzung bei, auch wenn die Sandbox beendet und fortgesetzt wird.

In einem Slack-Channel erreicht eine spätere Nachricht die Sitzung nur, wenn sie den Bot erwähnt. Nicht markierte Antworten sind für die Personen im Thread bestimmt. Der Agent liest sie beim nächsten Mal, wenn ihn jemand erwähnt. In einer Direktnachricht geht jede Nachricht an die Sitzung.

Wenn ein Slack-Workspace mit mehr als einem Projekt verbunden ist, wird bei der ersten Erwähnung eine Projektauswahl angezeigt.

Identitätsverknüpfung

Beeuni verknüpft jeden Chat-Absender mit einem Beeuni-Konto, bevor der Agent für diese Person läuft. Führe /beeuni login in Slack aus und folge dem Link, um dich anzumelden. Für Teams gilt dieselbe Voraussetzung. Ein nicht verknüpfter Absender wird aufgefordert, sein Konto zu verknüpfen, anstatt eine Sitzung zu starten.

Ein Anmeldelink kann einmal verwendet werden und läuft nach 10 Minuten ab. Ein Slack-Konto, das mit einem Beeuni-Konto verbunden ist, kann nicht mit einem anderen verbunden werden: Führe zuerst /beeuni logout aus. Wenn deine Organisation eine Zwei-Faktor-Authentifizierung verlangt, fordert Beeuni deinen zweiten Faktor an, bevor die Verbindung hergestellt wird. Der Chat läuft dann mit dem Faktor, mit dem du dich verbunden hast.

Jede Aktion wird mit dem verknüpften Konto der Person ausgeführt, die sie vorgenommen hat, und unterliegt der Projektrolle dieses Kontos. Kontoinhaber und Administratoren gelten als Projektmanager.

Aktion Wer darf sie ausführen?
Den Bot in einer neuen Nachricht oder in seinem Thread erwähnen Ein verknüpftes Konto mit Zugriff auf das Projekt, gemäß den Richtlinien des Channels
Einen Lauf stoppen Die Person, die die beantwortete Nachricht gesendet hat, oder alle Personen, die für diese Sitzung zugelassen wurden und das Projekt weiterhin nutzen dürfen
Das Projekt, den Agenten, das Modell oder die Richtlinie des Channels ändern Ein Projektmanager; in einer DM mit dem Bot jedes Projektmitglied
Bei einer Überprüfung handeln Ein Projektmanager
Einen Connector-Aufruf genehmigen oder ablehnen Ein Projektmanager oder die Person, die die Sitzung gestartet hat
Jemanden in einen owner_approval-Thread aufnehmen Der Sitzungsinhaber
link-bot Ein Projektmanager

Wo Anmeldedaten gespeichert werden

Das Bot-Token eines verbundenen Channels ist ein Connector-spezifisches Secret. Es wird nicht auf der Secrets-Seite des Projekts angezeigt. Beeuni fügt es niemals in eine Sandbox ein. Beeuni löst das Token serverseitig auf, wenn der Agent Chatnachrichten sendet oder liest.

Slack verbinden

Verbindung starten

Führe in der CLI Folgendes aus:

beeuni channels connect

Auf einem Host, auf dem die gemeinsame Slack-App eingerichtet ist (zum Beispiel Beeuni Cloud), wird ein Installationslink mit einem Klick ausgegeben. Öffne den Link und wähle den Workspace aus. Klicke auf Allow. Füge --wait hinzu, damit der Befehl so lange abfragt, bis die Installation abgeschlossen ist.

Öffne im Dashboard stattdessen die Channels-Seite des Projekts und verbinde Slack dort. Der Installationsablauf ist derselbe.

Eigene Slack-App verwenden

Um deine eigene Slack-App zu verwenden, führe beeuni channels manifest aus, um ein App-Manifest anzuzeigen. Erstelle die App unter api.slack.com/apps anhand dieses Manifests. Installiere die App in deinem Workspace. Führe anschließend Folgendes aus:

beeuni channels connect --manual --bot-token xoxb-... --signing-secret ...

Verbindung überprüfen

beeuni channels status

Führe beeuni channels disconnect aus, um die Verbindung zu entfernen. Alle Flags findest du in der CLI-Referenz.

Beim Verbinden von Slack wird für dich ein Eintrag channel Connector zu beeuni.yaml hinzugefügt. Du musst diesen Eintrag niemals selbst erstellen.

Slack verwenden

Erwähne den Bot mit einer Aufgabe in einem beliebigen Channel, dem er beigetreten ist, oder öffne eine Direktnachricht. Wie oben beschrieben, behält der Thread seine Sitzung bei. Erwähne den Bot in einem Channel-Thread erneut, um die Unterhaltung fortzusetzen. Bei einer bloßen Erwähnung ohne Aufgabe wirst du aufgefordert, eine Aufgabe hinzuzufügen, statt eine Sitzung zu starten.

Was der Agent lesen kann

Der Agent liest Slack über den Slack-Connector des Projekts (beeuni_slack oder den Befehl slack in der Sandbox). Jedes Projekt, das mit demselben Slack-Workspace verbunden ist, verwendet denselben Bot. Daher beschränkt Beeuni jeden Lesezugriff auf die Unterhaltungen des jeweiligen Projekts:

Unterhaltung Lesezugriff
Ein mit diesem Projekt verbundener Channel oder eine DM Erlaubt
Ein Thread, den eine Sitzung dieses Projekts in einem beliebigen Channel gestartet oder betreten hat Erlaubt
Ein Channel, eine DM oder ein Thread eines anderen Projekts Verweigert
Eine Unterhaltung, mit der kein Projekt verbunden ist Nur erlaubt, solange kein anderes Projekt mit dem Workspace verbunden ist

Bei einem verweigerten Lesezugriff antwortet 403 mit dem Grund conversation_not_in_project und einer Nachricht, die die Unterhaltung benennt. Um eine Unterhaltung zu lesen, mit der kein Projekt verbunden ist, musst du sie zuerst verbinden: Führe darin /beeuni switch aus und wähle dieses Projekt aus.

  • Im Channelverlauf werden die Nachrichten aus dem Thread eines anderen Projekts ausgelassen.
  • get_history und get_thread fügen jeder Nachricht, deren Verfasser Slack benennen kann, user_name neben der user-ID hinzu. Pro Lesevorgang werden bis zu 25 Personen benannt; ein Name, den Slack nicht innerhalb von 2 Sekunden zurückgibt, wird ausgelassen.
  • list_channels listet alle öffentlichen Channels sowie die privaten Channels und DMs auf, die der Agent lesen darf.
  • channel_info antwortet für jeden öffentlichen Channel. Für einen privaten Channel oder eine DM gilt die obige Tabelle.
  • file_info antwortet, wenn die Datei in einer Unterhaltung geteilt wurde, die der Agent lesen darf, oder in einem Thread dieses Projekts. slack download folgt derselben Regel: Wird eine Datei nur in der Unterhaltung eines anderen Projekts geteilt, lautet die Antwort 403. Ein Download ist auf 50 MB begrenzt und liefert 413 zurück.
  • search_messages wird nur ausgeführt, solange kein anderes Projekt mit dem Workspace verbunden ist, da eine Suche nicht auf die Unterhaltungen eines einzelnen Projekts beschränkt werden kann.
  • list_users, user_info und auth_test lesen das Workspace-Verzeichnis und sind nicht eingeschränkt.

Für Schreibzugriffe gilt eine eigene Regel (siehe unten).

Was der Agent posten kann

Posten, Dateien senden, bearbeiten, löschen, mit Reaktionen versehen, einem Channel beitreten und Threads zuordnen folgen einer Regel: Der Agent handelt niemals innerhalb des Channels oder Threads eines anderen Projekts.

Ziel Schreibzugriff
Ein Channel dieses Projekts oder ein Thread, den eine seiner Sitzungen gestartet oder betreten hat Erlaubt
Ein Channel, mit dem kein Projekt verbunden ist Erlaubt. Eine neue Nachricht startet den Thread dieses Projekts, daher kehrt eine Antwort, die den Bot erwähnt, zur Sitzung zurück
Eine Direktnachricht mit einer Person Erlaubt, auch wenn die DM dieser Person mit dem Bot zu einem anderen Projekt gehört
Ein Channel oder eine Gruppen-DM eines anderen Projekts Verweigert
Ein Thread eines anderen Projekts in einer beliebigen Unterhaltung Verweigert: keine Antwort, Bearbeitung, Löschung oder Reaktion

Bei einem verweigerten Schreibzugriff antwortet 403 mit dem Grund conversation_not_in_project und einer Nachricht, die die Unterhaltung benennt. Für slack send --file und slack bind-thread gilt dieselbe Regel.

channel muss die Unterhaltungs- oder Benutzer-ID sein, etwa C0123ABCD oder U0123ABCD, und kein Channelname. Slack veröffentlicht Beiträge anhand eines Namens, und ein Name lässt sich nicht anhand der Regel überprüfen. Wenn Slack dennoch eine Nachricht an einem anderen Ort als der geprüften Unterhaltung veröffentlicht, löscht Beeuni die Nachricht und verweigert den Beitrag.

Um in einem Channel zu posten, den ein anderes Projekt verwendet, führe darin /beeuni switch aus und wähle dieses Projekt aus, oder poste über dieses Projekt.

Sitzung mit Slash-Befehlen steuern

Gib diese Befehle in Slack als /beeuni <command> ein oder als normalen Text in einer DM. Slash-Befehle werden im Assistant-DM-Bereich nicht ausgeführt. Dort interpretiert Beeuni dieselben Wörter als normalen Text.

Befehl Funktion
login, logout Deine Slack-Identität verknüpfen oder die Verknüpfung aufheben
switch, unbind Diesen Channel erneut einem Projekt zuordnen oder die Zuordnung aufheben
projects Projekte auflisten, denen du den Channel zuordnen kannst
sessions Kürzlich in diesem Workspace gestartete Sitzungen auflisten
whoami Das Channel-Panel anzeigen: Projekt, Agent, Modell, Richtlinie und deine verknüpfte Identität
models Das Modell für diesen Channel auswählen — siehe Modelle und Schlüssel
agent <name>, model <id> Den Agenten oder das Modell für diesen Channel festlegen
policy <mode> Festlegen, wer hier Sitzungen starten kann
help Alle Befehle auflisten

policy akzeptiert project_open (Standard — jedes Projektmitglied, das den Bot erwähnt, erhält eine Sitzung), owner_approval oder owner_only. Dies ist eine Einstellung für eine einzelne Ressource auf einem Channel, keine Rolle. Sie gewährt keine Berechtigung, die durch die Rollenprüfung verweigert wird — siehe Konten und Zugriff.

Modelle und Schlüssel

/beeuni models listet alle Modelle auf, die du hier ausführen kannst, wie in der Modellauswahl im Web: Beeuni-Modelle und Modelle, die du über einen Provider-API-Schlüssel oder ein ChatGPT-Abonnement nutzt. Bei jedem Modell wird angegeben, wie es bezahlt wird. Eine lange Liste erscheint als Auswahlfeld, in das du tippen kannst. Wähle ein Modell aus oder gib /beeuni model <id> ein; mit /beeuni model default kehrst du zum Projektstandard zurück.

Welche Schlüssel verfügbar sind, hängt von der Unterhaltung ab:

  • Eine DM mit dem Bot — deine eigenen Schlüssel und dein ChatGPT-Abonnement sowie mit dem Projekt geteilte Schlüssel. Die Sitzungen darin sind nur für dich bestimmt.
  • Ein Channel oder eine Gruppen-DM — nur Schlüssel, die mit dem gesamten Projekt geteilt werden. Um ein Modell mit deinen eigenen Schlüsseln auszuführen, wähle es stattdessen in einer DM aus.

Ein Modell, das Schlüssel verwendet, nutzt alle Schlüssel, die du für seinen Provider verwenden darfst. Bei Ratenbegrenzungen werden sie abwechselnd verwendet. Das Modell des Channels wird für jeden neuen Thread verwendet; ein Thread behält das Modell bei, mit dem er gestartet wurde. Ein Modell, das ein Thread nicht mehr ausführen kann, wird für die betreffende Nachricht ersetzt, statt dass die Nachricht fehlschlägt. Siehe Provider-Schlüssel und Mitgliederzugriff.

Eine Folgefrage mit einem Bild wird mit einem Modell ausgeführt, das Bilder lesen kann. Wenn keines der verfügbaren Modelle dazu in der Lage ist, wird der Agent im Prompt darüber informiert: Er sagt, dass er das Bild nicht sehen kann, und bittet um den Text, statt zu raten.

Channel- und Personennamen

Slack sendet IDs wie C0123ABCD und U0123ABCD. Beeuni zeigt die Namen an, die Personen in Slack sehen, und behält die IDs für Aktionen bei.

Ort Anzeige
Die Channels-Seite, beeuni channels bindings #channel für einen öffentlichen oder privaten Channel, die Person für eine DM, die Mitglieder für eine Gruppen-DM
Eine Slack-Nachricht in einer Sitzung Der Name des Absenders und #channel
Eine slack send-Antwort in einer Sitzung #channel oder die Person bei einer DM
Der Sitzungstitel Erwähnungen wie in Slack angezeigt: @Beeuni, nicht <@U0123ABCD>
Der Prompt des Agenten Namen neben IDs: Sam Rivera (U0123ABCD), #general (C0123ABCD)
Die Planungsschritte des Agenten in Slack Eine Person als @Sam Rivera, ein Channel als #general. Ein Schritt benachrichtigt niemals jemanden
Eine Genehmigungskarte in Slack Ein Channel-Parameter als Channel-Link, dessen Name Slack anhand deines eigenen Zugriffs anzeigt. Ein Benutzerparameter mit dem Namen der Person

Ein Channel, den Slack nicht finden kann, wird als Nicht verfügbarer Channel angezeigt; seine ID bleibt erhalten. Das passiert, wenn der Channel gelöscht oder der Bot daraus entfernt wurde. Ein Name, den Slack nicht innerhalb von 2 Sekunden zurückgibt, wird in dieser Nachricht ausgelassen. Der Prompt enthält dann nur die IDs, und der Vorgang wartet nicht.

Genehmigungen

Wenn ein Agent vor dem Fortfahren eine menschliche Entscheidung benötigt, erstellt er einen Prüfeintrag. Wurde die Sitzung in diesem Thread gestartet, erscheint die Entscheidung hier als Karte mit Titel, Zusammenfassung, Risikostufe und den Optionen Genehmigen, Änderungen anfordern und Ablehnen.

Änderungen anfordern öffnet ein Feld, in dem du beschreiben kannst, was geändert werden soll. Deine Eingabe wird zusammen mit der Entscheidung gespeichert und an den Agenten weitergegeben, sodass er nicht ein zweites Mal fragen muss. Die Eingabe ist optional — lässt du das Feld leer, wird der Agent angewiesen nachzufragen. Genehmigen und Ablehnen bleiben Ein-Klick-Aktionen.

Um bei einer Überprüfung zu handeln, benötigst du ein verknüpftes Beeuni-Konto mit Schreibzugriff auf das Projekt.

Lauf stoppen

Während der Agent arbeitet, enthält seine Live-Nachricht eine Stoppen-Schaltfläche. Damit wird der Lauf in der Laufzeit beendet, nicht nur in der Nachricht — bleibt ein Lauf offen, wird die nächste Nachricht im Thread abgefangen, statt beantwortet zu werden.

Die Person, die die beantwortete Nachricht gesendet hat, kann den Lauf stoppen. Dasselbe gilt für alle, die für diese Sitzung zugelassen wurden, solange sie das Projekt weiterhin nutzen dürfen. Andere Personen im Channel können den Lauf nicht stoppen; sie erhalten eine private Nachricht mit einer entsprechenden Erklärung.

Was nicht funktioniert

  • Slash-Befehle werden im Assistant-DM-Bereich nicht ausgeführt. Gib dort /beeuni <command> stattdessen als normalen Text ein.
  • Andere Chatplattformen, darunter Telegram, werden derzeit nicht als Channels unterstützt. Nur Slack und Microsoft Teams lassen sich über die CLI und das Dashboard verbinden; E-Mail und Sprache werden über das Dashboard verbunden.

War diese Seite hilfreich?