NextChat:一个客户端搞定所有 AI 对话
📖 简介
📝 详细介绍
一句话说清楚:为什么你需要 NextChat
如果你同时使用 ChatGPT、Claude、Gemini,甚至自己在跑 Ollama 本地模型,你一定经历过这种痛苦:
- 每个服务开一个标签页,来回切换,上下文割裂
- API Key 散落在不同地方,管理混乱
- 本地模型没有好用的聊天界面,只能对着终端敲 curl
NextChat 就是一个客户端搞定所有 AI 对话的开源方案。它像万能遥控器,把 OpenAI、Azure、Google、Anthropic、本地模型等全部统一到一个界面里,支持自定义 API 端点、会话管理、Prompt 预设,还能完全离线和本地部署。
GitHub 数据
| 指标 | 数据 |
|---|---|
| Stars | 50,000+ |
| 主要语言 | TypeScript |
| 开源协议 | MIT |
| 最近更新 | 2024-01-20 |
项目背景
NextChat(曾用名 ChatGPT-Next-Web)由国内开发者 Yidadaa 发起,最初是为了解决 ChatGPT 国内访问的痛点——需要一个轻量、可自部署的客户端。随着 AI 模型百花齐放,项目迅速演变为 「AI 对话聚合器」。
核心痛点:
- 不同模型服务商的 API 格式、计费方式不同
- 用户希望把对话数据掌握在自己手里(本地存储)
- 开发者需要快速调试多种模型的 prompt 效果
核心功能解析
多模型多服务商无缝切换
这是 NextChat 最硬核的能力。你可以在一个会话中随时切换模型,甚至混合使用不同服务商。支持的平台包括:
- OpenAI(GPT-4/3.5)
- Azure OpenAI
- Anthropic(Claude 系列)
- Google(Gemini Pro)
- 本地模型(通过 Ollama / llama.cpp 等)
- 自定义 API:任何兼容 OpenAI 接口的代理或服务
配置方式:通过环境变量或界面直接填写 API Key 和端点。
# 启动时配置多个服务商
docker run -d -p 3000:3000
-e OPENAI_API_KEY=sk-xxx
-e AZURE_API_KEY=xxx
-e GOOGLE_API_KEY=xxx
-e CODE=your_access_code
yidadaa/chatgpt-next-web
会话管理与 Prompt 面具(Masks)
聊天量大了之后,文件夹归档、标签搜索、全文检索一应俱全。最有用的是 Masks 系统——你可以把角色设定、上下文、模型参数打包成一个「面具」。
例如一个「代码审查助手」面具:
{
"id": "code-reviewer",
"name": "Code Reviewer",
"model": "gpt-4-turbo",
"systemPrompt": "You are a senior software engineer. Review the following code for bugs, performance issues, and best practices.",
"temperature": 0.2
}
点击一个面具,自动加载所有预设,直接开始对话。团队可以分享面具 JSON,实现协作标准化。
数据自主可控:本地存储 + 导出
所有对话数据默认存储在浏览器 IndexedDB,完全不经过任何第三方服务器(除非你自己部署的服务端)。
支持一键导出为 JSON/Markdown,甚至整个数据库备份。对于重视隐私的开发者,这是刚需。
# 导出所有对话
浏览器控制台运行: window.exportData()
# 或通过界面按钮
快速上手
最推荐 Docker 部署,一条命令搞定:
docker run -d -p 3000:3000
-e OPENAI_API_KEY=sk-your-key
yidadaa/chatgpt-next-web
如果你没有 Docker,也可以用 Node.js 直接跑:
git clone https://github.com/ChatGPTNextWeb/NextChat.git
cd NextChat
npm install
npm run dev # 开发模式,访问 http://localhost:3000
生产构建:npm run build && npm run start。
技术亮点:架构与设计深度解析
NextChat 的技术选型体现了 「零后端依赖」 的哲学。
前端直连 API,无状态架构
默认情况下 NextChat 是一个纯前端应用——所有 API 请求直接从浏览器发出,不需要运行任何后端服务。这意味着:
- 零服务器成本:你可以把它部署在 Vercel、Netlify 或任何静态托管上,甚至直接本地
file://打开 - 数据不出浏览器:IndexedDB 存储,完全离线可用(PWA 支持)
- 极致简单:没有数据库、没有后台进程,纯 HTML+JS 干活
不过如果你需要多人共享或隐藏 API Key,项目也提供了可选的 Node.js 中间件 来代理请求,但核心原则是默认不强制后端。
流式渲染与响应式模型适配
NextChat 对 SSE(Server-Sent Events) 的实现做了精细优化。所有主流模型的流式输出(ChatGPT、Claude 的流模式、Gemini 的流式响应)都统一为同一套渲染管线,保证打字机效果流畅且滚动不卡顿。
每个模型驱动的 adapter 层只处理协议转换,业务逻辑完全复用,这为后续接入新模型提供了清晰的扩展点。
Prompt 即代码
Masks 系统的设计体现了「声明式 Prompt 管理」。每个面具是一个 JSON 对象,包含 context(多轮历史)、modelConfig、systemPrompt,甚至可以嵌套子面具。这种设计让 Prompt 工程变得可版本化、可分享。
项目作者在 issue 中提到,未来可能开放面具市场(Marketplace),让社区贡献高质量 Prompt 模板。
同类对比
| 项目 | 部署方式 | 模型支持 | 数据存储 | 协作功能 | 成熟度 |
|---|---|---|---|---|---|
| NextChat | 纯前端 / Docker | OpenAI, Azure, Claude, Gemini, 本地 | IndexedDB | 面具分享 | 高 |
| Lobe Chat | 后端+数据库 | 类似但插件化 | 服务端 | 多用户、角色管理 | 中高 |
| Chatbox | 桌面客户端 | 少数主流 | 本地文件 | 无 | 高 |
| OpenCat | macOS/iOS | OpenAI / Azure | iCloud | 无 | 中 |
如果你追求 轻量、零后端、数据完全本地,NextChat 是最佳选择;如果需要团队协作和用户管理,Lobe Chat 可能更适合。
总结
一句话推荐:如果你手上超过一个 AI 服务的 API Key,想用一个清爽的界面统一管理、本地存储且能自部署,NextChat 就是那个最值得试的项目。
适合人群:
- 多模型重度用户(Prompt 工程师、AI 应用开发者)
- 注重数据隐私的个人/中小企业
- 需要快速搭建对内 AI 聊天工具的团队(只需 Docker,不用写后端)
AI 项目推荐
大模型- 标签
- #AI对话 #跨平台 #开源 #多模型
- 浏览
- 👁️ 5
- 发布日期
- 2026-07-30