Skip to content

Anton1P/GenshinProject

Repository files navigation

Genshin AI Theorycrafter

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.


✨ Fonctionnalités Principales

🔄 Importation Dynamique de Compte (Enka Network)

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.

Aperçu de l'importation Enka

🧠 Système d'IA Fiabilisé par RAG Local

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.

⚔️ Génération d'Équipes Intelligentes (JSON)

À 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.

Aperçu de la génération d'équipe

🛡️ Optimisation des Builds Recommandés

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é.

Aperçu des builds

🌐 Interface Multilingue Assistée par l'IA

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.

🛡️ Résilience Réseau et UX Fluide

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.


🚀 Lancement du projet en local

1. Prérequis

  • Node.js (version 18+ recommandée)
  • Une clé API gratuite Google Gemini

2. Installation

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 install

L'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.js

Cela créera le fichier src/data/rag-database.json requis par l'IA.

3. Configuration et Lancement

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 dev

Rendez-vous sur http://localhost:5173.

🛠️ Maintenance & Mise à jour (Script RAG)

À chaque nouveau patch de Genshin Impact, de nouveaux personnages sortent. Pour que l'IA reste experte, vous devez mettre à jour la base RAG locale.

Procédure de mise à jour des données :

  1. Récupérez les données du nouveau patch dans le dépôt brut :
    cd ../genshin-data
    git pull
    cd ../GenshinProject
  2. 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).


💻 Stack Technique

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)

About

tkt

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors