私有化网页版ChatGPT和new bing部署

一、准备工作

首先下载开源项目Pandora AI

后端:
https://github.com/waylaidwanderer/node-chatgpt-api
前端:
https://github.com/waylaidwanderer/PandoraAI

或者百度云
链接:https://pan.baidu.com/s/16qoy62i0jM5T_8gE4UvHhQ?pwd=d0a2
提取码:d0a2

确定本机安装了Node.js并且版本大于16.0.0

可从此处下载你所需的 node.js 版本:https://www.runoob.com/nodejs/nodejs-install-setup.html
查看安装好的版本:命令行中输入 node -v

确定本机安装了npm

npm 是 Node.js 的包管理工具,它可以让你方便地安装和使用别人编写的模块或命令行程序。
如果你已经安装了 Node.js,那么 npm 也已经一起安装好了
在控制台里输入 npm -v 来查看版本。如果输出版本号说明已经成功安装了。如果你想升级npm,可以使用 npm install npm -g 命令
当然后续版本是不支持-g命令的,如果提示

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

请将根据指示将 -g 命令替换为 --location=global 本篇中仍会使用-g作为命令样例

Docker(虚拟环境搭建)

不是必需品,感兴趣的大佬可以自己琢磨然后还请告诉我解决方法喵

二、下载moudles

chatgpt-api

进入到node-chatgpt-api-main的根目录,在控制台内输入

区别
npm i 是 npm install 的缩写,它是用来安装模块的命令。npm i 将模块安装在当前操作目录下, 安装后的模块会放在 node_modules 文件夹中;
npm i -g 是指将模块进行全局安装,安装后的模块会放在系统目录下,你可以在任何地方直接使用这个模块。

此时会出现的问题

这有可能是因为 npm命令不符合规范 或 下载源问题
npm命令的解决方法即前面-g的修改替换

下载源问题: 需要nrm查看下载源


三、进行 api、cookies 等设置(我只设置了 chatgpt 和 new bing,其他的感兴趣的大佬可以自行设置)

找到node-chatgpt-api-main项目中的根目录下的settings.example.js,将其重命名为 settings.js,并修改以下几处:

  • 11行

在单引号中填写你的openai chatgpt api 以供调用

可在此网址获得
https://platform.openai.com/account/api-keys

  • 35行

在单引号中填写你的代理
可从此网址获得

打开网址后,会看到 ip,network,version 等相关信息, 按 F12 进入开发人员工具-网络-点击第一个 json/,将远程地址(Remote Address)右边复制下来就是了。
【当然还有其他办法可以获得,例如可以根据代理工具的不同灵活变换方法,实用即可】

下面以clash为例来看以下直接查找的方式:

我们直接在主页看到端口
那么代理就是
http://127.0.0.1:7890

  • 46行

此处填写你的一个可以正常使用微软new bing 的账号的 cookie。
获取方式(其一):打开 edge 或者 edge dev 浏览器,进入 bing.com(注意不是 cn.bing.com), 按 F12 进入开发人员工具- 选择网络- 搜索 bing.com -ctr+r 刷新- 点击nosignin -右侧栏一直下滑找到cookie-复制那段很长很长的内容就是了

  • 48 行【同 35 行即可】

四、启动服务

在node-chatgpt-api-main项目中启动终端,输入npm install
此时会出现的问题 :
下载失败:
下载失败有几种可能的原因:
1、 npm源问题,自己换源
2、 代理流量没有完全从节点走,这里先尝试将代理工具clash切换为全局代理,仍然无效

于是下载Proxifier(其中一种方法)

下载后解压,此时杀毒软件可能会删除Crack文件夹内的文件

对于自己安装的杀毒软件想办法加入白名单(省流:自己百度解决)
这里只针对Windows自带的windws defender出具解决方案
首先进入windows安全中心中关闭所有可关闭的服务
然后我们发现第一项服务没法关闭只能允许
于是我们按快捷键Win+R,打开运行窗口,输入“regedit”,这样就打开了注册表编辑器

在编辑器左侧依次找到“HKEY_CURRENT_USER\Software\Policies\Microsoft\MMC
双击右键的RestrictToPermittedSnapins,把它的值设置为0

现在轮家庭版win系统的家人们急了,找不到啊!
你先别急!!!共两个方法,我推荐使用第二个
找不到MMC,这时我们可以新建一个文本文件,然后打开把下面内容复制到记事本里

Windows Registry Editor Version 5.00[Hkey_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionGroup PolicyObjectsLocalUserSoftwarePoliciesMicrosoftMMC][-Hkey_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionGroup PolicyObjectsLocalUserSoftwarePoliciesMicrosoftMMC{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}]"Restrict_Run"=dword:00000000[Hkey_CURRENT_USERSoftwarePoliciesMicrosoftMMC][-Hkey_CURRENT_USERSoftwarePoliciesMicrosoftMMC{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}]"Restrict_Run"=dword:00000000[Hkey_CURRENT_USERSoftwarePoliciesMicrosoftMMC]"RestrictToPermittedSnapins"=dword:00000000

复制粘贴以后,把文件的后缀后改为“.reg”,塞到C盘能找到的位置,点击运行就可以找到了

再重启电脑以后再次输入gpedit.msc命令就可以打开组策略了

————————————
如果上述方法还不行,新建一个记事本,然后把下面的内容复制到记事本中

@echo offdir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txtdir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txtfor /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"

命名gpedit,把后缀名改为.bat(即gpedit.bat),塞到C盘能找到的位置,右键以管理员身份运行,出现如下图的对话框

等待进度条100%后不用重启电脑,直接按WIN+R,打开运行窗口,输入“gpedit.msc”即可(不行再重启)
——————————————
折腾了这么久,别忘了我们是要关defencer服务的:
注意:在进行更改之前,必须去禁用 Windows 安全中心的篡改保护。

否则,Windows 安全中心可能会再次打开 Windows Defender 防病毒。


按WIN + R ,输入 gpedit.msc

找到计算机配置>管理模板>Windows 组件>Microsoft Defender 防病毒

双击关闭 Microsoft Defender 防病毒策略。
选择已启用,点确定
一般立即生效,少数时候需要重启
——————————
现在打开下载的Proxifier,使用setup程序安装,除了路径没啥要注意的
直到运行出来弹窗后
要你选择31天试用和购买激活码,选择购买激活码
进入填写页面,第一行公司名称随便,第二行要填写Crack文件夹内程序运行后的激活码(被涂掉部分),之后将这个程序点击右下角的exit退出(ui也太费眼睛

代理客户端Proxifier使用教程

点击配置稳文件——代理服务器

服务器地址以之前的代理工具地址为例子,比如calsh主页显示你的端口是7890,那么地址address便写127.0.0.1,端口port便是7890,这样默认全局代理情况下任何需要网络连接的应用或者浏览器都是通过我们代理ip访问的。
————————————————————
回到正题(终于~)
继续使用npm install,成功

使用 npm start 或者 npm run server 命令启动服务(这是PandoraAI 的必要前置条件)
要在命令行中进行聊天,则可使用 chatgpt-cli 或者 npm run cli 命令。前者是全局,包在系统目录,后者是本地,包在当前项目的 node_modules 文件夹下,一般我们选择本地。(二者都可以正常运行)

注意:默认 cli 模式下的聊天对象是 chatgpt,如果你想通过 cli 模式和 new bing 聊天,你需要在setting.js 中改变第 101 行

也就是把前面的//去掉。

五、部署PandoraAI前端

同样可以自行按照网址readme.md 内容进行部署】

1、安装依赖项(记得把命令行路径切到开源文件哦)
依照命令工具的不同,有三种方式进行安装,我用的第二种:
①yarn 命令 yarn install
②npm 命令 npm install
③pnpm 命令 pnpm install
2、在根目录下找到 .env.example 文件并更名为 .env 文件,这时回到 node-chatgpt-api 的
setting.js 文件,找到第67 行最右边的那个数字(默认应该是3000),将其修改为其他数字,比如4000, 然后打开.env 文件,将里面的数字改成你刚刚修改的那个数字,这里是 4000。就可以啦。
(不改也行,但是3000容易被占用,那你没法把它加入收藏夹,使用会变端口)
3、启动服务
命令行输入 npm run dev
然后页面会出现 Local: http://…
复制这个网址进入浏览器即可,你就可以使用PandoraAI 咯

点击聊天框旁边的图标可以切换聊天对象,并可以进行相关设置(如正常模式还是越狱模式, 当然越狱模式有封号风险)

六、写在最后

首先要特别特别特别感谢两位大佬(找不到他们csdn主页了):
@大道至简 @Shinohara Haruna酱
他们不仅是我生活中的伙伴,还是我学习道路上的导师,非常感激他们对我不止这一次的无偿指导。
没有他们我一个人可能要花费数倍甚至十倍的时间去处理这些简单但对我来说并不简单的问题QAQ

本人是个编程菜鸟,如果有关于这篇博客或者其他相关技术的问题,请随时留言给我一起交流。

如果你一直看到这里,请给我点个免费的赞吧,这对我一定很重要 (≧∇≦)ノ

本文链接:https://my.lmcjl.com/post/5198.html

展开阅读全文

4 评论

留下您的评论.