- 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 :
Les agents personnels (non publiés, possédés par un seul utilisateur) n’ont intentionnellement pas accès aux canaux. Un agent personnel envoyant un message à un canal de l’organisation usurperait l’identité de l’organisation — un risque d’audit et une violation de gouvernance. Publier un agent à une organisation est la façon dont cet agent gagne le droit de parler au nom de l’organisation à travers ses canaux.
Cette contrainte s’applique uniformément : à la fois
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
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à.