Feature: Chatbox IA avec OpenRouter et sélecteur de modèles

Ajout d'un chatbot interactif alimenté par OpenRouter API avec les fonctionnalités suivantes:
- Bouton flottant en bas à droite pour ouvrir le chat
- Sélecteur de modèles IA avec tous les modèles disponibles via l'API OpenRouter
- Interface de chat avec historique des messages (utilisateur/assistant)
- Indicateur de chargement avec animation
- Boutons pour effacer l'historique et fermer le chat
- Auto-scroll vers le dernier message
- Backend: route POST /api/openrouter/chat pour la communication avec l'API
- Service frontend: méthode sendMessage() dans OpenRouterService

Retrait du composant MadeWithDyad comme demandé.
This commit is contained in:
Claude committed 2025-11-12 16:17:33 +00:00
1 parent 98a11b9ddd
commit da548f7bc0
3 files changed
+241 -5

No files matched your search

+27
View File
@@ -54,6 +54,33 @@ class OpenRouterService {
throw error;
}
}
/**
* Send chat message to AI model
*/
async sendMessage(model: string, messages: Array<{ role: string; content: string }>): Promise<string> {
try {
const response = await fetch('/api/openrouter/chat', {
method: 'POST',
headers: {
...AuthService.getHeaders(),
'Content-Type': 'application/json'
},
body: JSON.stringify({ model, messages })
});
if (!response.ok) {
const error = await response.json().catch(() => ({ error: 'Erreur inconnue' }));
throw new Error(error.error || 'Erreur lors de la communication avec l\'IA');
}
const data = await response.json();
return data.choices?.[0]?.message?.content || 'Pas de réponse';
} catch (error: any) {
console.error('Erreur lors de l\'envoi du message:', error);
throw error;
}
}
}
export default new OpenRouterService();