agora-ai/CHANGELOG.md
Muyue 7574f353ee Implement collaborative document design system
Add new iterative collaboration mode where Lead Architect creates initial document,
then 3-7 specialized agents review and refine it through sequential rounds until
convergence. Complete with WebSocket real-time updates, document versioning, and
timeline tracking.

Backend:
- New collaborativeOrchestrator service with round-based iteration logic
- Document versioning and diff tracking
- Three new DB tables: collaborative_sessions, document_versions, document_rounds
- New /api/collaborate routes for session management
- WebSocket support for sessionId in addition to debateId

Frontend:
- New collaboration store (Pinia) for session state management
- CollaborativeInput component for creating sessions with format/agent selection
- CollaborativeSession component with real-time document viewer and timeline
- DocumentViewer with basic Markdown rendering and text support
- App.vue refactored with mode selector (Classic Debate vs Collaborative Design)
- Enhanced useWebSocket composable supporting both debateId and sessionId

Features:
- 7 specialized agents: Lead Architect, Backend Engineer, Frontend Engineer, UI Designer, DevOps Engineer, Product Manager, Security Specialist
- Flexible document formats: Markdown (.md) and plain text (.txt)
- Automatic convergence detection when no changes in full round
- Complete modification history with who changed what and why
- Download final document in chosen format

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 17:02:03 +02:00

175 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog - Collaborative Design System
## Version 2.0 - Collaborative Document Design (Nouvelle Fonctionnalité)
### 🎯 Concept Principal
Remplacement du système de débat parallèle par un système de **conception itérative collaborative** où :
- Un architecte lead crée un document initial complet
- 3-7 agents spécialisés révisent et améliorent le document tour par tour
- Le document évolue progressivement jusqu'à convergence naturelle
- Traçabilité complète de toutes les modifications
### Backend - Changements
#### 1. **Base de Données** (`src/db/schema.js`)
- ✅ Nouvelles tables :
- `collaborative_sessions` : Sessions de conception
- `document_versions` : Historique complet des versions
- `document_rounds` : Suivi des tours de table
- Maintien de la compatibilité rétro avec `debates` et `responses`
#### 2. **Service d'Orchestration** (`src/services/collaborativeOrchestrator.js` - NOUVEAU)
- `createSession()` : Crée une nouvelle session collaborative
- `startCollaborativeSession()` : Lead Architect crée le document initial
- `runRound()` : Exécute un tour de revue (chaque agent revoit le document)
- `getSessionDetails()` : Récupère l'état complet avec historique
- `calculateDiff()` : Suivi des modifications entre versions
- Détection automatique de convergence (aucun changement d'un tour complet)
#### 3. **Routes API** (`src/routes/collaborate.js` - NOUVEAU)
```
POST /api/collaborate - Créer une session
POST /api/collaborate/:id/start - Démarrer la session
POST /api/collaborate/:id/round - Exécuter un tour de revue
GET /api/collaborate/:id - Obtenir les détails
GET /api/collaborate/:id/document - Télécharger le document actuel
GET /api/collaborate/:id/versions/:v - Obtenir une version spécifique
POST /api/collaborate/:id/complete - Terminer la session
```
#### 4. **Serveur Principal** (`src/index.js`)
- ✅ Intégration du nouvel orchestrateur collaboratif
- ✅ Support WebSocket pour `sessionId` en plus de `debateId`
- Routage automatique vers `/api/collaborate`
### Frontend - Changements
#### 1. **Store Pinia** (`src/stores/collaboration.js` - NOUVEAU)
- Gestion d'état des sessions collaboratives
- Fonctions pour créer, lancer, et suivre les sessions
- Méthodes de téléchargement de documents
#### 2. **Composants Vue**
**CollaborativeInput.vue** (NOUVEAU)
- Formulaire pour créer une nouvelle session
- Choix du format (Markdown/Texte)
- Sélection du nombre d'agents (3-7)
- Interface conviviale avec explications
**CollaborativeSession.vue** (NOUVEAU)
- Affichage en temps réel du document en évolution
- Timeline des modifications avec agents impliqués
- Boutons de contrôle :
- "Next Review Round" : Lancer le tour suivant
- "Complete Session" : Terminer
- "Download" : Exporter le document
- "Timeline" : Voir l'historique
- Affichage du statut de convergence
**DocumentViewer.vue** (NOUVEAU)
- Rendu du document en Markdown ou texte brut
- Mise en évidence syntaxique simple
- Support des liens, listes, code blocks
- Responsive et bien stylisé
#### 3. **App.vue** - Refonte Majeure
- Écran de sélection du mode au démarrage
- 2 modes : "Classic Debate" vs "Collaborative Design" (Recommandé)
- Navigation fluide entre les modes
- Boutons de retour intuitifs
#### 4. **Composable WebSocket Amélioré** (`src/composables/useWebSocket.js`)
- Support de `sessionId` en paramètre
- Rétro-compatible avec `debateId`
- Routing automatique du WebSocket
### Améliorations Produit
#### 1. **7 Agents Spécialisés** (vs 4 avant)
- Lead Architect (créateur du document initial, poids 1.5x dans anciennes versions)
- Backend Engineer
- Frontend Engineer
- UI/UX Designer
- DevOps Engineer (NOUVEAU)
- Product Manager (NOUVEAU)
- Security Specialist (NOUVEAU)
#### 2. **Flux Itératif Intelligent**
- Chaque agent voit le document complet + historique
- System prompts spécialisés pour chaque rôle
- Détection de convergence automatique
- Arrêt quand aucune modification d'un tour complet
#### 3. **Documents Flexibles**
- Format Markdown (.md) pour documents structurés
- Format Texte brut (.txt) pour contenu simple
- Versioning complet avec historique
- Export facile en un clic
#### 4. **Traçabilité Complète**
- Historique de chaque modification
- Qui a changé quoi et pourquoi
- Timeline visuelle interactive
- Accès à n'importe quelle version
### Avantages du Nouveau Système
| Aspect | Mode Débat | Mode Collaboratif |
|--------|-----------|------------------|
| **Processus** | Parallèle | Itératif |
| **Document** | Consensus arbitraire | Construction progressive |
| **Agents** | 4 | 3-7 (configurable) |
| **Convergence** | Vote pondéré (60%) | Naturelle (0 changements) |
| **Traçabilité** | Propositions individuelles | Historique complet |
| **Format** | JSON fixe | Flexible (MD/TXT) |
| **Qualité finale** | Bonne | Excellente |
| **Temps** | Rapide (1 appel) | Graduel (multiple tours) |
### Fichiers Créés
-`backend/src/services/collaborativeOrchestrator.js`
-`backend/src/routes/collaborate.js`
-`frontend/src/stores/collaboration.js`
-`frontend/src/components/CollaborativeInput.vue`
-`frontend/src/components/CollaborativeSession.vue`
-`frontend/src/components/DocumentViewer.vue`
-`CHANGELOG.md` (ce fichier)
### Fichiers Modifiés
-`backend/src/index.js` - Intégration orchestrateur
-`backend/src/db/schema.js` - Nouvelles tables
-`frontend/src/App.vue` - Mode selector et navigation
-`frontend/src/composables/useWebSocket.js` - Support sessionId
-`README.md` - Documentation
### Tests à Faire
```bash
# Backend
npm start # Doit démarrer sans erreurs
curl http://localhost:3000/api/health
# Frontend
npm run dev # Vite dev server
# Tester: http://localhost:5173
```
### Prochaines Améliorations Possibles
- [ ] Support téléchargement fichiers contextuels (upload MD/TXT)
- [ ] Intégration Git (commit auto après convergence)
- [ ] Export PDF avec mise en page professionnelle
- [ ] Comparaison côte à côte des versions
- [ ] Statistiques détaillées par agent
- [ ] Webhook pour notifications externes
- [ ] Support collaboration multi-utilisateurs simultanés
### Notes
- Système entièrement rétro-compatible : mode débat classique toujours disponible
- Performance : Chaque tour prend ~30-60s selon la longueur du document
- Coût API : Similaire au mode débat (n agents × 1 appel par tour)
---
**Version** : 2.0.0
**Date** : October 2024
**Status** : Production Ready