- Envoyer des messages sortants (mises à jour de statut, artefacts, rapports).
- Recevoir des messages entrants (un utilisateur pose une question dans un chat de groupe ; l’agent répond).
- Protéger les appels d’outils sensibles derrière une approbation humaine, livrée sous forme de carte interactive.
Pourquoi les canaux sont limités à l’organisation
Un canal est l’identité d’une organisation sur une plateforme de messagerie instantanée externe — pas une ligne directe personnelle. Quand un agent publie une carte à un groupe Feishu, le message porte l’autorité de l’organisation qui a configuré le canal : le bot est enregistré auprès du tenant Feishu de cette organisation, les membres du groupe sont des pairs au sein de cette organisation, et la piste d’approbation / audit appartient à cette organisation. FIM One reflète ce mappage un-à-un :| FIM One | Plateforme de messagerie instantanée externe |
|---|---|
| Organisation | Tenant / entreprise Feishu (et ses administrateurs) |
| Canal | Un bot + conversation de groupe possédés par ce tenant |
| Membre de l’organisation | Une personne au sein de ce tenant qui peut approuver, recevoir des notifications ou réagir aux cartes |
| Agent (publié par l’organisation) | Le worker IA agissant au nom de l’organisation |
FeishuGateHook (routage des approbations) et les notifications d’achèvement (canal configuré par l’agent) respectent la même limite d’identité organisationnelle.
Plateformes supportées
| Plateforme | Statut | Entrant | Sortant | Carte d’approbation |
|---|---|---|---|---|
| Feishu (Lark) | GA | Oui | Oui | Oui (feishu_gate hook) |
| Slack | Planifié | — | — | — |
| DingTalk | Planifié | — | — | — |
Comment les canaux interagissent avec les Hooks
Le hookfeishu_gate est le consommateur principal d’un canal Feishu. Quand un agent est sur le point d’appeler un outil marqué requires_confirmation: true, le hook :
- Résout le canal Feishu actif de l’organisation.
- Affiche une carte d’approbation interactive avec le nom de l’outil et ses arguments.
- Publie la carte dans le groupe de discussion configuré (
chat_id). - Suspend l’appel de l’outil jusqu’à ce qu’un membre du groupe appuie sur Approve ou Reject.
- Reprend (ou abandonne) l’outil selon le verdict, et diffuse la décision via SSE.
model_config_json.hooks.class_hooks = ["feishu_gate"], ou activez-le dans l’éditeur d’agent.
Création d’un canal
- Connectez-vous en tant que Propriétaire d’organisation ou Administrateur.
- Allez à Paramètres de l’organisation → Canaux → Nouveau canal.
- Choisissez un type de canal (par exemple Feishu), remplissez les identifiants, sélectionnez un chat cible et enregistrez.
- Cliquez sur Envoyer un message de test pour vérifier le câblage bidirectionnel.
Notes de sécurité
- Les secrets d’application et les clés de chiffrement sont chiffrés au repos en utilisant la
FERNET_SECRET_KEYdu backend. - Le point de terminaison de rappel (
/api/channels/{id}/callback) vérifie chaque signature par rapport à laencrypt_key/verification_tokenstockée avant d’agir sur l’événement. - Seuls les membres du groupe de chat cible peuvent approuver ou rejeter une carte d’approbation — FIM One n’accorde pas d’autorité supplémentaire au-delà de ce que la plateforme de messagerie leur donne déjà.