PandoraNext 部署并与 ChatGPT-Web 对接的记录

PandoraNext 的目标是帮用户绕开网络限制使用 GPT 服务,配合第三方 chatgpt-web 前端就能得到可用的对话界面。这篇记录部署、取 token、对接 Web 三步。

先说明时效:截至 2024 年 1 月 22 日,Pandora Next 项目已归档,并于 2024 年 1 月 30 日停止所有服务,本文内容已不再适用于生产环境,仅作流程留档。

准备工作

  1. 一台服务器,国内的即可,主要确认网络能否访问 GitHub;
  2. 安装 docker 和 docker-compose;
  3. 有自己的 GPT 账号,或有能正常接收邮件的邮箱(国内邮箱不行,可用 Outlook、Gmail 等国外邮箱服务商);
  4. 登录 GitHub 账号并与 PandoraNext 关联获取 License Id,地址:https://dash.pandoranext.com 。

额度按 GitHub 账号年限发放:不满 1 年的只有 100 条,完成 2 个彩蛋后可到 1000 条(不满一年则只有 200),个人每天 1000+ 条够用。另外 start 项目和 follow 作者(注意是作者不是项目)每个单独获得 500 条额度。

%

pandora-next01

%
%

pandora-next02

%

部署 PandoraNext

克隆项目:

mkdir -p /data/pandora-next && cd $_
git clone https://github.com/pandora-next/deploy.git

修改配置:复制 License Id 后面的内容,填进 config.json 的 license_id 字段。

cd deploy/
vi data/config.json

%

pandora-next03

%

同时开启 proxy 模式:

%

pandora-next04

%

部署服务:

docker-compose up -d

# 检查启动情况
docker logs -f PandoraNext

访问服务:服务器 IP 或域名加 8181 端口;如果用 Nginx 做了反向代理,直接域名访问。输入 GPT 账号登录,没有账号也可以通过部署的这套服务注册。

%

pandora-next05

%

获取 Access Token

手动获取 access token 和 session token,访问 http://<YOUR_IP>:8181/<proxy_api_prefix>/auth,消耗比例 1:100;手动获取 share token 访问 http://<YOUR_IP>:8181/<proxy_api_prefix>/fk,得到 fk- 开头的 key,类似 chatgpt api。输入 GPT 账号密码即可获得对应 Token。

%

pandora-next06

%

Proxy 模式下各接口额度消耗:

  • web 模式中的对话,每次消耗 1 条;
  • <BaseURL>/backend-api/conversation 每次调用消耗 4 条;
  • <BaseURL>/v1/chat/completions gpt-3.5 模型每次调用消耗 4 条;
  • <BaseURL>/v1/chat/completions gpt-4 模型每次调用消耗 10 条,无需关注验证码;
  • <BaseURL>/api/auth/login 每次调用消耗 100 条,无需关注验证码;
  • <BaseURL>/api/auth/platform/login 每次调用消耗 100 条,无需关注验证码;
  • <BaseURL>/api/arkose/token 每次调用消耗 10 条;
  • <BaseURL>/v1/* 除上述 /v1/chat/completions 之外,每次调用消耗 1 条;
  • <BaseURL>/dashboard/* 每次调用消耗 1 条。

对接第三方 Web 前端

这里用的 Web 项目是 https://github.com/Kerwin1202/chatgpt-web 。

接口地址(API KEY)填:http://<YOUR_IP>:8181/<proxy_api_prefix>;反向代理地址(GPT WEB)填:http://<YOUR_IP>:8181/<proxy_api_prefix>/backend-api/conversation。使用接口消耗为 1:4 或 1:10,使用 accesstoken 比例为 1:4。

%

pandora-next07

%

接口类型选择 ChatGPTUnofficialProxyAPI,API 处添加上面生成的 access token:

%

pandora-next08

%

使用测试

%

pandora-next09

%

对话发起后,可以用下面的指令查看 PandoraNext 服务的请求日志:

docker logs -f PandoraNext

%

pandora-next10

%

收尾说明

项目停服后这套自建链路已经失效,留档的意义在于流程本身:license 机制、proxy 模式、token 三种获取入口、按接口计的额度消耗,这些设计在同类中转方案里会反复出现。若只是需要 API,直接走官方 API 更省事;8181 端口任何时候都只对内网或自己的代理开放。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容