? Chat Nio
? Solución empresarial integral AIGC de próxima generación
"Chat Nio > Siguiente Web + Una API"
Inglés · 简体中文 · Sitio web oficial · Comunidad · Recursos para desarrolladores
? Características
- ?️ Compatibilidad con modelos enriquecidos : compatibilidad con proveedores de servicios multimodelo (OpenAI / Anthropic / Gemini / Midjourney y más de diez formatos compatibles y compatibilidad con LLM privado)
- ? Hermoso diseño de interfaz de usuario : interfaz de usuario compatible con PC/Pad/móvil, siguiendo los estándares de diseño Shadcn UI y Tremor Charts, diseño de interfaz rico y hermoso y panel de control backend
- ? Soporte completo de Markdown : soporte para fórmulas LaTeX / mapas mentales de sirena / representación de tablas / resaltado de código / dibujo de gráficos / barras de progreso y otro soporte avanzado de sintaxis de Markdown
- ? Compatibilidad con múltiples temas : compatibilidad con el cambio de múltiples temas, incluido el modo claro para temas claros y el modo oscuro para temas oscuros. ? Esquema de color personalizado
- ? Soporte de internacionalización : ¿Soporte para internacionalización, cambio de varios idiomas? ?? ?? ?? ? Bienvenido a contribuir con traducciones Solicitud de extracción
- ? Soporte de texto a imagen : Soporte para múltiples modelos de texto a imagen: OpenAI DALL-E ✅ y Midjourney (soporte para operaciones U/V/R ) ✅ y Difusión estable ✅, etc.
- ? Potente sincronización de conversaciones : soporte de sincronización de conversaciones entre dispositivos sin costo para los usuarios , soporte para compartir conversaciones (compartir enlaces y guardar como imagen y administración de recursos compartidos), sin necesidad de WebDav/WebRTC y otras dependencias y costos de aprendizaje complejos
- ? Mercado de modelos y sistema preestablecido : soporte para el mercado de modelos personalizable en el backend, que proporciona introducciones de modelos, etiquetas y otros parámetros. Los propietarios del sitio pueden personalizar las presentaciones de modelos según la situación. También admite un sistema preestablecido, que incluye ajustes preestablecidos personalizados y funciones de sincronización en la nube .
- ? Análisis enriquecido de archivos : listo para usar , admite análisis de archivos para todos los modelos (PDF / Docx / Pptx / Excel / análisis de formatos de imagen), admite más soluciones de almacenamiento de imágenes en la nube (S3 / R2 / MinIO, etc.), admite OCR reconocimiento de imagen ? Consulte el proyecto Chat Nio Blob Service para obtener más detalles (admite la implementación con un solo clic de Vercel/Docker)
- ? Modelo completo de búsqueda en Internet : basado en el motor de código abierto SearXNG, admite motores de búsqueda enriquecidos como Google / Bing / DuckDuckGo / Yahoo / Wikipedia / Arxiv / Qwant, admite modo de búsqueda segura, truncamiento de contenido, proxy de imágenes, prueba de disponibilidad de búsqueda y otras funciones.
- ? Aplicación web progresiva (PWA) : admite aplicaciones PWA y soporte de escritorio (escritorio basado en Tauri)
- ? Gestión integral de backend : admite un hermoso y completo panel de control, gestión de anuncios y notificaciones, gestión de usuarios, gestión de suscripciones, gestión de códigos de regalo y códigos de canje, configuración de precios, configuración de suscripciones, mercado de modelos personalizados, nombre y logotipo de sitio personalizados, configuración de correo electrónico SMTP y otros. funciones
- ? Múltiples métodos de facturación : ¿Admite? Suscripción y ? Elastic Billing dos métodos de facturación. La facturación elástica admite facturación por solicitud/facturación por token/sin facturación/llamadas anónimas y detección de puntos mínimos de solicitud y otras potentes funciones
- ? Almacenamiento en caché de modelos innovador : admite la habilitación del almacenamiento en caché de modelos: es decir, bajo el mismo hash de parámetro de solicitud, si se ha solicitado antes, devolverá directamente el resultado almacenado en caché (no se facturará el acceso al caché), lo que reduce la cantidad de solicitudes. Puede personalizar si desea almacenar en caché los modelos, el tiempo de caché, los números de resultados de caché múltiples y otras configuraciones avanzadas de caché.
- ? Características adicionales (soporte descontinuado): ? Función de generador de proyectos de IA /? Función de generación de artículos por lotes /? Función de tarjeta AI (obsoleta)
- ? Excelente gestión de canales : algoritmo de canal excelente escrito por usted mismo, admite ⚡ gestión multicanal , admite ? configuración de prioridad para el orden de llamadas de canal, admite? ¿Configuración de peso para la distribución de probabilidad de equilibrio de carga de canales con la misma prioridad? agrupación de usuarios , ? reintento automático en caso de error , ? redirección del modelo , ? ocultación incorporada aguas arriba , ? gestión del estado del canal y otras potentes funciones de nivel empresarial
- ⭐ Sistema de proxy y distribución de API OpenAI : admite la llamada a varios modelos grandes en el formato estándar API de OpenAI , integra potentes funciones de administración de canales, ¿solo necesita implementar un sitio para lograr el desarrollo simultáneo de negocios B/C-end?
- ? Sincronización rápida ascendente : la configuración del canal, el mercado de modelos, la configuración de precios y otras configuraciones pueden sincronizarse rápidamente con los sitios ascendentes, modificar la configuración de su sitio en función de esto, crear rápidamente su sitio, ahorrar tiempo y esfuerzo, sincronización con un solo clic, inicio rápido
- ? Optimización SEO : admite la optimización SEO, admite nombres de sitios personalizados, logotipos del sitio y otras configuraciones de optimización SEO para hacer que los motores de búsqueda rastreen más rápido y hacer que su sitio se destaque.
- ? Múltiples sistemas de códigos de canje : admite múltiples sistemas de códigos de canje, admite códigos de regalo y códigos de canje, admite generación por lotes, los códigos de regalo son adecuados para distribución promocional, los códigos de canje son adecuados para ventas con tarjetas, para códigos de regalo de un tipo, un usuario solo puede canjear ¿Un código, lo que hasta cierto punto reduce la situación de que un usuario canjee varias veces en promociones?
- ? Licencia empresarial : adopta la licencia de código abierto Apache-2.0 , compatible con el desarrollo y la distribución secundarios comerciales (cumpla también con las disposiciones de la licencia Apache-2.0, no la utilice con fines ilegales)
✨ Chat Nio Negocios
- ✅ Hermosa interfaz de usuario de nivel comercial, elegante interfaz frontal y administración de backend
- ✅ Admite TTS y STT, mercado de complementos, base de conocimientos RAG y otras funciones y módulos completos
- ✅ Más proveedores de pago, más modelos de facturación y gestión avanzada de pedidos
- ✅ Admite más métodos de autenticación, incluido el inicio de sesión por SMS, el inicio de sesión OAuth, etc.
- ✅ Admite monitoreo de modelo, detección de estado de canal, cambio automático de canal de alarma de falla
- ✅ Admite sistema de distribución de claves API multiinquilino, gestión de permisos de tokens a nivel empresarial y restricciones de visitantes
- ✅ Admite auditoría de seguridad, registro, limitación de velocidad de modelo, API Gateway y otras funciones avanzadas
- ✅ Admite recompensas de promoción, estadísticas de datos profesionales, análisis de perfiles de usuarios y otras capacidades de análisis empresarial
- ✅ Admite Discord/Telegram/Feishu y otras capacidades de integración de bots (módulos de extensión)
- ...
? Más información
? Modelos compatibles
- OpenAI y Azure OpenAI ( ✅ Visión ✅ Llamadas de funciones)
- Claude antrópico ( ✅ Visión ✅ Llamada de función)
- Google Géminis y PaLM2 (✅ Visión)
- A mitad del viaje (✅ Cambio de modo ✅ Acciones U/V/R)
- iFlytek SparkDesk ( ✅ Visión ✅ Llamadas de funciones)
- Zhipu AI ChatGLM (✅ Visión)
- Alibaba Tongyi Qwen
- Tencent Hunyuan
- IA de Baichuan
- IA lunar (? OpenAI)
- DeepSeek AI (? OpenAI)
- ByteDance Skylark (✅ Llamada de función)
- IA en la nube de Groq
- OpenRouter (? OpenAI)
- 360 GPT
- LocalAI/Ollama (? OpenAI)
? Proxy API compatible con OpenAI
? Despliegue
Consejo
Después de una implementación exitosa, la cuenta de administrador es root
, con la contraseña predeterminada chatnio123456
✨ Zeabur (Un clic)
Zeabur proporciona una determinada cuota gratuita, puede utilizar regiones no pagas para la implementación con un solo clic y también admite suscripciones a planes y facturación elástica para una expansión flexible.
- Haga clic en
Deploy
para implementar e ingrese el nombre de dominio que desea vincular, espere a que se complete la implementación. - Una vez completada la implementación, visite su nombre de dominio e inicie sesión en la administración de backend con el nombre de usuario
root
y la contraseña chatnio123456
. Siga las instrucciones para cambiar la contraseña en el backend de chatnio de manera oportuna.
⚡ Instalación de Docker Compose (recomendado)
Nota
Después de una ejecución exitosa, la dirección de mapeo de la máquina host es 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
Actualización de versión ( si las actualizaciones automáticas de Watchtower están habilitadas, las actualizaciones manuales no son necesarias ):
docker-compose down
docker-compose pull
docker-compose up -d
- Directorio de montaje de la base de datos MySQL: ~/ db
- Directorio de montaje de la base de datos de Redis: ~/ redis
- Directorio de montaje del archivo de configuración: ~/ config
⚡ Instalación de Docker (tiempo de ejecución liviano, comúnmente utilizado para servicios externos MYSQL/RDS )
Nota
Después de una ejecución exitosa, la dirección de la máquina host es http://localhost:8094
.
Para usar la versión estable, use programzmh/chatnio:stable
en lugar de 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 significa usar la red de la máquina host, permitiendo que el contenedor Docker use la red del host. Puede modificar esto según sea necesario.
- SECRETO: clave secreta JWT, genera una cadena aleatoria y modifícala en consecuencia
- SERVE_STATIC: si se debe habilitar el servicio de archivos estáticos (normalmente no es necesario cambiar esto; consulte las preguntas frecuentes a continuación para obtener más detalles)
- -v ~/config:/config monta el archivo de configuración, -v ~/logs:/logs monta el directorio de la máquina host para los archivos de registro, -v ~/storage:/storage monta el directorio para archivos generados por funciones adicionales
- Es necesario configurar los servicios MySQL y Redis. Consulte la información anterior para modificar las variables de entorno en consecuencia.
Actualización de versión ( después de habilitar Watchtower, las actualizaciones manuales no son necesarias. Después de la ejecución, siga los pasos anteriores para ejecutar nuevamente ):
docker stop chatnio
docker rm chatnio
docker pull programzmh/chatnio:latest
⚒ Compilar e instalar
Nota
Después de una implementación exitosa, el puerto predeterminado es 8094 y la dirección de acceso es http://localhost:8094
Los ajustes de configuración (~/config/ config.yaml ) se pueden anular mediante variables de entorno. Por ejemplo, la variable de entorno MYSQL_HOST
puede anular el elemento de configuración mysql.host
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
? Pila de tecnología
- ? Interfaz: React + Redux + Radix UI + Tailwind CSS
- ? Servidor: Golang + Gin + Redis + MySQL
- ? Tecnología de aplicación: PWA + WebSocket
? Por qué crear este proyecto y ventajas del proyecto
Descubrimos que la mayoría de los sitios comerciales de AIGC en el mercado son proyectos de implementación livianos orientados al frontend con hermosos diseños de interfaz de usuario, como la versión comercial de Next Chat. Debido a su diseño personal orientado a la privatización, existen algunas limitaciones en el desarrollo comercial secundario, presentando algunos problemas, tales como:
- Sincronización de conversaciones difícil , por ejemplo, que requiere servicios como WebDav, altos costos de aprendizaje del usuario y dificultades en la sincronización entre dispositivos en tiempo real.
- Facturación insuficiente , por ejemplo, solo admite facturación elástica o solo por suscripción, incapaz de satisfacer las necesidades de diferentes usuarios.
- Análisis de archivos inconveniente , por ejemplo, solo admite la carga de imágenes a un servicio de alojamiento de imágenes primero y luego regresa al sitio para ingresar el enlace directo URL en el cuadro de entrada, sin la funcionalidad de análisis de archivos incorporada.
- No se admite compartir URL de conversación , por ejemplo, solo se admite compartir capturas de pantalla de conversación, no se puede compartir URL de conversación (o solo se admiten herramientas como ShareGPT, que no pueden promocionar el sitio).
- Gestión de canales insuficiente , por ejemplo, el backend solo admite canales en formato OpenAI, lo que dificulta la compatibilidad con otros canales de formato. Y solo se puede completar un canal, por lo que no se puede admitir la gestión multicanal.
- No hay soporte para llamadas API , por ejemplo, solo admite llamadas a la interfaz de usuario, no puede admitir la administración y el proxy de API.
Otro tipo son los sitios orientados a la distribución de API con potentes sistemas de distribución, como los proyectos basados en One API. Aunque estos proyectos admiten potentes funciones de proxy y administración de API, carecen de diseño de interfaz y de algunas funciones de extremo C, como por ejemplo:
- Interfaz de usuario insuficiente , por ejemplo, solo admite llamadas API y no tiene un chat de interfaz de usuario integrado. El chat de la interfaz de usuario requiere copiar manualmente la clave e ir a otros sitios para usarla, lo que tiene un alto costo de aprendizaje para los usuarios comunes.
- No hay un sistema de suscripción , por ejemplo, solo admite facturación elástica, carece de un diseño de facturación para los usuarios finales C, no puede satisfacer las diferentes necesidades de los usuarios y no es fácil de usar en términos de percepción de costos para los usuarios sin una base.
- Funciones insuficientes del extremo C , por ejemplo, solo admiten llamadas API, no admiten sincronización de conversaciones, intercambio de conversaciones, análisis de archivos y otras funciones.
- Equilibrio de carga insuficiente , la versión de código abierto no admite el parámetro de peso y no puede lograr una probabilidad de distribución de carga equilibrada para canales con la misma prioridad (la nueva API también resuelve este problema, con una interfaz de usuario más hermosa).
Por lo tanto, esperamos combinar las ventajas de estos dos tipos de proyectos para crear un proyecto que tenga un potente sistema de distribución API y un rico diseño de interfaz de usuario, satisfaciendo así las necesidades de los usuarios finales C mientras desarrollamos negocios B-end, mejorando experiencia del usuario, reduciendo los costos de aprendizaje del usuario y aumentando la fidelidad del usuario.
Así nació Chat Nio . Esperamos crear un proyecto que tenga un potente sistema de distribución API y un rico diseño de interfaz de usuario, convirtiéndose en la solución comercial integral del proyecto AIGC de código abierto de próxima generación.
❤ Donaciones
Si encuentra útil este proyecto, ¡puede darle una estrella para mostrar su apoyo!