Application en monorepo permettant de piloter des conversations multi-agents (Gemini 2.5 Pro) via une interface de type WhatsApp.
apps/api— API Nest.js + Prisma + SQLite (agents, conversations, messages, profil utilisateur).apps/web— Frontend Next.js 15 / React 19 avec Tailwind CSS, Radix UI, shadcn/ui, React Query.packages/shared— Types TypeScript partagés (Agents, Conversations, Messages, Profil...).
- Node.js 20+
- npm 10+
npm installapps/api/.env.examplepour l’API.apps/web/.env.local.examplepour le frontend.
Copiez-les puis ajustez :
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.local.example apps/web/.env.localRenseignez notamment GEMINI_API_KEY avant d’utiliser l’IA. Vous pouvez également surcharger l’analyse de mémoire automatique via MEMORY_LLM_API_KEY et MEMORY_LLM_MODEL (par défaut gemini-2.5-flash).
La base utilise SQLite (fichier apps/api/prisma/dev.db).
Les migrations SQL sont pré-générées (apps/api/prisma/migrations).
# Générer le client Prisma
npm run prisma:generate --workspace api
# Appliquer les migrations (vous pouvez aussi lancer la requête SQL manuellement si besoin)
npm run prisma:migrate --workspace apiNote : si vous rencontrez un
Schema engine errorsur votre machine, exécutez directement le script SQLapps/api/prisma/migrations/*/migration.sqlavec l’outilsqlite3puisnpm run prisma:generate --workspace api.
# Terminal 1 (API Nest.js)
npm run dev:api
# Terminal 2 (Next.js)
npm run dev:webou en une seule commande :
npm run dev- API : http://localhost:4000/api
- Front : http://localhost:3000
| Commande | Description |
|---|---|
npm run dev |
Démarre API + Web en parallèle |
npm run dev:api |
Nest.js en mode watch |
npm run dev:web |
Next.js en mode dev |
npm run build --workspace api |
Build production API |
npm run build --workspace web |
Build production Front |
npm run lint --workspace api |
Lint backend |
npm run lint --workspace web |
Lint frontend |
npm run prisma:generate --workspace api |
Régénère le client Prisma |
- CRUD agents IA (avatar, prompt initial, fiche personnage, modèle LLM).
- Création de conversations multi-agents, ajout/retrait d’agents en cours de discussion.
- Historique complet des messages, réponses multi-agents depuis Gemini 2.5 Pro.
- Gestion d’un profil utilisateur (fiche contexte partagée aux agents).
- Mémoire privée par agent : biographie synchronisée avec la fiche personnage, détection automatique des relations/événements marquants (LLM Gemini 2.5 Flash configurable), édition/suppression depuis la modale de gestion.
- Interface de type WhatsApp : liste de conversations, chat principal, éditeur riche.
npm run build --workspace api
npm run build --workspace web