Genshin AI Theorycrafter est une application web React novatrice conçue pour aider les joueurs de Genshin Impact à optimiser leur compte de manière intelligente. En synchronisant la "box" d'un joueur via l'API Enka Network, l'application génère des compositions d'équipes sur-mesure et des builds optimisés grâce à l'IA Gemini de Google, couplée à un puissant système RAG (Retrieval-Augmented Generation) 100% local.
Fini la saisie manuelle interminable. Entrez simplement votre UID Genshin Impact, et l'application récupérera automatiquement les statistiques, les armes, les artéfacts et l'avancement de vos personnages mis en "Vitrine" via l'API Enka Network.
L'IA ne devine pas, elle sait. Le projet embarque une base de données de connaissances vectorielle locale (RAG) ultra-légère regroupant toutes les données mathématiques et mécaniques officielles de plus de 100 personnages. Fini les hallucinations : l'IA base son theorycrafting sur les vraies descriptions des compétences, passifs et constellations du jeu.
À partir d'une simple requête textuelle (ex: "Fais-moi la meilleure équipe pour les Abysses actuelles autour de Mualani"), l'application analyse votre box et propose les 4 meilleures options d'équipes. Elle vous fournit les synergies exactes et les rotations idéales, le tout formaté via un parseur JSON strict.
Un clic sur une équipe générée suffit à ouvrir une modale de théorie détaillée. L'IA vous fournira instantanément les meilleurs sets d'artéfacts, les statistiques à privilégier (Coupe/Sablier/Couronne) ainsi que le Top 4 des meilleures armes (5★, 4★, F2P, Craftables) pour chaque personnage sélectionné.
Grâce à un sélecteur animé dans l'interface de chat, vous pouvez dicter la langue de réponse de l'IA (Français, Anglais, Allemand, Espagnol, Italien, etc.) à la volée, permettant de s'adapter aux préférences de n'importe quel joueur.
Le service Gemini intègre un intercepteur d'erreurs robuste. Si les serveurs mondiaux de Google sont surchargés (Erreur 503) ou si les limites de l'API gratuite sont atteintes (Erreur 429), l'application bloque les animations de chargement infinies et affiche un message clair à l'utilisateur, blâmant poliment l'infrastructure serveur.
- Node.js (version 18+ recommandée)
- Une clé API gratuite Google Gemini
Le double clonage (Crucial) : Pour que le système RAG local fonctionne, vous devez cloner ce projet React, ET le dépôt de données brutes juste à côté (dans le même dossier parent).
# 1. Cloner les données brutes
git clone https://github.com/dvaJi/genshin-data.git
# 2. Cloner ce projet
git clone <votre-url-de-depot> GenshinProject
cd GenshinProject
# 3. Installer les dépendances
npm installL'arborescence requise : Assurez-vous d'avoir cette structure exacte avant de continuer :
📁 Dossier_Global/
├── 📁 genshin-data/ <-- Dépôt des données brutes
└── 📁 GenshinProject/ <-- Le projet React
La génération du RAG : Générez la base de données locale avant le premier lancement :
node scripts/build-rag.jsCela créera le fichier src/data/rag-database.json requis par l'IA.
Créez un fichier .env à la racine de GenshinProject pour renseigner votre clé Gemini :
VITE_GEMINI_API_KEY=votre_cle_api_ici(Vous pourrez aussi la saisir directement dans l'interface de l'application).
Démarrez ensuite le serveur de développement :
npm run devRendez-vous sur http://localhost:5173.
À chaque nouveau patch de Genshin Impact, de nouveaux personnages sortent. Pour que l'IA reste experte, vous devez mettre à jour la base RAG locale.
- Récupérez les données du nouveau patch dans le dépôt brut :
cd ../genshin-data git pull cd ../GenshinProject
- Relancez le script de génération RAG dans votre projet React :
node scripts/build-rag.js
(Note : Ce script convertit les centaines de fichiers JSON lourds contenant le lore et certaines voix du jeu en une base ultra-légère et concentrée sur l'information Theorycraft : Descriptions des talents et passifs nettoyées des balises HTML).
Ce projet a été construit avec les technologies modernes suivantes :
- Framework Global : React (Vite.js)
- Langage & Typage : TypeScript (TS / TSX)
- Stylisation UI & Layouts : Tailwind CSS
- Intelligence Artificielle : Google Generative AI SDK (
@google/genai) - Icônes dynamiques : Lucide React
- Gestion des API tierces : Enka Network (Synchronisation In-Game)
- Traitements locaux (Serverless RAG) : Node.js avec modules ES (FS & Path)


