Canaux
L'écran Canaux vous permet de lister les canaux entrants qui transforment les messages en exécutions d'agents, de lire les sessions d'un canal, d'envoyer un message de test, de changer le propriétaire ou le statut d'un canal, et de le supprimer. Chemin dans le portail : /capabilities/channels. Les développeurs et les responsables d'application enregistrent les canaux ; les administrateurs du tenant les suppriment. L'écran est dessiné par portal/src/screens/capabilities.tsx.
Ce que montre l'écran
- Tableau Canaux, lu par
GET /v1/channels(tous les canaux en un appel). Colonnes : Nom, Type, Agent (l'agent que sert le canal), Statut, Mis à jour. Vide : Aucun canal, aide Appliquez un manifeste Channel ci-dessous. - Un clic sur une ligne, ou Voir le détail, ouvre un panneau latéral avec
GET /v1/channels/{name}. - Panneau Appliquer un manifeste prérempli avec un exemple de manifeste Channel (
portal/src/samples/channel-manifest.json), avec Rétablir l'exemple et Appliquer.
Actions
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Actualiser (icône) | Recharge la liste. | GET /v1/channels | Tout membre du tenant |
| Clic sur une ligne ou Voir le détail | Ouvre la fiche du canal. | GET /v1/channels/{name} | Tout membre du tenant |
| Menu Sessions | Affiche les sessions du canal (les 500 plus récentes). | GET /v1/channels/{name}/sessions | Tout membre du tenant |
| Menu Envoyer un message | Formulaire Texte (obligatoire), Utilisateur, Identifiant de conversation ; envoie le message comme un message entrant du canal et affiche la réponse. | POST /v1/channels/{name}/inbound | tenant_admin, developer, agent |
| Menu Modifier | Formulaire Propriétaire et Statut (active, disabled). | PATCH /v1/channels/{name} | tenant_admin, developer, application_owner |
| Menu Supprimer | Ouvre Confirmer une action destructive ; saisissez le nom du canal, puis Confirmer. | GET /v1/lineage/graph, puis DELETE /v1/channels/{name} | tenant_admin |
| Rétablir l'exemple / Appliquer | Remet l'exemple / applique le manifeste Channel. | POST /v1/manifests/apply | tenant_admin, developer |
| Réessayer (état d'erreur) | Relance la lecture qui a échoué. | Même appel | Mêmes rôles |
Envoyer un message envoie ce corps ; les champs facultatifs vides ne sont pas envoyés :
{"text": "Where is my invoice INV-2026-118?", "user": "jane.doe", "conversation_id": "conv-42"}
Le canal contrôle la taille du message et les limites de débit, applique la DLP au texte, retrouve ou ouvre la session de l'utilisateur et de la conversation, enregistre le message et, quand l'agent du canal est actif, démarre une exécution avec le déclencheur channel. La réponse donne session_id, session_created, message_id, run_id, et run_skipped quand l'agent n'est pas actif.
Rôles
Le portail ne masque aucun bouton. Dans services/control-plane/src/eai/domains/channels/routes.py : un message entrant demande OPS_ROLES (tenant_admin, developer, agent) ; la modification demande WRITE_ROLES (tenant_admin, developer, application_owner) ; la suppression demande tenant_admin ; la lecture demande un tenant. platform_admin passe tous les contrôles de rôle.
Tâches courantes
Tester un canal de bout en bout
- Envoyer un message. Le test passe par les mêmes contrôles qu'un vrai message d'utilisateur. Dans le menu de ligne, cliquez sur Envoyer un message, saisissez le Texte, un Utilisateur et un Identifiant de conversation, puis cliquez sur Envoyer un message. Résultat attendu : un panneau latéral avec
session_id,message_idet unrun_id. En cas d'échec :run_skippedsignifie que l'agent du canal n'est pas actif ;dlp_blocked(403) signifie que la DLP a bloqué le texte. - Suivre l'exécution. L'exécution appartient à la session de la conversation. Ouvrez l'écran Exécutions et filtrez sur l'agent. Résultat attendu : une exécution avec le déclencheur
channel. En cas d'échec : vérifiez le statut de l'agent dans le Registre. - Lire la session. La session conserve les messages. Dans le menu de ligne, cliquez sur Sessions. Résultat attendu : la session de la conversation est listée. En cas d'échec : cliquez sur Actualiser et recommencez.
Fermer un canal pour un temps
- Le désactiver. Un canal désactivé refuse les messages entrants. Cliquez sur Modifier, choisissez
disableddans Statut, puis cliquez sur Modifier. Résultat attendu : le statut Désactivé ; Envoyer un message répondchannel_disabled. En cas d'échec :forbiddensignifie qu'il vous manquetenant_admin,developerouapplication_owner.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
channel_not_found (404) | Le nom est faux ou le canal a été supprimé. | Copiez le nom depuis le tableau. |
channel_disabled (409) | Le statut est disabled. | Remettez-le à active avec Modifier. |
message_too_large (413) : « Le message dépasse ... octets. » | Le texte dépasse la taille maximale du canal. | Envoyez un texte plus court. |
rate_limited (429) | La limite de messages d'utilisateur par minute du canal (rate_per_minute) est atteinte pour cet utilisateur. | Attendez, puis renvoyez. |
too_many_sessions (429) | Le canal a atteint son maximum de sessions ouvertes simultanées. | Fermez des sessions, ou relevez la limite dans le manifeste. |
dlp_blocked (403) | Le texte contient des données que la DLP bloque. | Retirez les données sensibles. |
run_skipped dans la réponse | L'agent du canal est suspendu ou arrêté. | Reprenez l'agent. |