netic-api
v1.0.0
Published
Package Node.js pour discuter avec Netic API
Downloads
103
Readme
Netic API Client
Un client Node.js moderne et complet pour communiquer avec l'API Netic AI.
Installation
npm install neticFeatures
- ✅ Chat texte simple
- ✅ Support de l'historique de conversation
- ✅ Envoi de fichiers audio (premium)
- ✅ Gestion automatique du quota
- ✅ Gestion robuste des erreurs
- ✅ Configuration persistente de la clé API
- ✅ TypeScript-friendly avec JSDoc
Utilisation rapide
Importation
import { NeticClient, chat, setApiKey } from 'netic';Chat simple
import { chat } from 'netic';
try {
const response = await chat("Bonjour, comment allez-vous ?", "netic_votre_api_key");
console.log(response.response);
console.log("Quota restant:", response.usage.remaining);
} catch (error) {
console.error("Erreur:", error.message);
}Avec la classe NeticClient
import { NeticClient } from 'netic';
const client = new NeticClient("netic_votre_api_key");
try {
const response = await client.chat("Qu'est-ce que l'IA ?");
console.log(response.response);
} catch (error) {
console.error("Erreur:", error.message);
}Configuration
Clé API persistente
import { setApiKey, getApiKey } from 'netic';
// Sauvegarder la clé API
setApiKey("netic_votre_api_key");
// Utiliser automatiquement la clé sauvegardée
const client = new NeticClient();Fonctionnalités avancées
Historique de conversation
import { NeticClient } from 'netic';
const client = new NeticClient("netic_votre_api_key");
// L'historique est géré automatiquement
await client.chat("Je m'appelle Jean");
await client.chat("Comment tu m'appelles ?"); // L'IA se souvient !
// Voir l'historique
console.log(client.getHistory());
// Vider l'historique
client.clearHistory();Historique personnalisé
const history = [
{ role: "user", content: "Je suis développeur" },
{ role: "assistant", content: "Intéressant !" }
];
const response = await client.chat("Quels frameworks ?", history);Support audio (premium)
import { NeticClient } from 'netic';
const client = new NeticClient("netic_votre_api_key");
try {
const response = await client.chatWithAudio({
message: "Voici un message audio",
audio: "/chemin/vers/fichier.webm"
});
console.log(response.response);
if (response.audio_url) {
console.log("Audio disponible:", response.audio_url);
}
} catch (error) {
if (error.message.includes('Audio feature not enabled')) {
console.log("L'accès audio doit être activé par un admin");
}
}API complète
NeticClient
Constructor
new NeticClient(apiKey?: string)- Crée une instance cliente
Methods
setApiKey(key: string)- Définit la clé APIchat(message: string, history?: Array): Promise<Object>- Chat textechatWithAudio(options: Object): Promise<Object>- Chat avec audiogetHistory(): Array- Récupère l'historiqueclearHistory()- Vide l'historique
Fonctions utilitaires
chat(message, apiKey?, history?)- Chat simplechatWithAudio(options, apiKey?)- Chat audio simplesetApiKey(key)- Sauvegarde la clé APIgetApiKey()- Récupère la clé APIclearApiKey()- Supprime la clé APIisValidApiKey(key)- Valide le format de la cléformatHistory(history)- Formate l'historique
Réponse API
{
response: "Réponse de l'IA",
usage: {
quota_used: 45,
quota_limit: 1000,
remaining: 955
},
user: "Nom utilisateur",
audio_url: "/uploads/audio/..." // optionnel
}Gestion des erreurs
Le client gère automatiquement tous les codes d'erreur :
- 401 - Clé API invalide
- 403 - Clé non approuvée ou audio non activé
- 429 - Quota dépassé
- 400 - Requête invalide
- 500 - Erreur serveur
try {
const response = await client.chat("Test");
} catch (error) {
if (error.message.includes('Quota exceeded')) {
console.log("Quota épuisé !");
}
}Exemples
Voir le dossier /examples pour des exemples complets :
examples/basic.js- Utilisation de baseexamples/audio.js- Support audioexamples/advanced.js- Fonctionnalités avancées
Configuration
La clé API est sauvegardée dans ~/.netic/config.json.
Obtenir une clé API
- Connectez-vous sur https://netic.jtheberg.cloud
- Demandez une clé API dans le chat
- Attendez l'approbation admin
- Pour l'audio: contactez un admin pour l'activation
Licence
Jtheberg License use
