Backend improvements: - Modify GET /api/collaborate/:id/document to return final_document for completed sessions - Sessions archivées sont maintenant accessibles même si pas en mémoire active Frontend improvements: - Add search bar to filter sessions by ID or description - Add search query state to allow real-time filtering - Update session counts in filter buttons - Enhance filteredSessions computed to include search query - Add CSS styling for search input with focus effects - Enable easy discovery and access to all archived sessions - Sessions can now be searched, filtered by status, and browsed
Project Agora
Description
Project Agora est une plateforme web permettant à plusieurs intelligences artificielles de collaborer pour concevoir une architecture logicielle complète à partir d'une description de projet et optionnellement d'une documentation contexte.
L'objectif est de produire :
- Une architecture logicielle complète, incluant :
- Une hiérarchie de fichiers structurée pour le projet
- Une spécification détaillée du contenu attendu pour chaque fichier (sans implémentation de code, uniquement une description fonctionnelle et technique)
- Un raisonnement justifié pour chaque choix technique.
- Des diagrammes explicatifs (Mermaid).
- Une synthèse finale cohérente prête à être utilisée comme base de développement.
Aucune génération de code direct n'est effectuée : seules des explications, réflexions et structures sont produites.
Objectif
Reproduire une table ronde d'IA spécialistes, avec un nombre d'agents flexible et configurable :
- Agents dynamiques (3-50) avec des noms aléatoires pour la diversité
- Chaque agent à une perspective unique sur l'architecture logicielle
- Les agents se spécialisent naturellement dans différents domaines
L'aspect le plus crucial de ces IA réside dans leur capacité à collaborer itérativement pour améliorer collectivement la spécification architecturale. Le processus s'arrête naturellement quand tous les agents convergent (plus aucune amélioration n'est proposée sur N tours consécutifs).
Exemple d'utilisation
L'utilisateur entre ceci dans l'interface :
« Je souhaite faire une application de calculatrice scientifique responsive web. »
Le système demande alors à plusieurs IA leur point de vue sur :
- Le langage ou framework le plus adapté
- L'organisation du projet (folders, modules)
- Les fichiers essentiels
- Les interactions front/back éventuelles
- Le design minimal (UI/UX conceptuel)
Elles discutent pour converger vers un consensus, puis produisent une fiche conceptuelle du projet au format structuré (JSON + affichage visuel + diagrammes Mermaid).
Architecture technique
Stack principal
- Frontend: Vue.js 3 + Vite
- Backend: Node.js + Express
- AI Layer: Multi-agent système avec Mistral API (mistral-large-2411)
- Storage: SQLite pour persistance complète
- Real-time: WebSocket pour streaming temps réel des modifications
- Design: Glassmorphism avec animations fluides
Architecture globale
graph TD
A[Frontend: Vue.js 3] -->|User Prompt| B[Backend: Node.js]
B -->|Orchestration| C[AI Layer: Mistral Agents]
C -->|Debate Data| D[Storage: SQLite/JSON]
C -->|Diagram Specs| E[Mermaid Engine]
E -->|SVG/Render| A
D -->|History| A
Fonctionnalités
Conception Collaborative par IA
- N agents dynamiques (3-50) : Nombre configurable pour chaque session
- Noms aléatoires : Chaque agent a un nom unique pour meilleure clarté
- Création itérative : SYSTEM crée la structure de base
- Tours de table automatiques : Chaque agent revoit et peut modifier une section
- Document évolutif : Amélioration progressive à chaque passage
- Opérations supportées : Modification, création, ou suppression de sections
- Convergence naturelle : Arrêt automatique quand N agents de suite ne proposent aucun changement
- Traçabilité complète : Historique de toutes les modifications avec agent, raison, et round
- Format Markdown : Output toujours en Markdown (.md)
- Context files : Support d'upload de fichiers MD/TXT en entrée (optionnel)
- Session discovery : Accès facile aux sessions précédentes avec filtres et stats
- Real-time visualization : Observation des changements en direct via WebSocket
Système multi-agents IA
- Intégration Mistral AI (mistral-large-2411) pour génération intelligente et contextualisée
- System prompts intelligents : Prompt générique paramétré par agent
- Contexte intelligent : Les agents voient le document actuel et sa version antérieure
- Section-based editing : Les agents modifient une section à la fois pour cohérence
Interface et visualisation
- Saisie de prompt décrivant le projet souhaité
- Upload optionnel de fichiers contexte (MD/TXT)
- Sélection dynamique du nombre d'agents (3-50)
- Visualisation en temps réel des modifications via WebSocket
- Timeline interactive montrant chaque round et les agents ayant participé
- Raised hand animation montrant l'agent actuel qui réfléchit/modifie
- Affichage interactif du document Markdown avec syntaxe colorée
- Session discovery avec stats (complétées, en cours, total)
- Filtres par statut pour accéder facilement aux sessions
- Historique des sessions accessible depuis la page d'accueil
Architecture et stockage
- API REST pour gestion des sessions collaboratives
- WebSocket pour streaming temps réel des modifications d'agents
- Base SQLite pour persistance des sessions, versions et historique complet
- Versioning intelligent : Chaque modification crée une version avec métadonnées (agent, raison, round)
Démarrage rapide
Prérequis
- Node.js 18+
- Clé API Mistral AI (obtenir ici)
Installation
1. Backend
cd backend
npm install
cp .env.example .env
# Éditer .env et ajouter votre MISTRAL_API_KEY
npm start
2. Frontend
cd frontend
npm install
npm run dev
3. Accéder à l'application
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
- WebSocket: ws://localhost:3000
Flux Utilisateur
sequenceDiagram
participant User
participant Backend
participant Agents
User->>Backend: Project description + optional context file
Backend->>Agents: Lead Architect creates initial document
Agents-->>Backend: Document v1
Backend->>Agents: Round 1: Review and improve
Agents-->>Backend: Updates proposed
Backend->>Agents: Round 2-N: Review updated document
Agents-->>Backend: More updates OR no changes
Backend-->>User: Final Markdown document + history
Utilisation
Étapes
- Accédez à la page d'accueil : Consultez les sessions précédentes
- Visualisez les stats (complétées, en cours, total)
- Filtrez par statut si nécessaire
- Cliquez sur une session pour la reprendre
- Ou créez une nouvelle session :
- Décrivez le projet en détail
- Ajouter un contexte (optionnel) : Upload un fichier MD ou TXT
- Sélectionnez le nombre d'agents (3-50)
- Lancez "Start Design Session"
- Observez la collaboration :
- Visualisez le document en temps réel
- Consultez la timeline avec les rounds et les agents ayant participé
- Voir l'animation "main levée" pour l'agent actuel
- Processus automatique :
- Chaque agent revoit le document
- Peut modifier, créer, ou supprimer une section
- Les rounds se font automatiquement
- Le processus s'arrête quand consensus est atteint
- Résultat :
- Document Markdown téléchargeable
- Historique complet des modifications
- Session reste accessible pour consultation
Exemple
Entrée:
Plateforme gestion projets temps réel, équipes distribuées,
gestion tâches, communication, partage fichiers, 10K+ users
Processus (avec 7 agents aux noms aléatoires):
- Round 1: SYSTEM crée la structure de base
- Round 2: Chaque agent revoit et propose des améliorations
- Round 3+: Itération jusqu'à convergence
Résultat: Spécification architecturale Markdown complète avec traçabilité des changements
Licence
MIT License — Open-source