【实用github项目】easy-panel搭配cockroachai实现多人分享chatGPT plus订阅
本文最后更新于 2024-06-05,
若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。
本站只有Telegram群组为唯一交流群组, 点击加入
文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请
前言
最近有小伙伴想跟我拼车ChatGPT Plus,于是我就去看了一下价格,日区IOS商店3000日元一个月,平均5个人,每个人30元一个月。价格还可以,于是买了一个玩玩,但是由于买的是是web页面的plus订阅,而不是收费api,所以不能使用一些面板直接进行对接。我在搜索的过程中发现cockroachai这个程序对接easy-panel面板来达到共享使用GPT账号非常方便,会话隔离做的也很好。
注意!如果你需要搭建该项目,你需要拥有一台解锁了ChatGPT的服务器才可以继续进行下列步骤!
项目介绍
折合人民币143元
订阅后可以使用ChatGPT的所有模型。
搭建后的效果图,我使用了阿里云香港服务器作为中转服务,在中国大陆访问无需VPN,而且速度很快,体验很好。
ChatGPT Plus订阅可以使用图片生成,文档上传,语音对话等功能,比免费版的功能强大了不少。
项目搭建
cws的依赖项目暴死,根基不存,这个项目也没办法正常使用了,他的作者又基于另外一个非开源的分享项目,二开了一个管理面板:
https://github.com/chatpire/chatgpt-web-share
ckroachai
https://github.com/cockroachai/cockroachai
cockroachai 最大的问题就是不开源,但是看到目前感觉体验和原生一样。
安装
git clone https://github.com/cockroachai/cockroachai.git
cd cockroachai
修改配置
vim config/config.yaml
主要修改一下,ADMIN_PASSWORD,其他功能我们都将使用easy-panel进行对接
REFRESHCOOKIE获取和之前一样,通过以下方式获取
https://chat.openai.com/api/auth/session
这个cookie里面的value需要填写到 config/session.json
中
{"accessToken":"你的value值"}
session.json
这个文件在你 docker compose up -d
第一次启动时会自动生成该文件。
在生成填写后需要重新 docker compose up -d 或者docker compose down 删除后再生成
cookie也可以在系统启动以后登录以下网址,用账号和密码自动刷新
[http://服务器 IP:9000/getsession](http://服务器 IP:9000/getsession)
- 这里会遇到一个问题,如果gpt是用谷歌登陆的,那么这里是无法使用这种邮箱+密码的方式完成获取token的,你需要去上面的网址从F12里面去获取。
然后启动即可
docker-compose up -d
登录下面的地址,输入user token即可使用
http://服务器IP:9000
测试
到这里cockroachai已经可以用了,界面和原生的一样。
Easy Panel
https://github.com/chatpire/easy-panel
这是一个快速基于cockroachai的管理面板,主要是对cockroachai的实例进行管理,同时也可以多用户,每个用户分配不同的cockroachai使用
安装
创建docker环境变量,填一下密码和相关配置信息
mv .env.example .env.docker
初始化
docker-compose run --rm easy-panel yarn docker:db-migrate
docker-compose run --rm easy-panel yarn docker:create-admin
启动
docker-compose up -d
测试
登录
然后新建一个instance,这里填写上面创建的cockroachai即可
创建完以后会提示你配置Cockroachai,再去修改Cockroachai的config
一旦接入Easy Panel,那么Cockroachai里的user token都会失效
要正确接入,就需要在Easy Panel中创建一个新用户,然后用他登录,登录以后就能看到对应的跳转链接了,稍微有点麻烦,但是可以用
补充
内容审核及限速服务
如果有内容审核及限速(例如限制 3 小时 20 条),可以配置限速服务接口
AUDIT_LIMIT_URL: http://127.0.0.1:9612/audit_limit # 修改为你的审计限制接口url
不配置该项则不进行审计及限制
可参考示例审核服务。 https://github.com/cockroachai/auditlimit
AuditLimit
用于内容审核的限流器,本代码更多的是为了演示如果使用限流器,大家可以根据自己的需求进行修改。
如果不想部署,可以使用公共限流器: https://auditlimit.closeai.biz/audit_limit
部署方法
创建 docker-compose.yml
文件
version: '3'
services:
auditlimit:
image: xyhelper/auditlimit
restart: always
ports:
- 9611:8080
environment:
LIMIT: 40 # 限制每个userToken允许的次数
PER: "3h" # 限制周期 1s, 1m, 1h, 1d, 1w, 1y
然后执行
docker-compose up -d
限流器接口地址为: http://ip:9611/audit_limit
超速返回格式
状态码: 429
{
"detail": {
"clears_in": 252,
"code": "model_cap_exceeded",
"message": "You have sent too many messages to the model. Please try again later."
}
}
通用提示
状态码: 400
{
"detail": "别闹了"
}
正常返回
状态码: 200
内容审核
配置环境变量
OAIKEY: "sk-xxxxxx" # api.openai.com可用的key或sess
将启用moderations接口内容审核
反向代理
参考教程:安装及使用
⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)
互联网使用请确保完成了域名解析