英语| |
基于Node.js的电报的ChatGpt机器人支持基于浏览器和基于浏览器的API。
? V2已发布!
- 支持@Vadko的每块对话。
- 支持设置消息队列作为@Vadko的可选。
- 添加超时机制,以防止消息队列卡住。您可以覆盖配置文件中的默认超时。
- 您现在可以从Docker Hub中取出预制的Docker图像!
- 支持官方的OpenAI聊天完成API。
- 通过使用自定义获取功能来支持代理。
我们强烈建议您使用official API。有传言说,如果您继续使用unofficial和browser API,OpenAI可能会禁止您的帐户。
- 支持消息队列以避免速率限制。
- 改善降级解析。
- 支持自定义提示前缀和后缀(允许您自定义机器人的身份和行为)。
- 支持Node.js V19。
我们添加了 @acheong08对非官方代理API的支持。该API使用代理服务器,该服务器允许用户绕过CloudFlare保护并使用真实的Chatgpt。请参阅用法以获取更多详细信息。
对于以前的用户,我们已更新了API选项。
api.version现在是api.type,具有选项browser(以前的v3),official(以前的v4)和unofficial。请相应地更新您的配置文件。
根据反向代理服务器的一位维护者的说法,OpenAI修补了此方法。因此,您必须将无浏览器官方API与官方型号(花费金钱)或基于浏览器的解决方案一起使用。
我们已发布该机器人的v2.0.0,该机器人支持浏览器和基于浏览器的API。您可以使用配置文件随时在两个API之间切换。此外,我们还重构了代码库,以使其更可维护和易于扩展。
对于旧用户,您需要在
config/文件夹下的.env文件中切换。
| 私人聊天 | 小组聊天 |
|---|---|
![]() | ![]() |
api.official.systemMessage )感谢 @Transitive-Bullshit使这张易于理解的桌子!
| 类型 | 自由的? | 强壮的? | 质量? |
|---|---|---|---|
official | 不 | ✅是的 | ✅真正的chatgpt模型 |
unofficial | ✅是的 | ☑️也许 | ✅真正的chatgpt |
browser | ✅是的 | 不 | ✅真正的chatgpt |
official :默认使用gpt-3.5-turbo模型使用官方的OpenAi Chat Conterions API(官方,强大的方法,但不是免费的)unofficial :使用非官方的代理服务器以绕过Cloudflare的方式访问ChatGpt的后端API(使用真实的Chatgpt且非常轻巧,但依赖于第三方服务器,并且是速率可限制的)browser (不推荐):使用Puppeteer访问官方Chatgpt WebApp(使用真实的Chatgpt,但非常片状,重量级和错误)警告
有传言说,如果您继续使用
unofficial和browserAPI,OpenAI可能会禁止您的帐户。使用它自己的风险。
要开始,请按照以下步骤:
config/文件夹下创建local.json 。您可以将config/default.json复制为模板。local.json 。 local.json中的设置将覆盖default.json中的默认设置。api.type设置为official 。然后提供您的OpenAI API密钥和其他设置。您可以参考此信息以获取更多详细信息。请注意,这将花费您的信用。api.type设置为unofficial 。然后提供您的OpenAI访问令牌(如何获取访问令牌?)和其他设置。您可以参考此信息以获取更多详细信息。api.type设置为browser 。然后提供OpenAI / Google / Microsoft凭据和其他设置。您可以参考此信息,以获取更多详细信息。确保安装了基于铬的浏览器。然后,您可以使用以下方式启动机器人:
pnpm install
pnpm build && pnpm start要开始,请按照以下步骤:
创建一个名为config的文件夹,并在其中创建一个local.json文件。您可以按照“选择#1:节点”部分中的说明进行自定义设置。
运行以下命令启动机器人:
docker run -d -v ./config:/app/config raineggplant/chatgpt-telegram-bot:latest这将吸引仅支持无浏览器API的最新图像。如果要使用基于浏览器的API,则可以在标签中添加一个-browser后缀,例如, raineggplant/chatgpt-telegram-bot:latest-browser 。
要与电报中的机器人聊天,您可以:
/chat或您在JSON配置文件中指定的命令)请注意,请确保您在将机器人的隐私模式添加到组之前,否则将回复组中的每个消息。
该机器人还具有多个命令。
/help :显示帮助信息。/reset :重置当前聊天线程并启动一个新的聊天线程。/reload (需要管理,仅基于浏览器的API):刷新ChatGpt会话。请注意,在组中使用命令时,请确保在命令之后包含提及,例如
/help@chatgpt_bot。
您可以使用XVFB在无头服务器上创建虚拟FrameBuffer并运行此程序:
xvfb-run -a --server-args= " -screen 0 1280x800x24 -nolisten tcp -dpi 96 +extension RANDR " pnpm start我们建议您使用Google Auth避免复杂的登录recaptchas。如果使用OpenAI帐户,则可能必须使用Nopecha或2captcha或手动求解Recaptcha(使用X11VNC连接到显示服务器)。有关验证码求解的更多详细信息,请参阅API存储库。
麻省理工学院许可证。
如果您觉得这个项目有用,请留下一颗星星。