• Stars
    star
    321
  • Rank 130,752 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-chatgpt

ChatGPT AI 对话

license pypi python

📖 介绍

智能对话聊天插件。

💿 安装

使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-chatgpt
使用包管理器安装 在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
pip
pip install nonebot-plugin-chatgpt
pdm
pdm add nonebot-plugin-chatgpt
poetry
poetry add nonebot-plugin-chatgpt
conda
conda install nonebot-plugin-chatgpt

打开 nonebot2 项目的 bot.py 文件, 在其中写入

nonebot.load_plugin('nonebot_plugin_chatgpt')

⚙️ 配置

在 nonebot2 项目的 .env 文件中添加下表中的必填配置(在 ARM 平台,可能必须使用 CHATGPT_SESSION_TOKEN 登录)

⚠️ Windows 系统下需要在 .env.dev 文件中设置 FASTAPI_RELOAD=false

配置项 必填 默认值 说明
CHATGPT_SESSION_TOKEN 空字符串 ChatGPT 的 session_token,如配置则优先使用
CHATGPT_ACCOUNT 空字符串 ChatGPT 登陆邮箱,未配置则使用 session_token
CHATGPT_PASSWORD 空字符串 ChatGPT 登陆密码,未配置则使用 session_token
CHATGPT_CD_TIME 60 冷却时间,单位:秒
CHATGPT_PROXIES None 代理地址,格式为: http://ip:port
CHATGPT_REFRESH_INTERVAL 30 session_token 自动刷新间隔,单位:分钟
CHATGPT_COMMAND 空字符串 触发聊天的命令,可以是 字符串 或者 字符串列表
如果为空字符串或者空列表,则默认响应全部消息
CHATGPT_TO_ME True 是否需要@机器人
CHATGPT_TIMEOUT 30 请求服务器的超时时间,单位:秒
CHATGPT_API https://chat.openai.com/ API 地址,可配置反代
CHATGPT_IMAGE False 是否以图片形式发送。
如果无法显示文字,请点击此处查看解决办法
CHATGPT_IMAGE_WIDTH 500 消息图片宽度,单位:像素
CHATGPT_PRIORITY 999 事件响应器优先级
CHATGPT_BLOCK True 是否阻断消息传播
CHATGPT_PRIVATE True 是否允许私聊使用
CHATGPT_SCOPE private 设置公共会话或私有会话
private:私有会话,群内成员会话各自独立
public:公共对话,群内成员共用同一会话
CHATGPT_DATA 插件目录下 插件数据保存目录的路径
CHATGPT_MAX_ROLLBACK 5 设置最多支持回滚多少会话
CHATGPT_DETAILED_ERROR False 是否允许输出详细错误信息

获取 session_token

  1. 登录 https://chat.openai.com/chat,并点掉所有弹窗
  2. F12 打开控制台
  3. 切换到 Application/应用 选项卡,找到 Cookies
  4. 复制 __Secure-next-auth.session-token 的值,配置到 CHATGPT_SESSION_TOKEN 即可

image

🎉 使用

默认配置下,@机器人加任意文本即可。

如果需要修改插件的触发方式,自定义 CHATGPT_COMMANDCHATGPT_TO_ME 配置项即可。

指令 需要@ 范围 说明
刷新会话/刷新对话 群聊/私聊 重置会话记录,开始新的对话
导出会话/导出对话 群聊/私聊 导出当前会话记录
导入会话/导入对话 + 会话ID + 父消息ID(可选) 群聊/私聊 将会话记录导入,这会替换当前的会话
保存会话/保存对话 + 会话名称 群聊/私聊 将当前会话保存
查看会话/查看对话 群聊/私聊 查看已保存的所有会话
切换会话/切换对话 + 会话名称 群聊/私聊 切换到指定的会话
回滚会话/回滚对话 群聊/私聊 返回到之前的会话,输入数字可以返回多个会话,但不可以超过最大支持数量

🤝 贡献

🎉 鸣谢

感谢以下开发者对该项目做出的贡献:

More Repositories

1

matcha

💬 Matcha is mock chat. 模拟聊天交互的辅助开发工具
Vue
175
star
2

YoCool

Yobot后台页面美化
HTML
86
star
3

nonebot-plugin-aidraw

nonebot2 AI 绘图
Python
77
star
4

nonebot-plugin-template

nonebot2 插件模板库
71
star
5

KiramiBot

🌟 读作 Kirami,写作星见,简明轻快的聊天机器人应用。
Python
40
star
6

whattoeat

今天吃点啥
Python
23
star
7

nonebot-plugin-namelist

NoneBot 黑白名单
Python
15
star
8

nonebot-plugin-moyu

nonebot2 摸鱼日历
Python
14
star
9

nonebot-plugin-savor

Python
14
star
10

nonebot-plugin-answersbook

愿一切无解都有解!解除你的迷惑,终结你的纠结!
Python
14
star
11

nonebot-plugin-alipayvoice

nonebot2的支付宝到账语音插件
Python
12
star
12

nonebot-plugin-hitokoto

一言
Python
10
star
13

mango

🥭 带有类型提示的 Python 异步 MongoDB 对象文档映射器 / Async MongoDB ODM with type hints in Python
Python
10
star
14

ClanBattleReport

Yobot公会战报告书
Python
8
star
15

ClanBattleReport-Origin

Yobot公会战报告书(旧版)
Python
8
star
16

YoCool-Console

YoCool的插件化控制台
Python
7
star
17

nonebot-plugin-logpile

Python
7
star
18

nonebot-plugin-bilicover

nonebot2的提取B站视频封面插件
Python
7
star
19

answersbook

hoshino V2 插件
Python
6
star
20

nonebot-plugin-exchangerate

Python
5
star
21

nonebot-plugin-cartoon

Python
5
star
22

nonebot-plugin-super-resolution

Python
4
star
23

nonebot-plugin-broadcast

Python
4
star
24

kirami-plugins-index

KiramiBot 插件索引
4
star
25

flowery

💐 专注绘图的 Python 图像处理库 / Python image processing library focusing on drawing
Python
4
star
26

GroupWordCloudGenerator

Python
4
star
27

nonebot-desktop

NoneBot 图形化的桌面端管理应用
3
star
28

nonebot-plugin-helloworld

Python
3
star
29

nonebot-plugin-eventexpiry

Python
3
star
30

KiramiDocs

KiramiBot 文档站点
CSS
3
star
31

nonebot-plugin-theworld

Python
2
star
32

A-kirami

1
star
33

OneMock

模拟 OneBot 实现的本地开发调试工具
1
star
34

KiramiCLI

KiramiBot 脚手架 / CLI for KiramiBot
Python
1
star