#151 (z-order bouton Cancel) et #157 (arrêt spinner Progress) fermés après merge du Cluster A (fix/batch-151-157-cli-ui) dans develop. Sync du miroir local .ideai/tickets. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
71 lines
3.1 KiB
Markdown
71 lines
3.1 KiB
Markdown
---
|
|
issueRef: "#157"
|
|
version: 12
|
|
updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"}
|
|
updatedAt: 1786019394609
|
|
---
|
|
# Objectif
|
|
|
|
Améliorer la CLI custom / chat agent pour afficher **un maximum de progress intermédiaires réellement disponibles** au lieu d'un silence jusqu'au `Final`, avec une UX différenciée pour :
|
|
|
|
- les messages/progress agent généraux
|
|
- les appels MCP / outils
|
|
- les délégations inter-agent
|
|
|
|
# Dépendance
|
|
|
|
- Dépend explicitement de #156, qui doit fournir le contrat d'événements canonique multi-profils.
|
|
|
|
# Attentes produit
|
|
|
|
- Afficher les événements intermédiaires au fil de l'eau quand ils existent.
|
|
- Montrer clairement quel agent parle à quel agent.
|
|
- Afficher un extrait court de la demande déléguée.
|
|
- Rendre les appels MCP/outils visuellement distincts du reste du flux.
|
|
- Fonctionner avec un maximum de profils IA, avec dégradation élégante quand un profil n'expose pas grand-chose.
|
|
|
|
# Périmètre UI/UX attendu
|
|
|
|
## Types visuels
|
|
|
|
- `AgentMessage` : message/progress principal d'un agent.
|
|
- `Delegation` : carte dédiée `Agent A -> Agent B` avec extrait court de la demande.
|
|
- `ToolCall` : carte secondaire/indentée pour les appels d'outil.
|
|
- `MCPEvent` : variante spécifique pour les appels MCP/méthodes MCP, distincte visuellement.
|
|
|
|
## États
|
|
|
|
- `started`
|
|
- `running`
|
|
- `done`
|
|
- `error`
|
|
|
|
## Hiérarchie visuelle
|
|
|
|
- Les délégations et appels MCP ne doivent pas se confondre avec un simple texte agent.
|
|
- Les appels MCP/outils doivent être lisibles mais plus discrets que le message principal.
|
|
- Prévoir la lecture d'une conversation longue sans transformer l'écran en log brut.
|
|
|
|
# Recommandations UX initiales (retour UX intégré)
|
|
|
|
- `Delegation` : carte avec flèche `From -> To`, extrait de demande tronqué (~80 chars), accès au détail sur expansion/hover.
|
|
- `ToolCall` : carte indentée avec badge outil, état spinner/check/error, args résumés/tronqués.
|
|
- `MCPEvent` : bordure latérale/coloration dédiée par serveur ou type de méthode.
|
|
- Timeline verticale légère pour relier visuellement les sous-événements au message/agent source.
|
|
- Les événements très courts doivent être lissés/batchés pour éviter le clignotement.
|
|
|
|
# Anti-bruit / garde-fous
|
|
|
|
- Ne pas afficher comme texte brut tous les micro-événements sans hiérarchie.
|
|
- Seuil temporel ou batching pour les événements trop fugitifs.
|
|
- Possibilité de collapse/groupement pour tool calls répétitifs.
|
|
- Limitation du nombre d'événements visibles avant expansion.
|
|
- Si un profil n'expose aucun delta ni événement intermédiaire, afficher au minimum l'état occupé/vivant sans simuler un faux stream.
|
|
|
|
# Critères d'acceptation
|
|
|
|
- Sur les profils riches, l'utilisateur voit les progress/events apparaître avant le `Final`.
|
|
- Sur les profils pauvres, l'UI reste honnête et utile (busy/progression minimale) sans faux "thinking".
|
|
- Les appels MCP apparaissent au fil de l'eau, pas seulement après le `Final`, si l'information est disponible côté IdeA.
|
|
- Les délégations inter-agent sont lisibles : on comprend qui parle à qui et à propos de quoi.
|
|
- La vue reste stable et lisible sur conversation longue. |