零成本搭建可扩展的AI对话平台

更新

@here NodeJS 版本更新,需要添加环境变量 NODE_VERSION 否则会构建失败

项目介绍

本教程使用的是 @zhong_little 佬二创的 ChatGPT-Next-Web 项目,各位路过顺手点个star


:gem: 已兼容 think 标签式和 reasoning_content 式思考过程
:gem: 对齐官网推理,思考内容会过滤,不参与上下文对话以节约 token


ChatGPT-Next-Web 原项目地址



感谢各位佬为开源社区添砖加瓦

开始之前

本教程使用到的云服务提供商


  • Github
  • Cloudflare
  • Serv00
  • Upstash

感谢这些公司提供的免费服务,使得我们能够零成本搭建AI对话平台

部署服务

Github 导入

  • 注册 Github,导入仓库:点击前往

  • The URL for your source repository* 填写:
    https://github.com/QAbot-zh/ChatGPT-Next-Web

  • Repository name* 填写:
    ChatGPT-Next-Web

  • 然后点击 Begin import 等待导入完成

Cloudflare 部署

  • 注册 Cloudflare,新建pages:点击前往

  • 选择您刚刚创建的仓库ChatGPT-Next-Web ,点击 开始设置

  • 框架预设 选择 Next.js ,点击 环境变量(高级) - + 添加变量,建议添加:

变量名 注释 示例值
CODE 站点密码 CODE1,CODE2
BASE_URL OpenAI 格式的基础 URL https://api.openai.com
OPENAI_API_KEY OpenAI 格式的认证令牌 sk-xxxxxxxxxxxx
CUSTOM_MODELS 自定义模型,-all 表示删除所有内置模型 -all,gpt-4o-mini,deepseek-reasoner,grok-beta
NODE_VERSION NodeJS 版本 20

注意gpt-4o-mini 是默认任务模型(生成标题、ocr、中译英等),若要更换请参考 环境变量


  • 添加好变量后,点击 保存并部署,然后点击 继续处理项目

  • 切换到 设置 标签,点击 运行时 菜单, 编辑 兼容性标志nodejs_compat

  • 切换到 部署 标签, 在 所有部署 点击 ···重试部署

  • 切换到 自定义域 标签,点击 设置自定义域,输入您的域名或子域名,点击 继续激活域

  • 如果暂时没有域名,可以直接使用 部署 标签页下自动创建的 ****.pages.dev


注意: 后续可继续在 设置 标签添加修改变量,但注意修改添加后需重试部署方可生效

使用服务

电脑端

浏览器打开自定义域后点击右上角的俄罗斯方块,勾选并确认安装到到任务栏或桌面使用


手机端

同样浏览器打开自定义域后,点击浏览器的分享按钮,添加到主屏幕,安装到桌面使用

快捷键

功能 快捷键 功能 快捷键
打开新聊天 Ctrl + Shift + O 聚焦输入框 Shift + Esc
复制最后一个代码块 Ctrl + Shift + ; 重试最后一个提问 Ctrl + Shift + L
复制最后一个回复 Ctrl + Shift + C 显示快捷方式 Ctrl + /
搜索聊天记录 Ctrl + Alt + F

注意:初次使用需要点击左下角 :gear: 按钮,找到 访问密码,输入环境变量定义的 CODE


到这里,基本阶段的配置就完成了,如果仍有余力,可以继续浏览下面的内容

云备份

以下脚本使用到了 @zhong_little 佬的 go-file-server 服务


灵感来自 @Saika 佬的 serv00 脚本



  • 注册 Serv00 (暂未开放)并ssh登录
  • 如果首次使用,需先打开服务
devil binexec on
  • 断开ssh重连,然后执行安装脚本

警告:执行脚本将会重置机器,请务必确认已知其影响


  • 安装 go-file-server,输入 部署服务 填写的 CODE 完成部署
bash <(curl -sL https://raw.githubusercontent.com/Raimbaulty/freebsd/main/go-file-server.sh)

到这里,云备份就部署好了,使用步骤如下

  • 在设备 A 使用站点服务后,点击输入框顶部右上角的 :cloud:,输入 ***.serv00.net

  • 点击 云备份(本地记录上传云端) 上传对话记录

  • 在设备 B 同样点击输入框顶部右上角的 :cloud:,输入 ***.serv00.net

  • 点击 云导入(加载云端记录),选择备份点击 导入 即可将 A 设备的对话记录导入到 B 设备

同步配置

  • 注册 Upstash,点击 Create Database 新建一个redis数据库

  • 下拉找到 REST API,依次点击 UPSTASH_REDIS_REST_URLUPSTASH_REDIS_REST_TOKEN 复制保存到记事本

  • 访问您的自定义域名,页面加载完成后点击左下角 :gear: 按钮

  • 找到 云端数据,点击 配置,同步类型选择 UpStash

  • 从记事本复制输入 UPSTASH_REDIS_REST_URLUPSTASH_REDIS_REST_TOKEN

  • 点击 检查可用性:electric_plug:,图标变成带√的云朵表示成功,带×表示输入有误,完成后点击确认

  • 自定义设置后,还是在 云端数据,点击 同步 即可同步设置和对话

142 个赞

第一 !!!!!

3 个赞

感谢大佬分享!!!

2 个赞

2 个赞

大佬太强辣~

2 个赞

很LD风格的好帖,加精!

20 个赞

感谢佬分享

2 个赞

@bbb
过来学习 :tieba_087:

5 个赞

sad,还没搞到serv00,先mark下 :tieba_009:

1 个赞

大佬就是厉害,感谢大佬的分享

1 个赞

继续学习

1 个赞

serv00啥时候能注册啊

1 个赞

佬友很强啊!感谢分享!标记一个!

1 个赞

太强了!reno佬!

2 个赞

mark!学习!零成本的我都喜欢 :bili_040:

1 个赞

这些功能好实用啊

1 个赞

好好好,万家灯火与群星,人间值得又一刻

1 个赞

太强啦佬,又学到了

1 个赞

感谢佬友分享

1 个赞

太强了 reno 佬 :tieba_087:

2 个赞