自建一个套壳的ChatGPT

功能

使用docker创建一个chatgpt的套壳网站

什么是套壳?

我们知道,有一个chatgpt账号后可以通过官网和gpt进行对话

  • 优点: 更智能,免费
  • 缺点: 需要科学上网

套壳就是在官网的网页上封装一层,可以实现免除cf验证,无需代理,会话隔离的功能
原理就是通过登录官网后获得一个accessToken(就像Cooke,有14天有效),然后通过程序的内置代理实现免科学上网的功能进行对话

需要注意的是:

现在openAi有api,但是收费/不好续费
内置代理意味着你的聊天记录都会被代理的所有者看到

搭建

套壳服务

chatgpt-web
docker-compose.yml配置

version: '3'
services:
  app:
    image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
    ports:
      - 3002:3002
    environment:
      # 二选一
      OPENAI_ACCESS_TOKEN: xxx
      # 反向代理,可选
      API_REVERSE_PROXY: https://ai.fakeopen.com/api/conversation
	#访问权限密钥,可选
      AUTH_SECRET_KEY: 一个秘密
      # 每小时最大请求次数,可选,默认无限
      MAX_REQUEST_PER_HOUR: 0
      # 超时,单位毫秒,可选
      TIMEOUT_MS: 60000

OPENAI_ACCESS_TOKEN:需要登录后访问https://chat.openai.com/api/auth/session
或者通过这个获取:https://ai.fakeopen.com/auth1
格式类似于下面的,其中accessToken就是需要的

{
  "user": {
    "id": "AAA",
    "name": "BBB",
    "email": "CCC",
    "image": "DDD",
    "picture": "EEE",
    "groups": []
  },
  "expires": "FFF",
  "accessToken": "XXX"
}

有强迫症的肯定想替换内置的代理,下面是方法

自建代理

前提是有一个能正常访问chatgpt的外网服务器
go-chatgpt-api
docker-compose.yml

version: "3.8"
services:
  go-chatgpt-api:
    container_name: go-chatgpt-api
    image: linweiyuan/go-chatgpt-api
    ports:
      - 8080:8080
    environment:
      - TZ=Asia/Shanghai
      - GO_CHATGPT_API_PROXY=
      - GO_CHATGPT_API_PANDORA=
      - GO_CHATGPT_API_ARKOSE_TOKEN_URL=
      - GO_CHATGPT_API_ARKOSE_PUID=
    restart: unless-stopped

参数保持默认,启动后可以绑定一个域名,然后填到上面的API_REVERSE_PROXY中即可
:: 关于这个代理和其他开源项目的使用一定要看!!

其他开源项目

网页版的GPT,后端优化,绕过 Cloudflare,速度喜人
pandora
跨平台的ChatGPT 应用,推荐有openApi的用
chat-next-web
也是一个开源的代理,按理说搭建后填入API_REVERSE_PROXY即可,但我没成功
chatgpt-proxy