À propos du projet

CoAI (anciennement Chat Nio) est une plateforme open-source auto-hébergée qui combine une application de chat IA destinée aux consommateurs avec une passerelle API compatible OpenAI et un système de distribution, conçue pour les opérateurs souhaitant servir à la fois les utilisateurs finaux et les développeurs depuis un seul déploiement. Prise en charge des modèles et fournisseurs : La passerelle intègre une gamme de fournisseurs et formats, notamment OpenAI et Azure OpenAI, Anthropic Claude, Google Gemini et PaLM2, Midjourney (avec actions U/V/R), iFlytek SparkDesk, Zhipu ChatGLM, Alibaba Tongyi Qianwen, Tencent Hunyuan, Baichuan, Moonshot, DeepSeek, ByteDance Skylark, Groq, OpenRouter, 360 GPT, ainsi que des exécutions locales comme LocalAI et Ollama. La génération texte-image couvre DALL-E, Midjourney et Stable Diffusion. La description du dépôt indique la prise en charge de plus de 200 modèles sur plus de 35 fournisseurs. Gestion de la passerelle et des canaux : Les canaux peuvent être configurés avec un ordre de priorité, une répartition de charge pondérée au sein d'une même priorité, un regroupement d'utilisateurs, une nouvelle tentative automatique en cas d'échec, une redirection de modèle, un masquage en amont et une gestion de l'état des canaux. Les points de terminaison exposés compatibles OpenAI incluent /v1/chat/completions, /v1/images, /v1/models et /v1/billing. Fonctionnalités de chat et utilisateur final : L'interface web (React, Redux, Radix UI, Tailwind CSS) est réactive sur PC, tablette et mobile, avec thèmes clair et sombre et internationalisation multilingue. Le rendu Markdown couvre les formules LaTeX, les diagrammes Mermaid, les tableaux, la coloration syntaxique et les graphiques. Les conversations se synchronisent entre appareils sans dépendance à WebDAV ou WebRTC et peuvent être partagées par lien ou enregistrées en image. Un marché de modèles personnalisable et un système de préréglages (avec synchronisation cloud) sont gérés depuis le backend. Une version PWA et une application de bureau basée sur Tauri sont disponibles. Fichiers et recherche : L'analyse de fichiers fonctionne de manière native pour les formats PDF, DOCX, PPTX, Excel et image sur tous les modèles, avec OCR et stockage objet cloud (S3, R2, MinIO) gérés via un service blob compagnon. La recherche web repose sur le moteur SearXNG, prenant en charge des sources telles que Google, Bing, DuckDuckGo, Yahoo, Wikipédia, Arxiv et Qwant, avec mode de recherche sécurisée, troncature du contenu et options de proxy d'image. Facturation et administration : Deux modes de facturation sont proposés : abonnements et facturation élastique (par requête, par jeton, appels gratuits ou anonymes, avec vérification du nombre minimal de points par requête). Les codes cadeaux et codes de remboursement prennent en charge la génération par lot pour les promotions ou la vente de cartes. Le backend d'administration comprend des tableaux de bord, la gestion des annonces et notifications, la gestion des utilisateurs et abonnements, les paramètres de prix, le nom et logo personnalisés du site, ainsi que la configuration SMTP. Un cache de modèles optionnel renvoie les résultats précédemment calculés pour des paramètres de requête identiques sans facturer la correspondance de cache, avec durée de cache et nombre de résultats configurables. Déploiement : Docker et Docker Compose sont les chemins d'installation recommandés (nécessitant MySQL et Redis), avec des options en un clic pour Zeabur, BTPanel et Alibaba Cloud ComputeNest, ainsi que la compilation depuis les sources avec pnpm pour le frontend et Go pour le backend. Le compte administrateur initial est root avec un mot de passe par défaut à changer immédiatement après le déploiement. Le projet est sous licence Apache-2.0. Une édition commerciale Pro distincte ajoute des fonctionnalités telles que TTS/STT, une place de marché de plugins, une base de connaissances RAG, des fournisseurs de paiement supplémentaires et une surveillance de la santé des canaux ; ces capacités ne font pas partie du dépôt open-source.