本文最后更新于 2023-12-03,文章内容可能已经过时,遇到问题可以留言。

vps部署ninja作为chatgpt-web的反向代理

前置条件,无法满足的可以跳过了

vps可以直连chatgpt,或者有可以连接chatgpt的代理节点

涉及3个GitHub项目

  1. chatgpt-web
  2. ninja
  3. pandora-next

背景

  1. pengzhile的反代链接失效,无奈只能自己本地部署
  2. 仅个人用的话也可以用pandora-next,每日对话数量有限制,但够用

部署ninja

使用docker部署ninja(GPT3.5无需另外设置,其他个性化设置见原项目)

docker run -d -p port:7999 —-name=ninja \
-e TZ=Asia/Shanghai \
gngpp/ninja:latest run

将代码中的port改为你自己的端口,部署完之后就可以用http://ip:port来打开ninja的webui了。
如果你的vps无法直连chatgpt,需要代理才能连chatgpt的,在代码里加1行代理信息。

docker run -d -p port:7999 —-name=ninja \
-e TZ=Asia/Shanghai \
-e PROXIES=你的代理地址 \
gngpp/ninja:latest run

ninja可以直接帐号密码登陆使用chatgpt,也可以用access token登陆,不过我们的目的是用来当反向代理

chatgpt-web反代

ninja提供的反代的链接为http://ip:port/backend-api/conversation,即设置chatgpt-web环境变量API_REVERSE_PROXY=http://ip:port/backend-api/conversation

完成

  • 完成以上步骤就能正常使用chatgpt-web了效果

后记

今天使用时提示418代码了,我试了下,在chatgpt官网发送信息时抓api.js保存成.har格式,通过http://ip:port/har/upload 上传到ninja后可继续使用(抓包时api.js不止1个,建议全部下载下来传到ninja)