上篇文章我们说了PandoraNext最简单的搭建方法,可是如果我们需要自己运营的话,那之前就只能说太简陋了,账号不知道怎么注册,每次需要填入access_token才能用,太麻烦了,有没有更好点的办法呢,比如我们上文说到的那个公益站点chat-shared3.zhile.io,大家都可以用,而且还可以有自己的专项账号,其实这都是PandoraNext做到的,这节我们就详细的说下
首先我们看下PandoraNext的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": "*", "captcha": { "provider": "", "site_key": "", "site_secret": "", "site_login": false, "setup_login": false, "oai_username": false, "oai_password": false, "oai_signup": false }, "whitelist": null }
bind
指定绑定IP和端口,在docker内,IP只能用0.0.0.0
,否则映射不出来。- 如果你不打算套nginx等反代,
bind
参数的IP请使用0.0.0.0
!!! tls
配置PandoraNext直接以https
启动。enabled
是否启用,true
或false
。启用时必须配置证书和密钥文件路径。cert_file
证书文件路径。key_file
密钥文件路径。
timeout
是请求的超时时间,单位为秒
。proxy_url
指定部署服务流量走代理,如:http://127.0.0.1:8888
、socks5://127.0.0.1:7980
license_id
指定你的License Id,可以在这里获取。public_share
对于GPT中创建的对话分享,是否需要登录才能查看。为true
则无需登录即可查看。site_password
设置整站密码,需要先输入这个密码,正确才能进行后续步骤。充分保障私密性。不少于8
位,且同时包含数字
和字母
!setup_password
定义一个设置密码,用于调用/setup/
开头的设置接口,为空则不可调用。不少于8
位,且同时包含数字
和字母
!server_tokens
设置是否在响应头中显示版本号,true
显示,false
则不显示。proxy_api_prefix
可以给你的proxy
模式接口地址添加前缀,让人意想不到。注意设置的字符应该是url中允许的字符。包括:a-z
A-Z
0-9
-
_
.
~
proxy_api_prefix
你必须设置一个不少于8
位,且同时包含数字
和字母
的前缀才能开启proxy
模式!/backend-api/conversation
proxy模式比例1:4
/v1/chat/completions
3.5模型比例1:4
/v1/chat/completions
4模型比例1:10
, 无需打码/api/auth/login
登录接口比例1:100
,无需打码/api/arkose/token
获取arkose_token
,比例1:10
isolated_conv_title
现在隔离会话可以设置标题了,而不再是千篇一律的*
号。captcha
配置一些关键页面的验证码。provider
验证码提供商,支持:recaptcha_v2
、recaptcha_enterprise
、hcaptcha
、turnstile
、friendly_captcha
。site_key
验证码供应商后台获取的网站参数,是可以公布的信息。site_secret
验证码供应商后台获取的秘密参数,不要公布出来。有些供应商也称作API Key
。site_login
是否在全站密码登录界面显示验证码,true
或false
。setup_login
是否在设置入口登录界面显示验证码,true
或false
。oai_username
是否输入用户名界面显示验证码,true
或false
。oai_password
是否在输入登录密码界面显示验证码,true
或false
。
whitelist
邮箱数组指定哪些用户可以登录使用,用户名/密码登录受限制,各种Token登录受限。内置tokens不受限。whitelist
为null
则不限制,为空数组[]
则限制所有账号,内置tokens不受限。- 一个
whitelist
的例子:"whitelist": ["[email protected]", "[email protected]"]
里面设置参数是不是很多,我们这里需要用到的也就那么几个,跟着小编来
首先,我们每次这样的设置是不是很麻烦,每次都需要进入服务器后台操作,有没有更方便的设置方法呢,答案是有的,其实PandoraNext已经给我们提供了一个管理界面,不过这个界面是默认关闭的,我们打开即可。
打开设置界面
必须先在config.json中设置setup_password的密码,默认是没有密码的,为空,则为关闭,设置密码就打开了。
浏览器打开:<Base URL>/setup,其中<Base URL>是你网站的地址,或者你IP+端口号的地址。这样我们输入我们刚才设置的密码,就可以进入后台管理界面了。
这时我们可以看到上面有几个配置文件,config.json就不说了,整个PandoraNext的灵魂所在,大家可以看着上面的参数进行配置,其实到我们这一步,这里也没什么好改的了,根据个人需求吧
配置个人账号
我们打开tokens.json配置文件
这里面默认是空的,我们可以把我们的tokens.json配置复制进去
{ "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" } }
token
支持示例文件中所写的所有类型。session token
和refresh token
可自动刷新。- 每个key被称为
token key
,可在登录框作用户名输入。如上:test-1
、test-2
等,随意更改。 - 如果设置了
password
则输入完token key
进入输入密码页面输入匹配。 - 如果设置
shared
为true
,则这个账号会出现在/shared.html
中,登录页面会出现它的链接。 - 如果设置
shared
为true
,则这个账号不能再在用户名登录框进行登录。 /shared.html
中的账号和共享站功能相同,可以自行设置隔离密码进行会话隔离。plus
用来标识/shared.html
上账号是否有金光,没有其他作用。show_user_info
表示/shared.html
共享时是否显示账号邮箱信息,GPTs建议开启。- 现在可以直接内置用户名密码登录,此种方法必须设置
password
且shared
不可为true
。 - 内置账号密码的格式为:
邮箱,密码
,此种是0
额度消耗的。
共享账号
根据配置文件的提示,进行定制化修改,test-1、test-2这两个没有密码选项,说明这里是共享账号,test-2中有plus参数,这说明这是个会员账号,也就是GPT4.0,其实删掉也可以,就是前台看不出来了,这里我们做一个区分而已,如果我们想添加多少账号,我们直接复制粘贴几个就行了。比如我们想多添加几个账号,我们多复制几个就可以了,只要token配置好就行。
{ "用户名1": { "token": "access token / session token / refresh token", "shared": true, "show_user_info": false }, "用户名2": { "token": "access token / session token / refresh token", "shared": true, "show_user_info": false }, "用户名3": { "token": "access token / session token / refresh token", "shared": true, "show_user_info": true, "plus": true }, "用户名4": { "token": "access token / session token / refresh token", "shared": true, "show_user_info": true, "plus": true }, }
最后保存,返回我们的站点,点击Go shared chat我们就可以看到我们刚做的那些分享节点了
个人账号
上面的test2其实就是一个个人账号,我们可以直接用test2登录密码即123456,不过我们个人用的话,可以改成自己的ID和密码,如果我们想注册多个账号同样的多复制几个就可以了,格式对应好即可。
{ "用户名1": { "token": "access token / session token / refresh token / share token / username & password", "password": "密码" } "用户名2": { "token": "access token / session token / refresh token / share token / username & password", "password": "密码" } }
配置完成后,保存预加载,即可立即生效。到这里,我们的设置基本上就已经完成了,快来搭建自己的专属GPT吧!