Schaltzentrale und Messaging

Arbeiten mehrere Agenten, wollen Sie nicht jede Sitzung durchklicken, um zu erfahren, welche Sie braucht. Die Schaltzentrale ist eine Unterhaltung, die alle anderen im Blick behält. Sie sagt Ihnen, was arbeitet, was feststeckt und was auf Sie wartet. Sie trägt Ihre Antworten zur richtigen Sitzung, und sie startet, setzt fort oder legt Sitzungen weg, wenn Sie es verlangen.

Mit dem Messaging-Connector können Sie auch von Ihrem Telefon oder von Slack aus mit ihr sprechen.

Die Schaltzentrale

Der eigene Chat der Schaltzentrale auf der Bühne (Claude Code auf der Maschine Web app, Ordner ~/.bromure/switchboard): auf die Frage „Was läuft gerade in meinen Sitzungen?“ antwortet sie mit einem Punkt je Sitzung und einer Tabelle Sitzung / Maschine / Zustand, und bietet dann an, @checkout mit „Beides“ zu antworten. Die Zeile der Schaltzentrale ist oben in der Seitenleiste ausgewählt und liest „1 braucht Sie · 2 arbeiten · 2 bereit“.

Wo sie erscheint

Die Zeile Schaltzentrale sitzt oben in der Sitzungsliste, über den Räumen und Sitzungen. Sie erscheint, sobald zwei oder mehr Sitzungen unterwegs sind, das heißt startend, arbeitend, bereit oder auf Sie wartend. Pausierte, beendete oder archivierte Sitzungen zählen nicht. Die Zeile bleibt außerdem, solange die Schaltzentrale selbst beschäftigt ist oder Sie etwas fragt, damit sie nie mitten in einer Antwort verschwindet. Bei einer einzigen Sitzung sehen Sie schon das Einzige, was zählt, und die Zeile bleibt aus dem Weg.

  • Bevor die Schaltzentrale gestartet wurde, liest die Zeile „Fragen Sie alle Ihre Sitzungen auf einmal“. Ein Klick darauf startet die Schaltzentrale.
  • Läuft sie, gibt die Zeile eine Übersicht: „n brauchen Sie · n arbeiten · n bereit“. Ist nichts unterwegs, liest sie „Behält Ihre Sitzungen im Blick“.
  • In der eingeklappten Leiste ist die Schaltzentrale ein Zauberstab-Symbol oben, nach derselben Regel. Ihr Tooltip gibt dieselbe Übersicht, zum Beispiel „Schaltzentrale — 1 braucht Sie · 2 arbeiten“.

Klicken Sie die Zeile oder den Zauberstab, um die Unterhaltung der Schaltzentrale auf die Bühne zu bringen. Es ist ein Chat wie jeder andere: tippen Sie ihr, hängen Dateien an, scrollen zurück. Siehe Der Chat.

Was sie ist

Darunter ist die Schaltzentrale eine gewöhnliche Claude-Code-Sitzung mit einer besonderen Rolle:

  • Sie läuft in der Maschine, die Sie zuletzt genutzt haben (eine Maschine ist ein Arbeitsbereich, im Einstellungseditor). Haben Sie noch keine Sitzungen, läuft sie in der ersten Maschine.
  • Sie arbeitet im Ordner ~/.bromure/switchboard. Die CLAUDE.md dort ist ihr Briefing, bei jedem Start neu geschrieben.
  • Sie ist die einzige Sitzung mit dem MCP-Server bromure-switchboard (vsock-Port 5836). Der Host verweigert diese Werkzeuge jeder anderen Sitzung.
  • Sie schreibt keinen Code und ändert keine Dateien. Ihr Briefing sagt ihr, den Überblick zu behalten, Ihnen in wenigen Zeilen zu sagen, was wichtig ist, und Ihre Entscheidungen zu überbringen.

Beim Start begrüßt sie Sie mit einem kurzen Stand jeder Sitzung. Danach fragt sie nicht laufend nach. Passiert etwas, das ihre Aufmerksamkeit verdient, tippt der Host einen einzeiligen Hinweis in ihre Unterhaltung, beginnend mit [Switchboard]. Zum Beispiel: eine Sitzung braucht Sie seit einigen Sekunden, oder eine Sitzung, auf die sie gewirkt hat, ist fertig. Der Hinweis geht nur hinein, wenn ihre Eingabe frei ist, und höchstens alle 20 Sekunden. Die Schaltzentrale schaut dann, sagt Ihnen, was wichtig ist, und beendet ihren Zug.

Die Schaltzentrale wird nie automatisch archiviert. Archivieren Sie sie, oder stoppt ihr Agent, holt ein Klick auf die Zeile sie zurück.

Was sie kann

Das sind ihre Werkzeuge, aus dem MCP-Server bromure-switchboard:

WerkzeugWas es tut
list_sessionsListet jede Sitzung: ihr Kürzel (den @Spitznamen, oder eine kurze Ableitung des Titels), Maschine, Agent, Ordner, Zustand, letzte Aktivität, und das Letzte, was ihr Agent gesagt hat.
read_sessionZeigt die letzten Züge einer Sitzung, oder die letzten Zeilen ihres Terminals. Das Terminal zeigt Berechtigungsanfragen und Dialoge, die kein Transkript festhält.
pending_questionZeigt, worauf eine Sitzung wartet, die Sie braucht: ihre Frage mit numerierten Optionen, dazu ihren Bildschirm.
list_workspacesListet die Maschinen, in denen eine neue Sitzung laufen kann.
next_eventsZeigt, was seit dem letzten Blick passiert ist: gestartete Sitzungen, solche, die einen Zug beendeten, endeten oder Sie brauchen, und abgewiesene Modellaufrufe (falscher API-Schlüssel, oder kein Guthaben).
send_to_sessionTippt eine Nachricht in eine Sitzung, oder weckt damit eine schlafende Sitzung. Langer oder mehrzeiliger Text wird in einer Datei im ~/.bromure/inbox/ der Sitzung hinterlegt, mit einem einzeiligen Verweis.
answer_questionBeantwortet die offene Frage einer Sitzung: wählt eine numerierte Option, oder tippt eine freie Antwort.
press_keysDrückt Tasten an einer Eingabe, mit der answer_question nicht umgehen kann. Erlaubt sind nur 1 bis 12 aus Enter Escape Tab BTab Space BSpace Up Down Left Right C-c y n a 0–9.
start_sessionStartet eine neue Sitzung in einer Maschine, mit einer Eröffnungsnachricht und einer Agentenwahl (standardmäßig Claude Code), im genannten Ordner oder standardmäßig in einem neuen leeren Ordner für sich.
resume_sessionWeckt eine schlafende oder beendete Sitzung, wahlweise mit einer Nachricht.
archive_sessionLegt eine Sitzung weg.
message_userSchickt Ihnen eine Nachricht auf dem Kanal, von dem Sie zuletzt geschrieben haben (Signal, WhatsApp oder Slack). Ohne verbundenes Telefon oder Slack wird der Schaltzentrale gesagt, stattdessen in ihrer Unterhaltung zu antworten, und sie wird auf Arbeitsbereiche › Infrastruktur › Messaging-Connector… verwiesen.

Sie sprechen mit ihr in einfachen Worten: „was läuft?“, „sag @checkout, Option 2 zu nehmen“, „starte eine Codex-Sitzung in Payments API, um die Node-Version zu heben“, „archiviere den Lasttest“.

Weist ein Modellanbieter die Aufrufe einer Sitzung ab (HTTP 401, 402 oder 403), sagt die Schaltzentrale, welche Sitzung — oder mindestens welche Maschine — betroffen ist, damit Sie ihre Anmeldedaten richten können. Siehe Modelle und Anbieter. Eine wiederholte Abweisung wird je Maschine alle 10 Minuten einmal gemeldet.

Sicherheit: sie handelt nur auf Ihr Wort

Die Schaltzentrale liest die Ausgabe jeder Sitzung. Diese Ausgabe könnte Anweisungen enthalten, die in eine Webseite oder eine Datei gepflanzt wurden. Daher werden die Aktionen, die in Ihrem Namen sprechen, vom Host geprüft und nicht dem Urteil des Modells überlassen.

  • Geprüfte Aktionen: eine blockierte Sitzung beantworten, was answer_question, press_keys und send_to_session an eine Sitzung umfasst, die Sie braucht. Eine Sitzung zu archivieren wird ebenfalls geprüft.
  • Die Regel: jede davon muss Ihre eigenen Worte wörtlich zitieren, aus einer Nachricht, die Sie in den letzten 30 Minuten in die Unterhaltung der Schaltzentrale getippt haben. Der Host sucht das Zitat unter Ihren Nachrichten. Ihre eigenen [Switchboard]-Hinweise und das Eröffnungs-Briefing zählen nicht.
  • Gibt es keine Übereinstimmung, wird die Aktion abgelehnt, und die Schaltzentrale muss Sie erst fragen.

In der Praxis: Sie wird sagen „@checkout fragt, ob die Schaltfläche deaktiviert, ein Idempotenzschlüssel ergänzt, oder beides werden soll“, und warten. Sie antwortet erst, nachdem Sie „antworte @checkout beides“ gesagt haben.

Sie genehmigt nie eine Berechtigungsanfrage und beantwortet nie eine Frage, weil die Ausgabe einer anderen Sitzung es ihr gesagt hat.

STOP und RESUME

Senden Sie von einem verbundenen Telefon oder von Slack STOP (allein; Groß-/Kleinschreibung und ein führendes / sind unerheblich).

  • Der Host pausiert die Schaltzentrale sofort, bevor das Modell die Nachricht sieht. Er unterbricht ihren laufenden Zug und antwortet „Pausiert — ich handle auf keiner Sitzung. Senden Sie RESUME, um weiterzumachen.“
  • Pausiert werden ihre handelnden Werkzeuge verweigert: send_to_session, answer_question, press_keys, start_session, resume_session und archive_session. Sie kann weiterhin Sitzungen lesen und Ihre Fragen beantworten.
  • Die Pause gilt auch für die Schaltzentralen der Räume.
  • RESUME schaltet sie wieder ein („Fortgesetzt.“). Die Pause wird nicht gespeichert: sie endet auch, wenn Bromure neu startet.

Hinweis: STOP und RESUME werden nur behandelt, wenn sie vom Messaging-Connector kommen. In den Chat der Schaltzentrale auf dem Mac getippt sind sie gewöhnliche Nachrichten.

Raum-Schaltzentralen

Jeder Raum kann eine eigene Schaltzentrale haben, unter dem Raster des Raums angedockt. Sie arbeitet gleich, mit diesen Unterschieden:

  • Sie listet nur die Sitzungen des Raums und wird nur wegen ihnen geweckt.
  • Sie arbeitet in ~/.bromure/rooms/<raumname>.
  • Die Sitzungen, die sie startet, treten dem Raum bei.

Die globale Schaltzentrale in der Seitenleiste sieht weiterhin alles.

Der Messaging-Connector

Der Messaging-Connector verbindet die Schaltzentrale mit Signal, WhatsApp oder Slack. Wo Sie auch sind, können Sie fragen, was läuft, eine blockierte Sitzung beantworten, oder neue Arbeit starten:

  • „was läuft?“ bringt einen kurzen Stand, in Telefongröße.
  • „api 2“ beantwortet eine blockierte Sitzung. Beginnt eine Sitzung, Sie zu brauchen, und haben Sie zuletzt vom Telefon geschrieben, schickt die Schaltzentrale Ihnen die Frage Wort für Wort, mit numerierten Optionen und wie man antwortet.
  • „starte eine codex-Sitzung in infra, um das coturn-Image zu heben“ startet neue Arbeit.
  • STOP / RESUME pausieren und setzen sie fort, wie oben.

Ihre Nachrichten kommen in der Unterhaltung der Schaltzentrale als [Signal] …, [WhatsApp] … oder [Slack] … an. Die Schaltzentrale antwortet Ihnen auf dem Kanal, von dem Sie zuletzt geschrieben haben. Ihre Antworten beginnen mit „☎️ “. Läuft die Schaltzentrale nicht, startet Ihre Nachricht sie.

Das Fenster des Messaging-Connectors beim ersten Start: ein oranges BETA-Banner, das warnt, dass jeder, den Sie verbinden, mit der Schaltzentrale sprechen kann, der Titel „Messaging-Connector — Chatten Sie mit Bromure über Ihre Sitzungen von Signal, WhatsApp oder Slack.“, eine kurze Erklärung, und die Schaltfläche Connector einrichten.

Ihn einrichten

Öffnen Sie Arbeitsbereiche › Infrastruktur › Messaging-Connector…. Existiert der Connector, können Sie auch seine Zeile Nachrichten in der Seitenleiste nutzen.

Das Fenster trägt ein BETA-Banner: „Connectoren sind neu. Wer hier verbunden wird, kann mit der Schaltzentrale sprechen, die auf Ihren Sitzungen handeln kann — Bromure antwortet immer nur Ihnen, und STOP von jedem davon pausiert sie. Rechnen Sie mit Ecken und Kanten.“

Klicken Sie Connector einrichten. Bromure erstellt dafür eine kleine eigene Maschine, die „Isoliert auf diesem Mac läuft“. Sie ist eine verwaltete VM wie eine Registry, standardmäßig mit 512 MB Speicher. Hier laufen die Messaging-Dienste:

  • Signal (signal-cli-rest-api) und WhatsApp (GOWA), in Docker
  • Slack, über Socket Mode

Ihre Messaging-Schlüssel und Slack-Tokens liegen auf der Disk dieser Maschine und sonst nirgends.

Die Maschine des Connectors verhält sich wie jede andere verwaltete Maschine:

  • Mit Bromure starten ist standardmäßig an. Damit startet der Connector mit der App und wird beim Beenden angehalten.
  • Starten und Stoppen stehen im Fenster und auf seiner Zeile in der Seitenleiste.

Nur die Dienste, die Sie eingerichtet haben, laufen. Ein Dienst startet, wenn Sie sein Blatt Verbinden… öffnen, und ihn zu trennen stoppt ihn. Ein unbenutzter WhatsApp-Dienst bleibt nie im Leeren wählend zurück.

Klicken Sie dann Verbinden… auf dem gewünschten Kanal. Es ist verfügbar, sobald der Connector läuft. Sein Tooltip, „Warten, bis der Connector startet“, erklärt es, wenn nicht.

Signal und WhatsApp

Beide fragen, wo Sie mit Bromure chatten möchten.

Mit sich selbst chatten. Bromure wird ein verknüpftes Gerät Ihres eigenen Kontos, und Sie sprechen mit ihm in Ihrem eigenen Chat Notiz an mich (Note to Self) (Signal) oder Nachricht an dich (Message yourself) (WhatsApp).

  • Sonst ist nichts einzurichten. Scannen Sie den QR-Code vom Telefon:
    • Signal: Einstellungen › Verknüpfte Geräte › Neues Gerät verknüpfen
    • WhatsApp: Einstellungen › Verknüpfte Geräte › Gerät verknüpfen
  • WhatsApp bietet außerdem Stattdessen einen Kopplungscode verwenden. Geben Sie die Nummer des Kontos ein, klicken Code anfordern, und wählen dann auf dem Telefon Mit Telefonnummer verknüpfen und tippen den Code.
  • Antworten benachrichtigen Sie nicht. Signal und WhatsApp benachrichtigen nie über Ihren eigenen Chat, also öffnen Sie ihn, um sie zu sehen.
  • Nur dieser Chat erreicht die Schaltzentrale. Ein verknüpftes Gerät empfängt auch Ihre anderen Unterhaltungen, denn so funktioniert das Verknüpfen. Der Connector verwirft sie, und sein Protokoll hält nur fest, dass eine Nachricht ignoriert wurde, nie was sie sagte.

Mit einem Bromure-Kontakt chatten. Bromure nutzt ein zweites Konto und erscheint wie eine Person in Ihren Chats, sodass seine Antworten Sie benachrichtigen.

  • Signal braucht eine freie Telefonnummer, die eine SMS oder einen Anruf empfangen kann:

    1. Geben Sie Bromures Nummer — die freie (internationales Format) ein und klicken Code per SMS senden.
    2. Fragt Signal nach einem Captcha, klicken Sie Signals Captcha-Seite öffnen. Lösen Sie es, rechtsklicken Open Signal, kopieren den Link und fügen ihn ins Feld ein.
    3. Kommt keine SMS an (Festnetz, manche VoIP-Nummern), klicken Sie Lieber anrufen, und Signal liest den Code vor. Signal ruft nur eine Nummer an, der es zuerst eine SMS zu senden versucht hat, daher ist die Schaltfläche erst nach der SMS aktiv.
    4. Klicken Sie Ich habe den Code. Geben Sie den Code ein, und Ihre eigene Nummer — die einzige, der Bromure antworten wird. Klicken Sie Bestätigen.
  • WhatsApp: Bromure kann kein WhatsApp-Konto erstellen. Es verknüpft sich mit einem, das Sie für es einrichten:

    1. Besorgen Sie eine freie Nummer: eine zweite SIM oder eSIM, oder ein Festnetzanschluss (WhatsApp kann ihn per Sprachanruf verifizieren).
    2. Installieren Sie WhatsApp Business, das neben Ihrem normalen WhatsApp auf demselben Telefon läuft, und registrieren es mit der freien Nummer.
    3. Geben Sie Ihre persönliche WhatsApp-Nummer ein. Bromure antwortet nur auf Nachrichten von dieser Nummer. Klicken Sie Ich habe das zweite Konto — Weiter.
    4. Scannen Sie den QR-Code mit WhatsApp Business (Einstellungen › Verknüpfte Geräte › Gerät verknüpfen), oder nutzen Sie einen Kopplungscode.

    Schreiben Sie diesem Kontakt dann von Ihrem persönlichen WhatsApp aus.

Warnung: WhatsApp unterstützt diese Art der Verknüpfung nicht offiziell und kann sie trennen. Signal ist der verlässlichere Kanal.

Slack

Slack verbindet sich über eine eigene Slack-App in Ihrem Workspace. „Slack öffnet sich mit vorbelegten Einstellungen: nur Direktnachrichten, keine Kanäle, keine öffentliche URL.“ Ihr Workspace-Admin muss die App vielleicht genehmigen.

  1. Klicken Sie App in Slack erstellen, wählen Ihren Workspace und klicken Create. Öffnet der Link das Formular nicht, wählen Sie in Slack stattdessen Create New App › From an app manifest. Fügen Sie das Manifest ein, das unter Das Manifest der App gezeigt wird (Manifest kopieren).

  2. In Slack Install App › Install to Workspace, und erlauben. Braucht Ihr Workspace die Genehmigung eines Admins, wird darauf gewartet. Klicken Sie dann Ich habe es installiert — Weiter.

  3. Fügen Sie die beiden Tokens ein und klicken Verbinden:

    • Bot User OAuth Token, von der Seite OAuth & Permissions der App. Er beginnt mit xoxb-.
    • App-level token, von Basic Information › App-Level Tokens › Generate Token and Scopes. Fügen Sie den Scope connections:write hinzu und generieren. Er beginnt mit xapp-.

    „Beide werden vom Connector aus mit Slack geprüft und dort behalten, auf seiner eigenen Disk — nicht auf diesem Mac.“

  4. Koppeln Sie Ihr Konto. Bromure zeigt einen sechsstelligen Code. Öffnen Sie in Slack Bromure (unter Apps) und senden ihm den Code als Direktnachricht. Wer den Code sendet, wird die einzige Person, der Bromure in Slack antwortet. Senden Sie ihn selbst, und teilen Sie ihn nicht.

    • Der Code gilt 10 Minuten. Neuer Code liefert einen weiteren.
    • Nach mehreren falschen Codes an die App stoppt das Koppeln („Waren Sie das nicht, versucht es jemand anders in Ihrem Workspace“).

    Ist gekoppelt, schickt Bromure Ihnen eine Nachricht in dieser Unterhaltung. Von da an erreichen nur Ihre Direktnachrichten die Schaltzentrale. Kanäle und alle anderen werden ignoriert.

Schließen Sie das Blatt vor dem Koppeln, liest die Slack-Karte „App eingerichtet — noch nicht mit Ihrem Konto gekoppelt“ und bietet Koppeln….

Prüfen, ob es geht

Die Karte eines verbundenen Kanals bietet Testnachricht senden. Mit Mit sich selbst chatten landet sie still in Ihrem eigenen Chat, öffnen Sie ihn also zur Prüfung.

Das Protokoll unten im Fenster hält die Schritte des Connectors fest und jede empfangene oder ignorierte Nachricht, nie ihren Inhalt.

Trennen und entfernen

  • Trennen… auf der Karte eines Kanals lässt den Connector die Verknüpfung oder die Tokens dieses Kanals vergessen. Bei Slack bleibt die App in Ihrem Workspace, bis Sie sie dort entfernen (Slack › Settings › Manage apps).
  • Den Connector über seine Zeile in der Seitenleiste zu entfernen löscht seine Maschine und alles darauf: die verknüpften Konten und die Slack-Tokens. Ein mit Ihrem eigenen Konto verknüpftes Gerät bleibt auf Ihrem Telefon gelistet, bis Sie es dort entfernen.

Datenschutz und Sicherheit

  • Nur Sie erreichen die Schaltzentrale: Ihre eigene Nummer (ein Bromure-Kontakt), Ihr eigener Selbst-Chat, oder Ihr gekoppeltes Slack-Konto. Der Connector verwirft alles andere, bevor die Schaltzentrale es sehen könnte.
  • Ihre Messaging-Schlüssel und Tokens bleiben auf der Maschine des Connectors. Der Rest von Bromure hält sie nie.
  • Was die Schaltzentrale Ihnen sendet, ist nur, was sie weiterzugeben wählt. Anmeldedaten in Ihren Maschinen sind Stellvertreter, nie die echten Geheimnisse. Siehe Anmeldedaten und die Draht-Grenze.