Loading...

文章背景图

ChatGPT Next Web:一键部署你的 ChatGPT 镜像

2026-10-20
0
- 字
- 分钟
|

NextChat(原名 ChatGPT-Next-Web)是一个轻量、快速的网页版 AI 助手,官方定位为"Light and Fast AI Assistant",在界面上同时支持 Claude、DeepSeek、GPT-4 与 Gemini Pro 等主流模型。它最大的特点是可以在一分钟内一键免费部署到 Vercel,也提供 Windows、macOS、Linux 桌面客户端,同时兼容你自己部署的本地大模型。项目以隐私优先为设计原则,所有聊天数据都保存在浏览器本地;界面支持 Markdown 渲染、LaTeX 公式、Mermaid 图与代码高亮,并提供深色模式与 PWA。除了开箱即用的聊天界面,它还通过环境变量接入了 OpenAI、Azure、Gemini、Claude 以及文心、豆包、通义、星火、智谱、DeepSeek 等国产模型,是一个典型的多模型聚合聊天前端。本文基于官方 README 逐节完整翻译整理,从项目背景、核心特性、环境要求、部署方式、环境变量配置到常见问题进行全面说明。

一、项目官方信息

项目 信息
项目名称 NextChat(ChatGPT-Next-Web)
GitHub 仓库 Yidadaa/ChatGPT-Next-Web
官网 nextchat.club
Star 数 约 8 万(实时以仓库页为准)
开源协议 MIT
主要技术栈 Next.js / React(TypeScript)
在线 Demo app.nextchat.club
桌面端 Releases GitHub Releases

二、官方图片与版本动态

仓库 README 顶部是 NextChat 官方图标与多平台徽章(SaaS、Web PWA、Windows、macOS、Linux),并提供 Vercel、Zeabur、Gitpod 以及"用你的 Agent 一键部署"等入口按钮。近期重要动态包括:iOS 版本已上线(可在 App Store 安装,源码即将开源);项目已支持 MCP(Model Context Protocol),但在构建前需要设置环境变量 ENABLE_MCP=true。

企业版是官方面向公司客户推出的商业化版本,用来满足私有化与定制部署需求,README 列出的能力包括:品牌定制(按企业 VI/UI 量身定制界面,与企业品牌形象无缝契合)、资源集成(由企业管理员统一配置和管理数十种 AI 资源,团队成员开箱即用)、权限控制(成员权限、资源权限、知识库权限层级分明,由企业级 Admin Panel 统一管控)、知识接入(把企业内部知识库与 AI 能力结合,相比通用 AI 更贴近自身业务)、安全审计(自动拦截敏感提问、可追溯全部历史对话记录,让 AI 遵循企业信息安全规范)、私有部署(支持主流私有云方案的企业级私有部署,保障数据安全与隐私)、持续更新(多模态、智能体等前沿能力持续迭代)。企业版商务咨询可联系官方。封面沿用本文既有官方图,不再改动。

三、环境要求

根据 README 的 Requirements 一节,源码开发与自部署需要:

  • Node.js >= 18
  • Docker >= 20(用于 Docker 部署)

如果你只是用 Vercel 一键部署,则不需要本地环境,直接在网页上操作即可;如果要做二次开发,需要先在项目根目录新建 .env.local 文件并填入你的 API Key。

四、部署步骤

1. Vercel 一键部署(最快)

README 给出的三步上手流程为:

  1. 准备好你的 OpenAI API Key;
  2. 点击 Vercel 部署按钮,用 GitHub 账号登录后一键克隆部署;其中环境变量 CODE 就是你的页面访问密码,记得在环境变量页同时填入 API Key 与访问密码;
  3. 部署完成后即可开始使用;
  4. (可选)绑定自定义域名:Vercel 默认分配的域名在部分区域 DNS 可能被污染,绑定自定义域名后即可直连。

2. Docker 部署(推荐自托管)

docker pull yidadaa/chatgpt-next-web

docker run -d -p 3000:3000 \
   -e OPENAI_API_KEY=sk-xxxx \
   -e CODE=your-password \
   yidadaa/chatgpt-next-web

如果需要通过代理访问上游模型服务,可以加上 PROXY_URL,让容器在请求 OpenAI 等接口时走指定代理:

docker run -d -p 3000:3000 \
   -e OPENAI_API_KEY=sk-xxxx \
   -e CODE=your-password \
   -e PROXY_URL=http://localhost:7890 \
   yidadaa/chatgpt-next-web

如果代理需要账号密码,把 PROXY_URL 写成 http://127.0.0.1:7890 user pass 这种形式(协议、地址、用户名、密码依次拼接在一个字符串里)。如果你要启用 MCP 能力,则在上面的命令里再加一个 -e ENABLE_MCP=true,其余参数保持不变。

3. Shell 一键脚本

对于不想手动管理 Docker 的用户,README 还提供了一条 Shell 命令,直接拉取官方脚本完成安装:

bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh)

4. 本地开发

先在项目根目录创建 .env.local:

OPENAI_API_KEY=<your api key here>

# 如果无法直接访问 OpenAI 服务,使用下面这个 BASE_URL
BASE_URL=https://chatgpt1.nextweb.fun/api/proxy

然后执行:

# 1. 先安装 nodejs 与 yarn
# 2. 在 .env.local 中配置本地环境变量
# 3. 运行
yarn install
yarn dev

需要注意的是,.env.local 里除了必填的 OPENAI_API_KEY,如果你所在网络无法直接访问 OpenAI,还需要配置 BASE_URL 指向一个可用的代理地址;本地开发默认会起一个开发服务器,配合 Vercel 一键部署和 Docker 自托管,README 实际上给出了从"本地改代码"到"云端一键上线"再到"自己服务器长期运行"的完整路径。

五、使用方法与核心特性

1. 核心特性逐条说明

README 的 Features 一节列出的能力包括:在 Vercel 上一分钟内一键免费部署;提供约 5MB 的精简客户端,支持 Linux / Windows / macOS,可直接下载;完全兼容自部署的大模型,推荐配合 RWKV-Runner 或 LocalAI 使用;隐私优先,所有数据都存储在浏览器本地;支持 Markdown 渲染,包括 LaTeX 公式、Mermaid 图、代码高亮等;响应式设计、深色模式与 PWA;首屏加载快(约 100KB),支持流式响应;v2 新增用提示词模板(mask)创建、分享和调试聊天工具;内置来自 awesome-chatgpt-prompts-zh 与 awesome-chatgpt-prompts 的优质提示词;自动压缩聊天历史,在支持长对话的同时节省 token;国际化支持英语、简繁中文、日语、法语、西班牙语、意大利语、土耳其语、德语、越南语、俄语、捷克语、韩语、印尼语等多种语言。

2. 路线图(Roadmap)

README 的 Roadmap 记录了已完成与规划中的能力:已完成的包括把用户自定义提示词置顶为系统提示、用户可编辑并保存自定义提示词、用预设上下文提示新建聊天、把对话分享为图片或分享到 ShareGPT、基于 Tauri 的桌面端、与 RWKV-Runner 和 LocalAI 完全兼容(覆盖 llama、gpt4all、rwkv、vicuna、koala、gpt4all-j、cerebras、falcon、dolly 等)、Artifacts(在独立窗口预览、复制和分享生成的内容或网页)、插件(支持网络搜索、计算器以及其他 API 等)、实时聊天(Realtime Chat);尚未完成的规划项是本地知识库。

2. 页面访问密码

项目提供了有限的访问控制:在 Vercel 环境变量页添加名为 CODE 的环境变量,多个密码用逗号分隔,例如 code1,code2,code3。这样只有知道密码的人才能打开页面,避免被他人随意访问。修改或添加该环境变量后需要重新部署项目才能生效;这个密码同时也会被 MCP 功能用作访问码,因此在启用 MCP 时务必先配置好 CODE。

3. 环境变量说明

README 的 Environment Variables 一节列出了完整配置项。在展开之前需要说明:项目由 302.AI 赞助支持,它是一个按需付费的 AI 应用平台,提供市面上较为全面的 AI API 与在线应用;如果你不想自己逐个模型申请 Key,也可以走这类聚合平台。下面按类别列出核心配置项:

  • OPENAI_API_KEY(必填):你的 OpenAI API Key,多个 Key 用逗号拼接。
  • BASE_URL(可选):覆盖 OpenAI API 请求的基础地址,默认 https://api.openai.com,示例 http://your-openai-proxy.com。
  • CODE(可选):页面访问密码,逗号分隔。
  • OPENAI_ORG_ID(可选):指定 OpenAI 组织 ID。
  • Azure 系列:AZURE_URL、AZURE_API_KEY、AZURE_API_VERSION,用于接 Azure 部署。
  • 谷歌系列:GOOGLE_API_KEY、GOOGLE_URL,用于 Gemini Pro。
  • Anthropic 系列:ANTHROPIC_API_KEY、ANTHROPIC_API_VERSION、ANTHROPIC_URL,用于 Claude。
  • 国产模型系列:BAIDU_API_KEY/BAIDU_SECRET_KEY/BAIDU_URL(文心)、BYTEDANCE_API_KEY/BYTEDANCE_URL(豆包)、ALIBABA_API_KEY/ALIBABA_URL(通义)、IFLYTEK_URL/IFLYTEK_API_KEY/IFLYTEK_API_SECRET(讯飞星火)、CHATGLM_API_KEY/CHATGLM_URL(智谱)、DEEPSEEK_API_KEY/DEEPSEEK_URL。
  • 开关类:HIDE_USER_API_KEY=1 不让用户填自己的 Key;DISABLE_GPT4=1 禁用 GPT-4;ENABLE_BALANCE_QUERY=1 允许查询余额;DISABLE_FAST_LINK=1 禁止从 URL 解析设置。
  • CUSTOM_MODELS:用 + 添加自定义模型、- 隐藏模型、name=displayName 改显示名,逗号分隔;-all 关闭全部默认模型、+all 开启全部。例如 +llama,+claude-2,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbo 表示把 llama、claude-2 加进模型列表、从列表移除 gpt-3.5-turbo、并把 gpt-4-1106-preview 显示为 gpt-4-turbo。Azure 用 modelName@Azure=deploymentName 格式同时指定模型名与部署名,例如 +gpt-3.5-turbo@Azure=gpt35 会在模型列表显示 gpt35(Azure);字节跳动豆包则用 modelName@bytedance=deploymentName。
  • DEFAULT_MODEL:修改默认模型;VISION_MODELS:在默认的关键词匹配(自动识别 vision、claude-3、gemini-1.5 等)之外,追加支持视觉能力的模型,多个用逗号分隔;WHITE_WEBDAV_ENDPOINTS:允许访问的 WebDAV 地址白名单,每个地址必须是完整 endpoint(如 https://xxxx/yyy),多个用 , 连接;DEFAULT_INPUT_TEMPLATE:自定义设置中"用户输入预处理"配置项的默认模板。
  • 其他:STABILITY_API_KEY/STABILITY_URL(Stability 绘图)、ENABLE_MCP=true(开启 MCP,且因安全原因 MCP 仍要求配置 CODE)、SILICONFLOW_API_KEY/SILICONFLOW_URL(硅基流动)、AI302_API_KEY/AI302_URL(302.AI 聚合平台)。整体来看,除 OpenAI 与 Azure 外,项目通过两两一组的 *_API_KEY 与 *_URL 环境变量,把国内外主流大模型服务都接入了同一个聊天界面,部署时按需配置即可,不必把所有变量都填全。

4. 版本演进

README 的 What's New 记录了近期版本:v2.15.8 支持实时聊天;v2.15.4 客户端改用 Tauri 发起 LLM 请求,安全性更强;v2.15.0 支持插件能力,使用前可阅读NextChat-Awesome-Plugins;v2.14.0 支持 Artifacts 与 Stable Diffusion 绘图;v2.10.1 支持 Google Gemini Pro 模型;v2.9.11 支持 Azure 端点;v2.8 推出跨所有平台运行的客户端;v2.7 支持把对话分享为图片或分享到 ShareGPT;v2.0 发布提示词模板能力,让你把想法变成可复用的模板。

5. 同步聊天记录与文档

README 还提供了基于 UpStash 同步聊天记录的多语言说明文档(简中、英、意、日、韩等版本),方便跨设备保留会话。此外仓库的 docs 目录下有更多使用文档,包括 Cloudflare Pages 部署(已废弃)、常见问题 FAQ、如何新增翻译、Vercel 中文教程、用户手册等;如果你想为项目增加新的翻译语言,可以参考翻译指南文档。

六、常见问题 FAQ

  1. 怎么更新到最新版? 如果是 Vercel 一键部署,默认会新建一个项目而不是 fork,导致检测不到更新。正确做法是删除原仓库、Fork 本项目、再到 Vercel 重新部署;fork 后还要在 Actions 页手动启用 Workflows 与 Upstream Sync Action,启用后即可每小时自动同步上游代码。
  2. 如何手动同步上游? 如果 Upstream Sync 执行失败,可以参考 GitHub 文档 手动把 fork 与上游同步一次;也可以 star/watch 项目或关注作者来及时收到发布通知。
  3. 怎么设置访问密码? 添加环境变量 CODE,多个密码逗号分隔,改完记得重新部署。
  4. 能接本地模型吗? 可以,完全兼容自部署大模型,推荐配合 RWKV-Runner 或 LocalAI,支持 llama、gpt4all、rwkv、vicuna、falcon 等。
  5. 数据隐私如何? 项目以隐私优先为设计原则,所有聊天数据都存储在浏览器本地。
  6. 企业版有什么能力? 官方企业版提供品牌定制、资源集成、权限管理、知识接入、安全审计、私有部署与持续更新,商务咨询邮箱见官网。
  7. 开发需要什么版本? Node.js >= 18、Docker >= 20;二次开发前先在根目录建 .env.local 填好 Key,再执行 yarn install 与 yarn dev。
  8. 如何接入 MCP? 在构建或启动时设置环境变量 ENABLE_MCP=true;出于安全考虑,MCP 仍要求配置 CODE 访问密码,所有 MCP server 操作都会校验访问码。MCP 让 NextChat 可以外接模型上下文协议服务,扩展工具能力。
  9. 国内模型怎么接? 项目内置了对文心、豆包、通义、星火、智谱、DeepSeek 等国产模型的环境变量支持,分别配置对应的 *_API_KEY 与 *_URL 即可,详见上文环境变量清单。
  10. 聊天记录存在哪里? 项目以隐私优先为设计原则,所有聊天数据默认存储在浏览器本地;如需跨设备同步,可参考 README 中基于 UpStash 的同步文档。

七、跳转链接

总的来说,NextChat 是一个部署门槛极低、但能力相当完整的多模型聊天前端:既能在 Vercel 上一分钟拉起,也能用 Docker 自托管;既支持 OpenAI、Azure、Gemini、Claude,也接入了文心、豆包、通义、星火、智谱、DeepSeek 等国产模型;还提供 PWA、深色模式、提示词模板、插件、MCP 与 Artifacts 等进阶能力。配合本文整理的环境变量清单,你可以按自己的网络与模型资源灵活配置:公开分享就加 CODE 访问密码,团队内部使用就配置统一的 OPENAI_API_KEY,有代理就加 PROXY_URL,想扩展模型列表就用 CUSTOM_MODELS 增删条目。无论你是想快速拥有一个自己的 ChatGPT 镜像,还是要给公司搭一个可私有化、可定制的多模型对话入口,NextChat 都能覆盖到。

评论交流

文章目录