NextChat:一个客户端搞定所有 AI 对话

NextChat:一个客户端搞定所有 AI 对话

大模型

📖 简介

NextChat 是跨平台 AI 对话客户端,一键部署私人 ChatGPT 网页应用。88k+ Stars,支持 OpenAI/Claude/Gemini 等多后端。

📝 详细介绍

一句话说清楚:为什么你需要 NextChat

如果你同时使用 ChatGPTClaudeGemini,甚至自己在跑 Ollama 本地模型,你一定经历过这种痛苦:

  • 每个服务开一个标签页,来回切换,上下文割裂
  • API Key 散落在不同地方,管理混乱
  • 本地模型没有好用的聊天界面,只能对着终端敲 curl

NextChat 就是一个客户端搞定所有 AI 对话的开源方案。它像万能遥控器,把 OpenAI、Azure、Google、Anthropic、本地模型等全部统一到一个界面里,支持自定义 API 端点、会话管理、Prompt 预设,还能完全离线和本地部署。

GitHub 数据

指标数据
Stars50,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(多轮历史)、modelConfigsystemPrompt,甚至可以嵌套子面具。这种设计让 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