NextChat

手把手教你用 NextChat 对接 OpenAI Hub API,通过 Vercel 一键部署或 Docker 自建,实现一个 Key 调用 GPT-4、Claude、Gemini 等所有主流模型的私有 AI 对话客户端。

这篇教你用 NextChat 对接 OpenAI Hub,实现一个 Key 聊所有模型的私有 AI 客户端。

什么是 NextChat

NextChat(原 ChatGPT Next Web)是一个开源的跨平台 AI 对话客户端,支持 GPT-4、Claude、Gemini 等主流模型,可以一键部署到 Vercel 或用 Docker 自建。所有聊天记录默认存在浏览器本地,隐私友好。

项目地址:https://github.com/ChatGPTNextWeb/NextChat

NextChat 主界面

它跟 OpenAI Hub 搭配特别合适——NextChat 原生兼容 OpenAI API 格式,而 OpenAI Hub 正好提供兼容 OpenAI 格式的统一接口,改个 Base URL 就能跑通。

方式一:Vercel 一键部署

这是最快的方式,不需要服务器。

第一步:Fork 并部署

点击下面的按钮,用你的 GitHub 账号登录 Vercel 后一键部署:

Deploy with Vercel

第二步:填写环境变量

部署过程中 Vercel 会让你填环境变量,按下面填:

环境变量 说明
OPENAI_API_KEY sk-your-api-key 你在 OpenAI Hub 拿到的 API Key
BASE_URL https://api.openai-hub.com OpenAI Hub 的接口地址
CODE 自己设一个,比如 my-password-123 访问密码,防止别人白嫖你的部署

注意:BASE_URL 这里不要带 /v1 后缀。 NextChat 会自动拼接 /v1,如果你写成 https://api.openai-hub.com/v1,实际请求会变成 /v1/v1,直接 404。这是最常见的踩坑点。

填完点 Deploy,等一两分钟就好了。Vercel 会给你一个 xxx.vercel.app 的域名,打开就能用。

第三步:验证

打开部署好的页面,输入你设置的访问密码,随便发一条消息。能收到回复就说明跑通了。

方式二:Docker 部署

适合想跑在自己服务器上的场景。

一行命令启动

docker run -d -p 3000:3000 \
  -e OPENAI_API_KEY=sk-your-api-key \
  -e BASE_URL=https://api.openai-hub.com \
  -e CODE=my-password-123 \
  yidadaa/chatgpt-next-web

跑起来后访问 http://localhost:3000 就行。

注意:同样的,BASE_URL 不带 /v1

用 Docker Compose

如果你习惯用 compose 管理,建一个 docker-compose.yml

version: '3'
services:
  nextchat:
    image: yidadaa/chatgpt-next-web
    ports:
      - "3000:3000"
    environment:
      # OpenAI Hub 的 Key
      OPENAI_API_KEY: sk-your-api-key
      # 不带 /v1
      BASE_URL: https://api.openai-hub.com
      # 访问密码,建议设一个
      CODE: my-password-123
    restart: unless-stopped

然后:

docker compose up -d

方式三:已有部署,手动改配置

如果你已经部署了 NextChat,不需要重新来,直接在界面里改就行。

  1. 打开 NextChat,点左下角的「设置」
  2. 找到「自定义接口」部分
  3. 把接口地址改成:https://api.openai-hub.com
  4. 把 API Key 改成你在 OpenAI Hub 的 Key:sk-your-api-key

NextChat 设置页面 - 自定义接口配置

这里容易出问题: 有些旧版本的 NextChat 设置页里的接口地址字段可能叫「OpenAI Endpoint」或「API URL」,名字不一样但都是同一个东西。同样不要带 /v1

改完之后回到对话页面,发条消息测试一下。

切换模型

OpenAI Hub 支持多家模型,NextChat 里切换很方便:

  1. 在对话界面,点顶部的模型名称(默认一般是 gpt-3.5-turbo
  2. 在下拉列表里选你想用的模型,比如 gpt-4oclaude-sonnet-4-20250514gemini-2.5-pro

如果下拉列表里没有你想要的模型,可以在设置里的「自定义模型名称」字段手动输入模型名。OpenAI Hub 支持的模型列表可以在 openai-hub.com 查看。

注意: 不同模型的计费不同,用 GPT-4 级别的模型前确认一下你的 OpenAI Hub 账户余额。

面具(Prompt 模板)

NextChat 有个好用的功能叫「面具」,本质就是预设的 System Prompt 模板。你可以给不同场景创建不同面具:

  • 点左下角的「面具」图标
  • 选一个内置模板,或者点「新建」自己写
  • 设置好 System Prompt 和默认模型

比如创建一个「代码审查」面具,System Prompt 写上你的审查规范,模型选 gpt-4o,以后每次代码审查直接选这个面具开聊就行。

常见问题

Q:部署后提示「Failed to fetch」或网络错误

大概率是 BASE_URL 写错了。检查两件事:

  • 确认是 https://api.openai-hub.com,不是 https://api.openai-hub.com/v1
  • 确认没有多余的空格或斜杠

Q:Vercel 部署后怎么更新版本?

去你 Fork 的 GitHub 仓库,点 Sync fork 同步上游更新,Vercel 会自动重新部署。

Q:能不能同时配多个 API Key?

环境变量 OPENAI_API_KEY 支持填多个 Key,用英文逗号分隔。NextChat 会自动轮询使用。

Q:聊天记录会上传到服务器吗?

NextChat 默认把聊天记录存在浏览器本地(localStorage),不会上传。但要注意对话内容本身会发送到 API 端(也就是 OpenAI Hub),这跟所有 API 调用一样。

接下来你可以试试

  • 给 NextChat 绑个自己的域名,在 Vercel 的 Settings → Domains 里加就行
  • 用面具功能搭几个常用的工作流模板,比如翻译助手、周报生成器
  • 试试 NextChat 的 ChatPDF 功能,上传文档直接跟 AI 聊内容
  • 如果团队多人用,可以设置多个访问密码做简单的权限隔离