Node搭建Chanzhaoyu/chatgpt-web自己的ChatGPT的Web服务
搭建ChatGPT Web项目成本不高,网上很多开源项目。一个功能相对齐全,开源免费,可以不用配置代理使用,项目地址:https://github.com/Chanzhaoyu/chatgpt-web
安装 Chanzhaoyu/chatgpt-web
node -v
版本>16- 安装pnpm,全局安装
pip install pnpm -g
- 导入项目
git clone https://github.com/Chanzhaoyu/chatgpt-web.git
- 安装依赖
进入文件夹 /service 运行
pnpm install
安装后台。 根目录下运行pnpm bootstrap
安装前台。 -
编辑配置
/service/.env.example
复制到/service/.env
# OpenAI API Key - https://platform.openai.com/overview OPENAI_API_KEY=sk-XXXXXXXX # change this to an `accessToken` extracted from the ChatGPT site's `https://chat.openai.com/api/auth/session` response OPENAI_ACCESS_TOKEN= # OpenAI API Base URL - https://api.openai.com OPENAI_API_BASE_URL= # OpenAI API Model - https://platform.openai.com/docs/models OPENAI_API_MODEL=
运行测试
进入文件夹 /service 运行以下命令
pnpm start
启动后台。 根目录下运行pnpm dev
启动前台。打包
打包方式很多种:
- 使用 Docker
- 使用 Railway 部署
- 使用 Sealos 部署
- 手动打包
这里用手动打包,熟悉node的朋友不难,几条命令行即可。
后台打包
pnpm build
,service 文件夹可以复制到任意位置。前台打包前编辑根目录下 .env 文件中的 VITE_GLOB_API_URL 为你的实际后端接口地址,VITE_APP_API_BASE_URL 为service服务运行时的地址。 前台打包
pnpm build
,dist 文件夹可以复制到指定项目文件夹。正式运行
- 先安装pm2
前台启动经常异常断开,很多方式挂后都一样挂掉了。
npm install pm2 -g
-
配置nginx代理转发
#前台dist 文件夹放在根目录下请求转发如下: location ~* /dist(/?) { rewrite ^/dist?(/*)/g$ /dist/index.html last; break; } #后台服务转发到上面提到service服务运行地址 proxy_buffering off; # 快速响应 chatgpt打字机效果 proxy_buffer_size 4k; location ^~ /chat/ { proxy_pass http://127.0.0.1:1002/; proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; }
- 运行
进入 service 文件夹,运行
pm2 start pnpm --name='chatgptApi' -- run prod &
进入chatgpt-web安装根目录,运行pm2 start pnpm --name='chatgpt' -- run dev &
输入 dist 文件夹所在项目url地址使用 本项目运行地址(仅供测试,不知到key什么时候到期):https://blog.ebeast.club/dist