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 projet

    Contexte & 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

    • FastAPIAPI 100 % asynchrone en Python, schémas Pydantic, chaînes RAG et outils d'agent via LangChain, migrations Alembic
    • Angular 21client de dernière génération, 100 % composants standalone et Signals, SSR pour le pré-rendu SEO des pages publiques (FR/EN)
    • Stockage hybridePostgreSQL (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 Connectflux 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