? Bate-papo Nio
? Solução de negócios completa AIGC de próxima geração
"Chat Nio > Próxima Web + One API"
Português · 简体中文 · Site oficial · Comunidade · Recursos para desenvolvedores
? Características
- ?️ Suporte rico a modelos : suporte a provedores de serviços multimodelos (OpenAI / Anthropic / Gemini / Midjourney e mais de dez formatos compatíveis e suporte LLM privado)
- ? Belo design de interface de usuário : interface de usuário compatível com PC / Pad / Mobile, seguindo os padrões de design Shadcn UI e Tremor Charts, design de interface rico e bonito e painel de back-end
- ? Suporte completo ao Markdown : suporte para fórmulas LaTeX / mapas mentais Mermaid /renderização de tabelas/destaque de código/desenho de gráficos/barras de progresso e outros suportes avançados de sintaxe Markdown
- ? Suporte a vários temas : suporte para troca de vários temas, incluindo Modo Claro para temas claros e Modo Escuro para temas escuros. ? Esquema de cores personalizado
- ? Suporte à Internacionalização : Suporte à internacionalização, comutação multilíngue ?? ?? ?? ?? ? Bem-vindo a contribuir com traduções Pull Request
- ? Suporte de texto para imagem : Suporte para vários modelos de texto para imagem: OpenAI DALL-E ✅ e Midjourney (suporte para operações U/V/R ) ✅ e Difusão Estável ✅ etc.
- ? Sincronização poderosa de conversas : suporte de sincronização de conversas entre dispositivos com custo zero para usuários , suporte para compartilhamento de conversas (compartilhamento de links e salvamento como imagem e gerenciamento de compartilhamento), sem necessidade de WebDav/WebRTC e outras dependências e custos de aprendizagem complexos
- ? Mercado de modelos e sistema predefinido : suporte para mercado de modelos personalizáveis no backend, fornecendo introduções de modelos, tags e outros parâmetros. Os proprietários de sites podem personalizar as apresentações dos modelos de acordo com a situação. Também oferece suporte a um sistema predefinido, incluindo predefinições personalizadas e funções de sincronização em nuvem .
- ? Análise rica de arquivos : pronta para uso , suporta análise de arquivos para todos os modelos (PDF/Docx/Pptx/Excel/análise de formatos de imagem), suporta mais soluções de armazenamento de imagens em nuvem (S3/R2/MinIO etc.), suporta OCR reconhecimento de imagem ? Consulte o projeto Chat Nio Blob Service para obter detalhes (suporta implantação de um clique Vercel / Docker)
- ? Pesquisa de modelo completo na Internet : baseado no mecanismo de código aberto SearXNG, oferece suporte a mecanismos de pesquisa avançados, como Google / Bing / DuckDuckGo / Yahoo / Wikipedia / Arxiv / Qwant, oferece suporte ao modo de pesquisa segura, truncamento de conteúdo, proxy de imagem, disponibilidade de pesquisa de teste e outras funções.
- ? Progressive Web App (PWA) : Suporta aplicativos PWA e suporte de desktop (desktop baseado em Tauri)
- ? Gerenciamento abrangente de back-end : suporta painel bonito e rico, gerenciamento de anúncios e notificações, gerenciamento de usuários, gerenciamento de assinaturas, código de presente e gerenciamento de código de resgate, configuração de preço, configuração de assinatura, mercado de modelo personalizado, nome e logotipo de site personalizado, configurações de e-mail SMTP e outros funções
- ? Vários métodos de cobrança : Suporta? Assinatura e ? Elastic Billing dois métodos de faturamento. O faturamento elástico suporta cobrança por solicitação/faturamento de token/sem cobrança/chamadas anônimas e detecção de pontos mínimos de solicitação e outros recursos poderosos
- ? Cache de Modelo Inovador : Suporta habilitação de cache de modelo: ou seja, sob o mesmo hash de parâmetro de solicitação, caso tenha sido solicitado anteriormente, retornará diretamente o resultado armazenado em cache (acertar o cache não será cobrado), reduzindo o número de solicitações. Você pode personalizar se deseja armazenar em cache modelos, tempo de cache, vários números de resultados de cache e outras configurações avançadas de cache
- ? Recursos adicionais (suporte descontinuado): ? Função Gerador de Projeto AI / ? Função de geração de artigos em lote / ? Função de cartão AI (obsoleto)
- ? Excelente gerenciamento de canal : excelente algoritmo de canal auto-escrito, suporta ⚡ gerenciamento multicanal , suporta ? configuração de prioridade para ordem de chamada de canal, suporta? configuração de peso para distribuição de probabilidade de balanceamento de carga de canais com a mesma prioridade, suporta ? agrupamento de usuários , ? nova tentativa automática em caso de falha , ? redirecionamento de modelo , ? ocultação upstream integrada , ? gerenciamento de status de canal e outras funções poderosas de nível empresarial
- ⭐ Sistema de distribuição e proxy de API OpenAI : suporta a chamada de vários modelos grandes no formato padrão de API OpenAI , integra funções poderosas de gerenciamento de canal, só precisa implantar um site para alcançar o desenvolvimento simultâneo de negócios B/C-end?
- ? Sincronização upstream rápida : configurações de canal, mercado de modelo, configurações de preço e outras configurações podem sincronizar rapidamente com sites upstream, modificar a configuração do seu site com base nisso, construir seu site rapidamente, economizar tempo e esforço, sincronização com um clique, início rápido
- ? Otimização de SEO : Suporta otimização de SEO, suporta nome de site personalizado, logotipo do site e outras configurações de otimização de SEO para fazer com que os mecanismos de pesquisa rastreiem mais rápido, fazendo com que seu site se destaque?
- ? Vários sistemas de código de resgate : suporta vários sistemas de código de resgate, suporta códigos de presente e códigos de resgate, suporta geração de lote, códigos de presente são adequados para distribuição promocional, códigos de resgate são adequados para vendas com cartão, para códigos de presente de um tipo, um usuário só pode resgatar um código, que até certo ponto reduz a situação de um usuário resgatar várias vezes em promoções?
- ? Licença comercial : adota a licença de código aberto Apache-2.0 , amigável para desenvolvimento e distribuição secundária comercial (cumpra também as disposições da licença Apache-2.0, não use para fins ilegais)
✨ Bate-papo Nio Negócios
- ✅ Bela interface de usuário de nível comercial, interface de front-end elegante e gerenciamento de back-end
- ✅ Suporta TTS e STT, mercado de plugins, base de conhecimento RAG e outros recursos e módulos avançados
- ✅ Mais provedores de pagamento, mais modelos de faturamento e gerenciamento avançado de pedidos
- ✅ Suporta mais métodos de autenticação, incluindo login por SMS, login OAuth, etc.
- ✅ Suporta monitoramento de modelo, detecção de integridade do canal, troca automática de canal de alarme de falha
- ✅ Suporta sistema de distribuição de chaves API multilocatário, gerenciamento de permissão de token de nível empresarial e restrições de visitantes
- ✅ Suporta auditoria de segurança, registro, limitação de taxa de modelo, API Gateway e outros recursos avançados
- ✅ Suporta recompensas promocionais, estatísticas de dados profissionais, análise de perfil de usuário e outros recursos de análise de negócios
- ✅ Suporta Discord/Telegram/Feishu e outros recursos de integração de bot (módulos de extensão)
- ...
? Saber mais
? Modelos Suportados
- OpenAI e Azure OpenAI (✅ Visão ✅ Chamada de função)
- Claude Antrópico (✅ Visão ✅ Chamada de Função)
- Google Gemini e PaLM2 (✅ Visão)
- Meio da jornada (✅ Alternação de modo ✅ Ações U/V/R)
- iFlytek SparkDesk (✅ Visão ✅ Chamada de função)
- Zhipu AI ChatGLM (✅ Visão)
- Alibaba Tongyi Qwen
- TencentHunyuan
- IA Baichuan
- Moonshot AI (?OpenAI)
- DeepSeek AI (?OpenAI)
- ByteDance Skylark (✅ Chamada de função)
- Groq Cloud AI
- OpenRouter (?OpenAI)
- 360 GPT
- LocalAI/Ollama (? OpenAI)
? Proxy de API compatível com OpenAI
? Implantação
Dica
Após a implantação bem-sucedida, a conta de administrador é root
, com a senha padrão chatnio123456
✨ Zeabur (um clique)
Zeabur oferece uma certa cota gratuita, você pode usar regiões não pagas para implantação com um clique e também oferece suporte a assinaturas de planos e faturamento elástico para expansão flexível.
- Clique em
Deploy
para implantar e insira o nome de domínio que deseja vincular e aguarde a conclusão da implantação. - Após a conclusão da implantação, visite seu nome de domínio e faça login no gerenciamento de back-end usando o nome de usuário
root
e a senha chatnio123456
. Siga as instruções para alterar a senha no backend do chatnio em tempo hábil.
⚡ Instalação do Docker Compose (recomendado)
Observação
Após a execução bem-sucedida, o endereço de mapeamento da máquina host é 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
Atualização de versão ( se as atualizações automáticas da Torre de Vigia estiverem habilitadas, as atualizações manuais não são necessárias ):
docker-compose down
docker-compose pull
docker-compose up -d
- Diretório de montagem do banco de dados MySQL: ~/ db
- Diretório de montagem do banco de dados Redis: ~/ redis
- Diretório de montagem do arquivo de configuração: ~/ config
⚡ Instalação do Docker (tempo de execução leve, comumente usado para serviços MYSQL/RDS externos)
Observação
Após a execução bem-sucedida, o endereço da máquina host é http://localhost:8094
.
Para usar a versão estável, use programzmh/chatnio:stable
em vez 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 a rede da máquina host, permitindo que o contêiner Docker use a rede do host. Você pode modificar isso conforme necessário.
- SEGREDO: chave secreta JWT, gere uma string aleatória e modifique de acordo
- SERVE_STATIC: se deve ativar a veiculação de arquivos estáticos (normalmente isso não precisa ser alterado, consulte as perguntas frequentes abaixo para obter detalhes)
- -v ~/config:/config monta o arquivo de configuração, -v ~/logs:/logs monta o diretório da máquina host para arquivos de log, -v ~/storage:/storage monta o diretório para arquivos gerados por recursos adicionais
- Os serviços MySQL e Redis precisam ser configurados. Consulte as informações acima para modificar as variáveis de ambiente de acordo
Atualização de versão ( após ativar o Watchtower, não são necessárias atualizações manuais. Após a execução, siga as etapas acima para executar novamente ):
docker stop chatnio
docker rm chatnio
docker pull programzmh/chatnio:latest
⚒ Compilar e instalar
Observação
Após a implantação bem-sucedida, a porta padrão é 8094 e o endereço de acesso é http://localhost:8094
As configurações (~/config/ config.yaml ) podem ser substituídas usando variáveis de ambiente. Por exemplo, a variável de ambiente MYSQL_HOST
pode substituir o item de configuração 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
? Pilha de tecnologia
- ? Front-end: React + Redux + Radix UI + Tailwind CSS
- ? Back-end: Golang + Gin + Redis + MySQL
- ? Tecnologia de aplicação: PWA + WebSocket
? Por que criar este projeto e vantagens do projeto
Descobrimos que a maioria dos sites comerciais AIGC no mercado são projetos de implantação leves orientados para frontend com belos designs de interface de UI, como a versão comercial do Next Chat. Devido ao seu desenho pessoal orientado para a privatização, existem algumas limitações no desenvolvimento comercial secundário, apresentando alguns problemas, tais como:
- Sincronização difícil de conversas , por exemplo, exigindo serviços como WebDav, altos custos de aprendizagem do usuário e dificuldades na sincronização entre dispositivos em tempo real.
- Faturamento insuficiente , por exemplo, suportando apenas faturamento elástico ou apenas baseado em assinatura, incapaz de atender às necessidades de diferentes usuários.
- Análise de arquivo inconveniente , por exemplo, suportando apenas o upload de imagens para um serviço de hospedagem de imagens primeiro e depois retornando ao site para inserir o link direto do URL na caixa de entrada, sem funcionalidade integrada de análise de arquivo.
- Não há suporte para compartilhamento de URL de conversa , por exemplo, suporte apenas para compartilhamento de captura de tela de conversa, não é compatível com compartilhamento de URL de conversa (ou oferece suporte apenas para ferramentas como ShareGPT, que não pode promover o site).
- Gerenciamento de canal insuficiente , por exemplo, o backend suporta apenas canais no formato OpenAI, dificultando a compatibilidade com outros canais de formato. E apenas um canal pode ser preenchido, incapaz de suportar o gerenciamento multicanal.
- Sem suporte a chamadas de API , por exemplo, suportando apenas chamadas de interface do usuário, incapaz de oferecer suporte a proxy e gerenciamento de API.
Outro tipo são sites orientados para distribuição de API com sistemas de distribuição poderosos, como projetos baseados em One API. Embora esses projetos suportem gerenciamento e proxy de API poderosos, eles carecem de design de interface e alguns recursos C-end, como:
- Interface de usuário insuficiente , por exemplo, suportando apenas chamadas de API, sem bate-papo integrado na interface de usuário. O bate-papo da interface do usuário requer a cópia manual da chave e o acesso a outros sites para uso, o que acarreta um alto custo de aprendizado para usuários comuns.
- Nenhum sistema de assinatura , por exemplo, suporta apenas faturamento elástico, carece de design de faturamento para usuários finais C, incapaz de atender às diferentes necessidades dos usuários e não é fácil de usar em termos de percepção de custos para usuários sem base.
- Recursos C-end insuficientes , por exemplo, suporte apenas para chamadas de API, não suporte para sincronização de conversas, compartilhamento de conversas, análise de arquivos e outras funções.
- Balanceamento de carga insuficiente , a versão de código aberto não suporta o parâmetro de peso , incapaz de atingir probabilidade de distribuição de carga equilibrada para canais com a mesma prioridade (a nova API também resolve esse problema, com uma UI mais bonita).
Portanto, esperamos combinar as vantagens desses dois tipos de projetos para criar um projeto que tenha um poderoso sistema de distribuição de API e um design de interface de usuário rico, atendendo assim às necessidades dos usuários finais C enquanto desenvolve negócios B-end, melhorando experiência do usuário, reduzindo os custos de aprendizado do usuário e aumentando a aderência do usuário.
Assim nasceu o Chat Nio . Esperamos criar um projeto que tenha um sistema de distribuição de API poderoso e um design de interface de usuário rico, tornando-se a solução comercial completa do projeto AIGC de código aberto de próxima geração.
❤ Doações
Se você achar este projeto útil, você pode dar uma estrela para mostrar seu apoio!