- Change maxTokens to max_tokens for Mistral API compatibility - Extract maxTokens from options before spreading to avoid parameter conflicts - Tested successfully with live API calls
Project Agora
Description
Project Agora est une plateforme web open-source permettant à plusieurs intelligences artificielles de collaborer entre elles pour concevoir la structure complète d'un projet logiciel à partir d'un prompt utilisateur ou d'un document explicatif.
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, chaque agent IA représentant un rôle spécifique :
- Architecte logiciel
- Développeur backend
- Développeur frontend
- Designer UI/UX
- Data engineer
- Chef de projet
- Éventuellement d'autres rôles selon la complexité du prompt.
Cependant, l'aspect le plus crucial de ces IA réside dans leur capacité à échanger, négocier, voire s'opposer pour déterminer collectivement la meilleure approche à adopter.
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
- Storage: SQLite + JSON backup
- Diagrammes: Mermaid.js
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 implémentées ✅
- ✅ Saisie d'un texte décrivant le projet
- ✅ Sélection automatique des agents IA selon le contexte
- ✅ Visualisation des échanges IA en temps réel
- ✅ Intégration Mistral AI pour génération de réponses
- ✅ WebSocket pour mises à jour temps réel
- ✅ Système de consensus avec vote pondéré
- ✅ Rendu de diagrammes Mermaid
- ✅ Stockage SQLite des débats et réponses
Fonctionnalités à venir
- Support upload de documents PDF
- Exportation JSON, Markdown ou PDF
- Thème clair/sombre
- Historique des débats précédents
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 Orchestrator
participant AI_Architect
participant AI_Designer
participant AI_Engineer
User->>Orchestrator: Prompt project
Orchestrator->>AI_Architect: Generate approach
Orchestrator->>AI_Designer: Discuss UI/UX
Orchestrator->>AI_Engineer: Suggest modules
AI_Architect-->>Orchestrator: Architecture proposal
AI_Designer-->>Orchestrator: Interface ideas
AI_Engineer-->>Orchestrator: Technical design
Orchestrator-->>User: Final structured response + diagram
Guide de développement
Consultez DEVELOPMENT.md pour les détails complets sur :
- Structure du projet
- API endpoints
- Architecture des agents IA
- Configuration WebSocket
Licence
MIT License — Open-source