NextChat 部署后怎么用:API 配置与对话验证
NextChat(也常被叫作 ChatGPT Next Web)本身不提供模型,它只是一个网页聊天界面。
装好之后能不能正常对话,取决于你有没有在设置里填对模型接口地址、API Key 和模型名称。
这篇教程按“先确认入口,再配接口,最后验证对话”的顺序展开,适合已经用 Docker 或 Vercel 部署了 NextChat、但还没跑通对话的读者。
先确认 NextChat 已经能正常打开
在配置模型之前,先排除部署本身的问题。
打开浏览器访问你的 NextChat 地址,例如 http://服务器IP:3000 或绑定的域名。
如果页面能加载出聊天界面,说明前端服务正常;
如果打不开,先检查容器是否在运行:
docker ps | grep nextchat
docker logs -f nextchat
常见情况是容器启动了但端口没映射,或者云服务器安全组没放行 3000 端口。
确认 docker ps 里状态是 Up,再用 curl -I http://127.0.0.1:3000 在服务器本机测试,本机通、外网不通,基本就是防火墙或安全组问题。
在设置里配置模型接口
页面能打开后,点击左下角设置图标,进入“设置”里的模型或接口配置区域。
NextChat 支持 OpenAI 兼容接口,填写逻辑分三块:
- 接口地址:填到
/v1为止,例如https://api.openai.com或你自建服务的https://你的域名。不要多写/chat/completions。 - API Key:填服务商提供的密钥,本地 Ollama 等不需要密钥的场景可以留空或随便填一个占位值。
- 模型名称:必须和服务端实际支持的模型名一致,例如
gpt-4o-mini、deepseek-chat,自建服务则填其加载的模型名。
填完后点“检查”或直接发一条消息。
如果返回 401,优先检查密钥是否复制完整、有没有多余空格;
返回 404,多半是接口地址多写或漏写了路径;
返回模型不存在,则是模型名和服务端不匹配。
Docker 部署时用环境变量预设
如果希望打开页面就带好默认配置,可以在启动容器时通过环境变量写入,避免每个浏览器手动填:
docker run -d --name nextchat \
-p 3000:3000 \
-e OPENAI_API_KEY="你的密钥" \
-e BASE_URL="https://api.openai.com" \
-e CODE="访问密码" \
crxjs/chatgpt-next-web
其中 BASE_URL 是接口地址,CODE 是页面访问密码,建议公网部署时设置,避免别人直接使用你的额度。
修改环境变量后需要删除旧容器重新运行,仅重启容器不会让新变量生效。
配完之后的验证方法
配置正确与否,用一次真实对话就能确认。
发送“你好”后观察三点:消息是否正常返回、返回内容是否来自你配置的模型、页面右上角是否出现错误提示。
如果一直转圈没有响应,先看浏览器开发者工具的 Network 面板,找到请求接口的那条记录,查看状态码和返回体。
另外,用域名访问时如果出现跨域或 502,检查反向代理是否把请求正确转发到 127.0.0.1:3000,并确认 WebSocket 相关头没有被拦截。
Nginx 场景下可以先看 error.log,再对照代理配置里的 proxy_pass 地址是否写错。
容易踩的几个坑
第一,接口地址末尾多写 /v1/chat/completions,NextChat 会自己拼接路径,结果变成重复路径导致 404。
第二,把模型名写成服务商展示名称而不是接口实际模型 ID,对话会直接报模型不存在。
第三,在 Docker 里改了环境变量却只执行 docker restart,配置没有更新。
第四,公网部署不设访问密码,密钥和额度容易被他人使用。
如果配置后仍然连不上,按“容器状态 → 本机 curl → 接口地址 → 密钥 → 模型名”的顺序逐项排查,通常能定位到具体哪一环出了问题。
常见疑问
NextChat 必须自己提供 API Key 吗? 默认情况下是的,它只是前端界面,需要连接一个可用的模型接口。
部分部署方式会内置中转地址,但本质仍然依赖后端服务。
本地 Ollama 能不能接 NextChat? 可以。
接口地址填 Ollama 的 OpenAI 兼容地址,模型名填本地已拉取的模型,密钥留空或填任意占位值即可。
页面能打开但一发消息就报错,先查哪里? 先看浏览器 Network 里接口请求的状态码,再对照状态码判断是密钥、地址还是模型名的问题,比盲目重装更有效。