> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fim.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Channels-Übersicht

> Verbinden Sie FIM One mit externen Messaging-Plattformen für Benachrichtigungen, Genehmigungen und bidirektionale Agent-Interaktion.

Ein **Channel** ist eine Brücke zwischen FIM One und einer externen Messaging-Plattform — Feishu (Lark), Slack, DingTalk, Teams und so weiter. Channels ermöglichen es einem Agent:

* **Ausgehende Nachrichten zu senden** (Statusaktualisierungen, Artefakte, Berichte).
* **Eingehende Nachrichten zu empfangen** (ein Benutzer stellt eine Frage in einem Gruppenchat; der Agent antwortet).
* **Sensitive Tool-Aufrufe** hinter einer menschlichen Genehmigung zu sperren, die als interaktive Karte bereitgestellt wird.

Channels sind auf eine **Organisation** beschränkt, nicht auf einen einzelnen Benutzer. Jeder Org-Admin kann sie erstellen, bearbeiten und deaktivieren.

## Warum Kanäle organisationsweit sind

Ein Kanal ist die **Identität** einer Organisation auf einer externen IM-Plattform — nicht die Hotline einer Einzelperson. Wenn ein Agent eine Karte in eine Feishu-Gruppe postet, trägt die Nachricht die Autorität der Organisation, die den Kanal konfiguriert hat: Der Bot ist beim Feishu-Mandanten dieser Organisation registriert, die Gruppenmitglieder sind Kollegen innerhalb dieser Organisation, und der Genehmigungsverlauf / die Audit-Spur gehört dieser Organisation.

FIM One spiegelt diese Zuordnung eins-zu-eins wider:

| FIM One                   | Externe IM-Plattform                                                                                               |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Organization**          | Feishu-Mandant / Unternehmen (und dessen Administratoren)                                                          |
| **Channel**               | Ein Bot + Gruppenchat, der diesem Mandanten gehört                                                                 |
| **Org member**            | Eine Person innerhalb dieses Mandanten, die genehmigen, Benachrichtigungen erhalten oder auf Karten reagieren kann |
| **Agent (org-published)** | Der KI-Worker, der im Namen der Organisation handelt                                                               |

Persönliche Agenten (unveröffentlicht, im Besitz eines einzelnen Benutzers) haben absichtlich keinen Zugriff auf Kanäle. Ein persönlicher Agent, der eine Nachricht an einen Organisationskanal sendet, würde die Organisation imitieren — ein Audit-Risiko und ein Governance-Verstoß. Das Veröffentlichen eines Agenten in einer Organisation ist die Möglichkeit, wie dieser Agent das Recht erhält, im Namen der Organisation durch ihre Kanäle zu sprechen.

Diese Einschränkung gilt einheitlich: Sowohl `FeishuGateHook` (Genehmigungsrouting) als auch Abschlussbenachrichtigungen (vom Agent konfigurierter Kanal) respektieren die gleiche Organisations-Identitätsgrenze.

## Unterstützte Plattformen

| Plattform                 | Status  | Eingehend | Ausgehend | Genehmigungskarte       |
| ------------------------- | ------- | --------- | --------- | ----------------------- |
| [Feishu (Lark)](./feishu) | GA      | Ja        | Ja        | Ja (`feishu_gate` hook) |
| Slack                     | Geplant | —         | —         | —                       |
| DingTalk                  | Geplant | —         | —         | —                       |

## Wie Channels mit Hooks interagieren

Der `feishu_gate` Hook ist der primäre Consumer eines Feishu Channels. Wenn ein Agent dabei ist, ein Tool mit `requires_confirmation: true` aufzurufen, führt der Hook folgende Schritte aus:

1. Löst den aktiven Feishu Channel der Organisation auf.
2. Rendert eine interaktive Genehmigungskarte mit dem Tool-Namen und den Argumenten.
3. Postet die Karte in den konfigurierten Gruppen-Chat (`chat_id`).
4. Setzt den Tool-Aufruf aus, bis ein Gruppenmitglied auf **Approve** oder **Reject** tippt.
5. Setzt den Tool-Aufruf fort (oder bricht ihn ab) basierend auf dem Ergebnis und streamt die Entscheidung über SSE zurück.

Fügen Sie den Hook an einem Agent über `model_config_json.hooks.class_hooks = ["feishu_gate"]` an, oder schalten Sie ihn im Agent-Editor um.

## Einen Kanal erstellen

1. Melden Sie sich als **Org Owner** oder **Admin** an.
2. Gehen Sie zu **Organization Settings → Channels → New Channel**.
3. Wählen Sie einen Kanaltyp (z. B. Feishu), geben Sie Anmeldedaten ein, wählen Sie einen Zielchat aus und speichern Sie.
4. Klicken Sie auf **Send test message**, um die bidirektionale Verbindung zu überprüfen.

Jeder Kanaltyp hat seine eigene Anmeldedatenstruktur und Event-Abonnement-Konfiguration — folgen Sie der plattformspezifischen Anleitung für die genauen Schritte:

* [Feishu (Lark) setup](./feishu)

## Sicherheitshinweise

* App-Geheimnisse und Verschlüsselungsschlüssel werden **im Ruhezustand verschlüsselt** mit dem `FERNET_SECRET_KEY` des Backends.
* Der Callback-Endpunkt (`/api/channels/{id}/callback`) **überprüft jede Signatur** gegen den gespeicherten `encrypt_key` / `verification_token`, bevor er auf das Ereignis reagiert.
* Nur Mitglieder des Zielgruppenchats können eine Genehmigungskarte genehmigen oder ablehnen — FIM One gewährt keine zusätzliche Autorität über das hinaus, was die Messaging-Plattform bereits bietet.
