? Chat Nio
? AIGC One-Stop-Business-Lösung der nächsten Generation
„Chat Nio > Next Web + One API“
Englisch · 简体中文 · Offizielle Website · Community · Entwicklerressourcen
? Merkmale
- ?️ Umfangreiche Modellunterstützung : Unterstützung mehrerer Modelldienstanbieter (OpenAI / Anthropic / Gemini / Midjourney und mehr als zehn kompatible Formate und private LLM-Unterstützung)
- ? Schönes UI-Design : UI-kompatibel mit PC/Pad/Mobilgeräten, gemäß den Designstandards von Shadcn UI und Tremor Charts, reichhaltiges und schönes Interface-Design und Backend-Dashboard
- ? Vollständige Markdown-Unterstützung : Unterstützung für LaTeX-Formeln / Mermaid Mind Maps / Tabellenrendering / Code-Hervorhebung / Diagrammzeichnung / Fortschrittsbalken und andere erweiterte Markdown-Syntaxunterstützung
- ? Multi-Theme-Unterstützung : Unterstützung für den Wechsel mehrerer Themes, einschließlich Light Mode für helle Themes und Dark Mode für dunkle Themes. ? Benutzerdefiniertes Farbschema
- ? Internationalisierungsunterstützung : Unterstützung für Internationalisierung, Mehrsprachenumschaltung ?? ?? ?? ?? ? Willkommen, um Pull-Request-Übersetzungen beizutragen
- ? Text-zu-Bild-Unterstützung : Unterstützung für mehrere Text-zu-Bild-Modelle: OpenAI DALL-E ✅ & Midjourney (Unterstützung für U/V/R -Operationen) ✅ & Stable Diffusion✅ usw.
- ? Leistungsstarke Konversationssynchronisierung : Kostenfreie Unterstützung für die geräteübergreifende Konversationssynchronisierung für Benutzer , Unterstützung für die gemeinsame Nutzung von Konversationen (Linkfreigabe und Speichern als Bild und Freigabeverwaltung), keine Notwendigkeit für WebDav/WebRTC und andere Abhängigkeiten sowie komplexe Lernkosten
- ? Modellmarkt und Voreinstellungssystem : Unterstützung für anpassbaren Modellmarkt im Backend, Bereitstellung von Modelleinführungen, Tags und anderen Parametern. Websitebesitzer können Modelleinführungen je nach Situation anpassen. Unterstützt auch ein voreingestelltes System, einschließlich benutzerdefinierter Voreinstellungen und Cloud-Synchronisierungsfunktionen .
- ? Umfangreiche Dateianalyse : Sofort einsatzbereit , unterstützt die Dateianalyse für alle Modelle (Analyse von PDF-/Docx-/Pptx-/Excel-/Bildformaten), unterstützt weitere Cloud-Bildspeicherlösungen (S3/R2/MinIO usw.) und unterstützt OCR Bilderkennung ? Weitere Informationen finden Sie im Projekt Chat Nio Blob Service (unterstützt die Ein-Klick-Bereitstellung von Vercel/Docker).
- ? Vollständige Modell-Internetsuche : Basierend auf der Open-Source-Engine SearXNG, unterstützt umfangreiche Suchmaschinen wie Google / Bing / DuckDuckGo / Yahoo / Wikipedia / Arxiv / Qwant, unterstützt sicheren Suchmodus, Inhaltskürzung, Bild-Proxy, Testsuchverfügbarkeit usw andere Funktionen.
- ? Progressive Web App (PWA) : Unterstützt PWA-Anwendungen und Desktop-Unterstützung (Desktop basierend auf Tauri)
- ? Umfassende Backend-Verwaltung : Unterstützt ein schönes und umfangreiches Dashboard, Ankündigungs- und Benachrichtigungsverwaltung, Benutzerverwaltung, Abonnementverwaltung, Geschenkcode- und Einlösungscodeverwaltung, Preiseinstellung, Abonnementeinstellung, benutzerdefinierter Modellmarkt, benutzerdefinierter Site-Name und -Logo, SMTP-E-Mail-Einstellungen und mehr Funktionen
- ? Mehrere Abrechnungsmethoden : Unterstützt? Abonnement und ? Elastic Billing zwei Abrechnungsmethoden. Elastic Billing unterstützt die Abrechnung pro Anfrage/Token-Abrechnung/keine Abrechnung/anonyme Anrufe sowie die Erkennung minimaler Anforderungspunkte und andere leistungsstarke Funktionen
- ? Innovatives Modell-Caching : Unterstützt die Aktivierung des Modell-Caching: D. h. unter demselben Anforderungsparameter-Hash wird bei vorheriger Anforderung direkt das zwischengespeicherte Ergebnis zurückgegeben (das Erreichen des Caches wird nicht in Rechnung gestellt), wodurch die Anzahl der Anforderungen verringert wird. Sie können anpassen, ob Modelle, Cache-Zeit, mehrere Cache-Ergebnisnummern und andere erweiterte Cache-Einstellungen zwischengespeichert werden sollen
- ? Zusätzliche Funktionen (Unterstützung eingestellt): ? AI-Projektgeneratorfunktion /? Funktion zur Batch-Artikelgenerierung /? AI-Kartenfunktion (veraltet)
- ? Exzellentes Kanalmanagement : Selbstgeschriebener exzellenter Kanalalgorithmus, unterstützt ⚡ Mehrkanalmanagement , unterstützt ? Prioritätseinstellung für die Kanalaufrufreihenfolge, unterstützt ? Gewichtseinstellung für den Lastausgleich, Wahrscheinlichkeitsverteilung von Kanälen mit derselben Priorität, unterstützt ? Benutzergruppierung , ? Automatischer Wiederholungsversuch bei Fehler , ? Modellumleitung , ? Integriertes Upstream-Versteck , ? Kanalstatusverwaltung und andere leistungsstarke Funktionen auf Unternehmensebene
- ⭐ OpenAI API-Verteilungs- und Proxysystem : Unterstützt den Aufruf verschiedener großer Modelle im OpenAI API- Standardformat, integriert leistungsstarke Kanalverwaltungsfunktionen und muss nur einen Standort bereitstellen, um eine gleichzeitige Entwicklung des B/C-End-Geschäfts zu erreichen?
- ? Schnelle Upstream-Synchronisierung : Kanaleinstellungen, Modellmarkt, Preiseinstellungen und andere Einstellungen können schnell mit Upstream-Sites synchronisiert werden, Ihre Site-Konfiguration darauf basierend ändern, Ihre Site schnell erstellen, Zeit und Mühe sparen, Ein-Klick-Synchronisierung, schneller Start
- ? SEO-Optimierung : Unterstützt SEO-Optimierung, unterstützt benutzerdefinierten Site-Namen, Site-Logo und andere SEO-Optimierungseinstellungen, um Suchmaschinen schneller zu crawlen und Ihre Website hervorzuheben?
- ? Systeme mit mehreren Einlösungscodes : Unterstützt mehrere Einlösungscodesysteme, unterstützt Geschenkcodes und Einlösungscodes, unterstützt die Stapelgenerierung, Geschenkcodes eignen sich für die Werbeverteilung, Einlösungscodes eignen sich für Kartenverkäufe, für Geschenkcodes eines Typs kann ein Benutzer nur Geschenkcodes einlösen Ein Code, der in gewissem Maße die Situation verringert, dass ein Benutzer bei Werbeaktionen mehrmals einlöst?
- ? Geschäftsfreundliche Lizenz : Übernimmt die Open-Source-Lizenz Apache-2.0 , geeignet für kommerzielle Sekundärentwicklung und -verteilung (bitte beachten Sie auch die Bestimmungen der Apache-2.0-Lizenz, verwenden Sie sie nicht für illegale Zwecke).
✨ Chat Nio Business
- ✅ Schöne kommerzielle Benutzeroberfläche, elegante Frontend-Oberfläche und Backend-Verwaltung
- ✅ Unterstützt TTS & STT, Plugin-Marktplatz, RAG-Wissensdatenbank und andere umfangreiche Funktionen und Module
- ✅ Mehr Zahlungsanbieter, mehr Abrechnungsmodelle und erweiterte Auftragsverwaltung
- ✅ Unterstützt weitere Authentifizierungsmethoden, einschließlich SMS-Anmeldung, OAuth-Anmeldung usw.
- ✅ Unterstützt Modellüberwachung, Erkennung des Kanalzustands und automatische Kanalumschaltung bei Fehleralarm
- ✅ Unterstützt ein mandantenfähiges API-Schlüsselverteilungssystem, Token-Berechtigungsverwaltung auf Unternehmensebene und Besucherbeschränkungen
- ✅ Unterstützt Sicherheitsüberwachung, Protokollierung, Modellratenbegrenzung, API-Gateway und andere erweiterte Funktionen
- ✅ Unterstützt Werbeprämien, professionelle Datenstatistiken, Benutzerprofilanalyse und andere Geschäftsanalysefunktionen
- ✅ Unterstützt Discord/Telegram/Feishu und andere Bot-Integrationsfunktionen (Erweiterungsmodule)
- ...
? Erfahren Sie mehr
? Unterstützte Modelle
- OpenAI & Azure OpenAI (✅ Vision ✅ Funktionsaufruf)
- Anthropic Claude (✅ Vision ✅ Funktionsaufruf)
- Google Gemini & PaLM2 (✅ Vision)
- Midjourney (✅ Modusumschaltung ✅ U/V/R-Aktionen)
- iFlytek SparkDesk (✅ Vision ✅ Funktionsaufruf)
- Zhipu AI ChatGLM (✅ Vision)
- Alibaba Tongyi Qwen
- Tencent Hunyuan
- Baichuan KI
- Moonshot AI (? OpenAI)
- DeepSeek AI (? OpenAI)
- ByteDance Skylark (✅ Funktionsaufruf)
- Groq Cloud AI
- OpenRouter (? OpenAI)
- 360 GPT
- LocalAI / Ollama (? OpenAI)
? OpenAI-kompatibler API-Proxy
? Einsatz
Tipp
Nach erfolgreicher Bereitstellung lautet das Administratorkonto root
mit dem Standardkennwort chatnio123456
✨ Zeabur (Ein-Klick)
Zeabur bietet ein bestimmtes kostenloses Kontingent, Sie können nicht kostenpflichtige Regionen für die Bereitstellung mit einem Klick nutzen und unterstützen außerdem Planabonnements und elastische Abrechnung für eine flexible Erweiterung.
- Klicken Sie zum
Deploy
auf „Bereitstellen“, geben Sie den Domänennamen ein, den Sie binden möchten, und warten Sie, bis die Bereitstellung abgeschlossen ist. - Nachdem die Bereitstellung abgeschlossen ist, besuchen Sie bitte Ihren Domänennamen und melden Sie sich mit dem Benutzernamen
root
und dem Passwort chatnio123456
bei der Backend-Verwaltung an. Bitte folgen Sie rechtzeitig den Anweisungen zur Passwortänderung im Chatnio-Backend.
⚡ Docker Compose-Installation (empfohlen)
Notiz
Nach erfolgreicher Ausführung lautet die Zuordnungsadresse des Host-Computers http://localhost:8000
git clone --depth=1 --branch=main --single-branch https://github.com/Deeptrain-Community/chatnio.git
cd chatnio
docker-compose up -d # Run the service
# To use the stable version, use docker-compose -f docker-compose.stable.yaml up -d instead
# To use Watchtower for automatic updates, use docker-compose -f docker-compose.watch.yaml up -d instead
Versionsaktualisierung ( Wenn die automatischen Aktualisierungen von Watchtower aktiviert sind, sind manuelle Aktualisierungen nicht erforderlich ):
docker-compose down
docker-compose pull
docker-compose up -d
- MySQL-Datenbank-Mount-Verzeichnis: ~/ db
- Redis-Datenbank-Mount-Verzeichnis: ~/ redis
- Mount-Verzeichnis der Konfigurationsdatei: ~/ config
⚡ Docker-Installation (leichte Laufzeit, häufig für externe MYSQL/RDS -Dienste verwendet)
Notiz
Nach erfolgreicher Ausführung lautet die Host-Maschinenadresse http://localhost:8094
.
Um die stabile Version zu verwenden, verwenden Sie programzmh/chatnio:stable
anstelle von programzmh/chatnio:latest
docker run -d --name chatnio
--network host
-v ~ /config:/config
-v ~ /logs:/logs
-v ~ /storage:/storage
-e MYSQL_HOST=localhost
-e MYSQL_PORT=3306
-e MYSQL_DB=chatnio
-e MYSQL_USER=root
-e MYSQL_PASSWORD=chatnio123456
-e REDIS_HOST=localhost
-e REDIS_PORT=6379
-e SECRET=secret
-e SERVE_STATIC=true
programzmh/chatnio:latest
- --network host bedeutet, das Netzwerk des Host-Computers zu verwenden und dem Docker-Container die Nutzung des Netzwerks des Hosts zu ermöglichen. Sie können dies nach Bedarf ändern.
- SECRET: Geheimer JWT-Schlüssel, eine zufällige Zeichenfolge generieren und entsprechend ändern
- SERVE_STATIC: Ob statische Dateibereitstellung aktiviert werden soll (normalerweise muss dies nicht geändert werden, siehe FAQ unten für Details)
- -v ~/config:/config mountet die Konfigurationsdatei, -v ~/logs:/logs mountet das Host-Rechner-Verzeichnis für Protokolldateien, -v ~/storage:/storage mountet das Verzeichnis für zusätzliche, von Funktionen generierte Dateien
- MySQL- und Redis-Dienste müssen konfiguriert werden. Bitte beachten Sie die obigen Informationen, um die Umgebungsvariablen entsprechend zu ändern
Versionsaktualisierung ( Nach der Aktivierung von Watchtower sind keine manuellen Aktualisierungen erforderlich. Befolgen Sie nach der Ausführung die oben genannten Schritte, um erneut auszuführen ):
docker stop chatnio
docker rm chatnio
docker pull programzmh/chatnio:latest
⚒ Kompilieren und installieren
Notiz
Nach erfolgreicher Bereitstellung lautet der Standardport 8094 und die Zugriffsadresse lautet http://localhost:8094
Konfigurationseinstellungen (~/config/ config.yaml ) können mithilfe von Umgebungsvariablen überschrieben werden. Beispielsweise kann die Umgebungsvariable MYSQL_HOST
das Konfigurationselement mysql.host
überschreiben
git clone https://github.com/Deeptrain-Community/chatnio.git
cd chatnio
cd app
npm install -g pnpm
pnpm install
pnpm build
cd ..
go build -o chatnio
# e.g. using nohup (you can also use systemd or other service manager)
nohup ./chatnio > output.log & # using nohup to run in background
? Tech-Stack
- ? Frontend: React + Redux + Radix UI + Tailwind CSS
- ? Backend: Golang + Gin + Redis + MySQL
- ? Anwendungstechnologie: PWA + WebSocket
? Warum dieses Projekt erstellen und Projektvorteile
Wir haben festgestellt, dass es sich bei den meisten kommerziellen AIGC-Websites auf dem Markt um Frontend-orientierte, leichtgewichtige Bereitstellungsprojekte mit schönen UI-Schnittstellendesigns handelt, wie beispielsweise die kommerzielle Version von Next Chat. Aufgrund seines privatisierungsorientierten Designs gibt es einige Einschränkungen bei der sekundären kommerziellen Entwicklung, die einige Probleme mit sich bringen, wie zum Beispiel:
- Schwierige Konversationssynchronisierung , die beispielsweise Dienste wie WebDav erfordert, hohe Benutzerlernkosten und Schwierigkeiten bei der geräteübergreifenden Synchronisierung in Echtzeit.
- Unzureichende Abrechnung , z. B. nur elastische Abrechnung oder nur abonnementbasierte Abrechnung, nicht in der Lage, die Bedürfnisse verschiedener Benutzer zu erfüllen.
- Unbequemes Datei-Parsing , z. B. nur das Hochladen von Bildern zunächst zu einem Bild-Hosting-Dienst und dann die Rückkehr zur Website, um den URL-Direktlink in das Eingabefeld einzugeben, ohne integrierte Datei-Parsing-Funktionalität.
- Keine Unterstützung für die Freigabe von Konversations-URLs , z. B. nur Unterstützung für die Freigabe von Konversations-Screenshots, keine Unterstützung für die Freigabe von Konversations-URLs (oder nur Unterstützung für Tools wie ShareGPT, die die Website nicht bewerben können).
- Unzureichende Kanalverwaltung : Das Backend unterstützt beispielsweise nur Kanäle im OpenAI-Format, was die Kompatibilität mit anderen Formatkanälen erschwert. Und es kann nur ein Kanal ausgefüllt werden, sodass die Mehrkanalverwaltung nicht unterstützt werden kann.
- Keine Unterstützung für API-Aufrufe , z. B. nur Unterstützung für Benutzeroberflächenaufrufe, keine Unterstützung für API-Proxy und -Verwaltung.
Ein weiterer Typ sind API-verteilungsorientierte Websites mit leistungsstarken Verteilungssystemen, beispielsweise Projekte, die auf One API basieren. Obwohl diese Projekte leistungsstarkes API-Proxying und -Management unterstützen, mangelt es ihnen an Schnittstellendesign und einigen C-End-Funktionen, wie zum Beispiel:
- Unzureichende Benutzeroberfläche , z. B. nur Unterstützung von API-Aufrufen, ohne integrierten Benutzeroberflächen-Chat. Für den Benutzeroberflächen-Chat ist es erforderlich, den Schlüssel manuell zu kopieren und zur Verwendung auf andere Websites zu gehen, was für normale Benutzer einen hohen Lernaufwand mit sich bringt.
- Beispielsweise gibt es kein Abonnementsystem , das nur die elastische Abrechnung unterstützt, es fehlt ein Abrechnungsdesign für C-End-Benutzer, es ist nicht in der Lage, unterschiedliche Benutzeranforderungen zu erfüllen, und es ist nicht benutzerfreundlich im Hinblick auf die Kostenwahrnehmung für Benutzer ohne Grundlage.
- Unzureichende C-End-Funktionen , z. B. nur Unterstützung von API-Aufrufen, keine Unterstützung von Konversationssynchronisierung, Konversationsfreigabe, Dateianalyse und anderen Funktionen.
- Unzureichender Lastausgleich , die Open-Source-Version unterstützt den Gewichtungsparameter nicht und kann keine ausgeglichene Lastverteilungswahrscheinlichkeit für Kanäle mit derselben Priorität erreichen (die neue API löst auch dieses Problem mit einer schöneren Benutzeroberfläche).
Daher hoffen wir, die Vorteile dieser beiden Projekttypen zu kombinieren, um ein Projekt zu schaffen, das sowohl über ein leistungsstarkes API-Verteilungssystem als auch ein reichhaltiges Benutzeroberflächendesign verfügt und so die Anforderungen von C-End-Benutzern erfüllt und gleichzeitig das B-End-Geschäft entwickelt und verbessert Benutzererfahrung, Reduzierung der Benutzerlernkosten und Erhöhung der Benutzerbindung.
So wurde Chat Nio geboren. Wir hoffen, ein Projekt zu schaffen, das sowohl über ein leistungsstarkes API-Verteilungssystem als auch ein reichhaltiges Benutzeroberflächendesign verfügt und so zur kommerziellen Komplettlösung des Open-Source-AIGC-Projekts der nächsten Generation wird.
❤ Spenden
Wenn Sie dieses Projekt hilfreich finden, können Sie ihm als Zeichen Ihrer Unterstützung einen Stern verleihen!