Retour
Writing AIssistant
Environnement d'écriture créative en Markdown augmenté par l'IA : un assistant RAG qui comprend l'intégralité d'un manuscrit et propose des modifications toujours validées par l'auteur (human-in-the-loop).
Stack technique
AngularFastAPILangChainPostgreSQLChromaDBDocker
Voir le projetContexte & objectif
Writing AIssistant est un compagnon d'écriture pour les auteurs, qui allie le confort du Markdown à la puissance de l'IA générative. Contrairement à un chatbot classique qui oublie le début du livre au fil de l'écriture, l'application indexe sémantiquement chaque paragraphe pour raisonner sur l'intégralité du récit. La conviction centrale du projet : l'IA doit être puissante mais jamais autonome sur le texte de l'auteur — chaque proposition passe par une validation humaine.
Fonctionnalités
- Éditeur Markdown professionnel basé sur Monaco (le moteur de VS Code), avec aperçu, 11 polices serif auto-hébergées et compteur de mots en direct
- Assistant IA outillé : il cherche dans le manuscrit, lit les chapitres et consulte la « bible » de l'univers pour répondre sur l'intrigue, les personnages ou la cohérence du récit
- Human-in-the-loop : chaque modification proposée par l'IA passe par une interface d'approbation avant de toucher le texte (mode strict ou copilot réglable par livre)
- RAG-native : chaque paragraphe est indexé sémantiquement et l'index se rafraîchit automatiquement après l'écriture
- Bible de l'univers (personnages, lieux, alias) consultable par l'IA et branchée sur la correction orthographique/grammaticale (LanguageTool)
- Bring Your Own Model : choix du fournisseur (OpenAI, Mistral, Anthropic, Google, Hugging Face…), clés API chiffrées avec une clé propre à chaque navigateur
- Instantanés (snapshots), streaming SSE des étapes de l'agent, thème sombre/clair et interface bilingue FR/EN
Choix techniques
- FastAPI — API 100 % asynchrone en Python, schémas Pydantic, chaînes RAG et outils d'agent via LangChain, migrations Alembic
- Angular 21 — client de dernière génération, 100 % composants standalone et Signals, SSR pour le pré-rendu SEO des pages publiques (FR/EN)
- Stockage hybride — PostgreSQL (SQLAlchemy async) pour les textes, ChromaDB comme base vectorielle locale, une collection isolée par livre et par modèle d'embedding
- Manuscrit structuré — arbre de nœuds (parties, chapitres, scènes) à ancres stables ; à la sauvegarde, seuls les nœuds modifiés transitent vers l'API (diff minimal côté client)
- SSO OpenID Connect — flux Authorization Code + PKCE, implémentation générique (Zitadel en prod, Keycloak en local) ; clés API jamais stockées en clair
- Docker — écosystème conteneurisé complet (Postgres, ChromaDB, API) pour un dev et un déploiement simplifiés