PandoraNext-让你呼吸更顺畅的ChatGPT

PandoraNext-让你呼吸更顺畅的ChatGPT

CoderJia 175 2023-12-25

PandoraNext-让你呼吸更顺畅的ChatGPT

前言

之前分享了一篇文章《Docker安装Pandora体验本地ChatGPT》,介绍了如何体验15天免梯子登录ChatGPT,这段时间有知友反馈已经不能用来,报以下问题:

“An error occurred. Either the engine you requested does not exist or there was another issue processing your request. If this issue persists please contact us through our help center at help.openai.com.”

去Github上想看看有没有相关的issues,结果发现已经被删库了,顺着docker镜像仓库的蛛丝马迹终于找到了原因,原来Pandora项目被Github删了,不过好在作者新起号新起的项目PandoraNext出现了。

github仓库已删

dockerhub上的镜像

作者本人发声

PandoraNext介绍

新项目仓库地址:https://github.com/pandora-next/deploy

官方功能介绍:

  • Pandora Cloud + Pandora Server + Shared Chat + BackendAPI Proxy + Chat2API = PandoraNext(演示站
  • 更强大,但还是那个让你呼吸顺畅的ChatGPT。支持GPTs,最新UI。
  • 支持多种登录方式:(相当于Pandora Cloud)
  • 账号/密码
  • Access Token
  • Session Token
  • Refresh Token
  • Share Token
  • 可内置tokens(可使用上述所有Token),支持设置密码。(相当于Pandora Server)
  • 可配置共享的tokens,会有一个功能等同chat-shared3.zhile.io的共享站(目前1841个普号、6个Plus)。
  • 为全代理模式(能想象到的都代理了),你的用户只需要跟你的部署网络能通即可。
  • 可启动为BackendAPI Proxy模式,直接使用Access Token调用/backend-api/和chat2api的接口。

简单来说就是:

  • 灵活,支持多种登录方式;
  • 免梯,无论是登录还是注册账号都免梯;
  • 白嫖,可配置共享的tokens;
  • 可装X。

PandoraNext安装

官方文档写的十分详细,可以直接跟着官方操作:https://docs.pandoranext.com/zh-CN,我简述下自己的安装过程,有问题再探讨。本文采用Docker 部署,其他部署方式也很简单。 当然了如果不方便安装,可以直接体验一下作者的演示站:PandoraNext,可自行创建账号,如果邮箱不行可以私我。

1、获取默认配置文件

通过github下载项目到服务器上,主要需要/data目录和/sessions目录。

下载默认配置

解压缩包:

配置目录结构

2、获取License Id

license_id是作者设置的一种防滥用的机制。

  • 在这里获取:https://dash.pandoranext.com
  • 复制License Id:后的内容,填写在config.json的license_id字段。
  • 注意检查不要复制到多余的空格等不可见字符。
  • 如果config.json中没有填写license_id字段,启动会报错License ID is required。
  • 没有固定IP的情况,IP变动后会自动尝试重新拉取。

获取license_id

license的用处

3、修改配置文件

编辑 config.json 文件

以下是一份默认的config.json配置文件,你可以直接复制到你的config.json文件中,然后修改其中的参数。

{
  "bind": "0.0.0.0:8181",
  "tls": {
    "enabled": false,
    "cert_file": "",
    "key_file": ""
  },
  "timeout": 600,
  "proxy_url": "",
  "license_id": "",
  "public_share": false,
  "site_password": "",
  "setup_password": "",
  "server_tokens": true,
  "proxy_api_prefix": "",
  "isolated_conv_title": "*",
  "disable_signup": false,
  "auto_conv_arkose": false,
  "proxy_file_service": false,
  "custom_doh_host": "",
  "captcha": {
    "provider": "",
    "site_key": "",
    "site_secret": "",
    "site_login": false,
    "setup_login": false,
    "oai_username": false,
    "oai_password": false,
    "oai_signup": false
  },
  "whitelist": null
}

修改建议:

  • bind配置项改为"0.0.0.0:8181":127.0.0.1只在本机的程序可以访问,而0.0.0.0将直接暴露出外部,对于docker中使用,也只能使用0.0.0.0。
  • license_id改为上一步获取到的License Id。
  • site_password为整站密码,需要先输入这个密码,正确才能进行后续的页面访问。 充分保障你部署站点的私密性,杜绝不明流量占用。
  • setup_password为设置密码,就可以通过<你部署的站点>/setup这样的地址进行一些设置,如:在线配置config.json、tokens.json、热重载等。

config.json配置参考

tokens.json 配置

就是配置登录ChatGPT账号的文件,参考如下配置

{
  "test-1": {
    "token": "access token / session token / refresh token",
    "shared": true,
    "show_user_info": false
  },
  "test-2": {
    "token": "access token / session token / refresh token",
    "shared": true,
    "show_user_info": true,
    "plus": true
  },
  "test2": {
    "token": "access token / session token / refresh token / share token / username & password",
    "password": "12345"
  }
}

如示例中的test-1、test-2、test2等,我们称之为token key,可随意更改,但不可重复。

token支持示例中的access token、session token、refresh token、share token、username & password。

各种类型的token使用对比:

各种token对比

tokens.json配置参考

4、部署PandoraNext

在/data目录上级执行如下命令:

docker pull pengzhile/pandora-next
docker run -d --restart always --name PandoraNext --net=bridge \
            -p 8181:8181 \
            -v ./data:/data \
            -v ./sessions:/root/.cache/PandoraNext \
            pengzhile/pandora-next

运行并查看启动日志

5、访问PandoraNext

这里假设网络策略都已打通,打开网址你的IP:8181:

输入全站密码

登录方式

登录成功

测试通过

手机免梯访问

6、进入设置页

第一次进入需输入设置密码。大多数配置项可以修改并热加载,少数需要重启服务。

配置页的热部署

7、配置反向代理

可参考官方配置nginx反向代理,我这里图省事了,直接使用宝塔配置了反向代理,顺带配置了SSL证数实现https访问。

宝塔配置反向代理

总结

PandoraNext很牛,作者更牛,帮我们解决了使用Chat GPT过程中的99%的难题,并且十分有奉献精神。就是有点担心这个项目能不能一直存在。

更多玩法可以关注一下作者的博客:https://zhile.io/