mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-18 04:39:18 +02:00
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:
3 files changed
+241
-5
No files matched your search
@@ -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();
|
||||
Reference in new issue
Block a user