General Introduction
CoAI.Dev (formerly Chat Nio) is a chat platform that integrates multiple AI models and supports distributed streaming, image generation, cross-device conversation synchronization and sharing. It implements a subscription and Token billing system, Key transit service and multi-model support, and also includes a connected search and AI project generator. The platform is an open source project, providing detailed API documentation and a multi-language SDK for developers to use and secondary development.
Dev (formerly Chat Nio) is being revitalized after a months-long acquisition process, and I will continue to lead the development of this project, with a new product to be launched in the near future to create the next-generation of open source, commercial-grade, one-stop-shop solutions for LLM!
The new open source Roadmap plans to synchronize RAG, Digital People, Payment, TTS & STT, API Gateway, Model Healthiness Monitoring, support for Agent Workflow, Realtime, Team Collaboration and other cutting edge features!
Function List
Support multiple AI models: OpenAI, Claude, Xunfei Starfire, etc.
distributed streaming
Image Generation
Chat is automatically synchronized and shared across devices
Token Flexible Billing System
Key Transit Service
Multi-model aggregation support
Network search function
AI Project Generator
AI Batch Article Generation
Using Help
Rich image visual modeling
Support for Vision models, as well as support for direct image upload and input image direct link or Base64 image functions (e.g., models such as GPT-4 Vision Preview, Gemini Pro Vision, etc.)
Supports DALL-E model plotting
Supports Imagine / Upscale / Variant / Reroll operations for Midjourney / Niji models.
Markdown support
Supports dark and light modes, code highlighting, LaTeX formulas, tables, detail bars, virtual messages and more!
dialog memory function
Cloud synchronization, support site direct link sharing conversation, support the use of sharing conversation, sharing conversation saved as an image, support sharing management (support view, delete sharing and other operations)
DuckDuckGo Web Search
Full-model DuckDuckGo Ethernet support for search functionality(Refer to the project for detailsduckduckgo-api , need to be built by the phone and set in the system settings in the Ethernet settings
preset instruction
be in favor ofPreset Presetcap (a poem)cloud synchronizationFeatures, support for preset clones, preset avatar settings, support for preset profile settings
Back-office management
Includes current day and month crediting information, subscriber counts, line graphs of model usage statistics, pie chart analysis, revenue statistics, user type statistics, model usage statistics, charts of request counts and model error counts, etc.
Docker Deployment
After successful configuration, the administrator account isroot
, the password defaults tochatnio123456
-
⚡ Docker Compose installation (recommended)
After a successful run, the next machine mapping address is
http://localhost:8000
git clone --depth=1 --branch=main --single-branch https://github.com/Deeptrain-Community/chatnio.git cd chatnio docker-compose up -d # Operational services # For a 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.
Version Updates (Manual update required if Watchtower automatic update is turned on):
docker-compose down docker-compose pull docker-compose up -d
- MySQL Database Mount Directory Project ~/ db
- Redis database mount directory project ~/ redis
- Configuration file mount directory project ~/ config
-
⚡ Docker installation (light runtime, commonly used for external setups)MYSQL/RDSservices)
If using the stable version, use the
programzmh/chatnio:stable
alternativeprogramzmh/chatnio:latest
docker run -d --name chatnio \ --network host \ -p 8000:8094 \ -v ~/config:/config \ -v ~/logs:/logs \ -v ~/storage:/storage \ -e MYSQL_HOST=localhost \ -e MYSQL_PORT=3306 \ -e MYSQL_DATABASE=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 hostrefers to the network of the device used to enable Docker containers to use the device's network, which can be modified
- -p 8000:8094Refers to mapping the capturing machine port as 8000, and you can change the port number before the colon by yourself
- SECRET: JWT key, self-generated random string modification
- SERVE_STATIC: Whether or not to enable static file service (normally this does not need to be changed, see FAQ below)
- -v ~/config:/configMounting configuration files, the -v ~/logs:/logsThe nitrogen machine directory where the log files are mounted, the -v ~/storage:/storageMounting the add-on's generated files
- MySQL and Redis services need to be configured, please refer to the above information to modify the environment variables.
Version Updates (After opening Watchtower you need to update it manually, after executing it follow the steps above and re-run it):
docker stop chatnio docker rm chatnio docker pull programzmh/chatnio:latest
-
⚒ Compile and install (highly customizable)
After successful configuration, the default port is8094The access address is
http://localhost:8094
Config configuration items (~/config/ config.yaml ) can be overridden using environment variables such asMYSQL_HOST
Environment variables can be overriddenmysql.host
configuration itemgit 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 nohup . /chatnio > output.log & # using nohup to run in background