{"id":15515810,"url":"https://github.com/a-kirami/nonebot-plugin-chatgpt","last_synced_at":"2025-04-04T16:10:52.221Z","repository":{"id":64244246,"uuid":"574354205","full_name":"A-kirami/nonebot-plugin-chatgpt","owner":"A-kirami","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-07T00:39:47.000Z","size":110,"stargazers_count":322,"open_issues_count":49,"forks_count":37,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T15:04:08.752Z","etag":null,"topics":["chatgpt","nonebot-plugin","nonebot2"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/A-kirami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-12-05T05:47:17.000Z","updated_at":"2025-01-31T09:58:31.000Z","dependencies_parsed_at":"2024-01-12T23:42:13.153Z","dependency_job_id":"86b4bf13-2137-4b54-8672-5d7e719040e2","html_url":"https://github.com/A-kirami/nonebot-plugin-chatgpt","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":"A-kirami/nonebot-plugin-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-kirami%2Fnonebot-plugin-chatgpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-kirami%2Fnonebot-plugin-chatgpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-kirami%2Fnonebot-plugin-chatgpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-kirami%2Fnonebot-plugin-chatgpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/A-kirami","download_url":"https://codeload.github.com/A-kirami/nonebot-plugin-chatgpt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246049630,"owners_count":20715511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","nonebot-plugin","nonebot2"],"created_at":"2024-10-02T10:04:26.339Z","updated_at":"2025-03-28T15:04:10.654Z","avatar_url":"https://github.com/A-kirami.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://v2.nonebot.dev/store\"\u003e\u003cimg src=\"https://github.com/A-kirami/nonebot-plugin-template/blob/resources/nbp_logo.png\" width=\"180\" height=\"180\" alt=\"NoneBotPluginLogo\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003cp\u003e\u003cimg src=\"https://github.com/A-kirami/nonebot-plugin-template/blob/resources/NoneBotPlugin.svg\" width=\"240\" alt=\"NoneBotPluginText\"\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# nonebot-plugin-chatgpt\n\n_✨ ChatGPT AI 对话 ✨_\n\n\n\u003ca href=\"./LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/A-kirami/nonebot-plugin-chatgpt.svg\" alt=\"license\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.python.org/pypi/nonebot-plugin-chatgpt\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/nonebot-plugin-chatgpt.svg\" alt=\"pypi\"\u003e\n\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/badge/python-3.8+-blue.svg\" alt=\"python\"\u003e\n\n\u003c/div\u003e\n\n## 📖 介绍\n\n智能对话聊天插件。\n\n## 💿 安装\n\n\u003cdetails\u003e\n\u003csummary\u003e使用 nb-cli 安装\u003c/summary\u003e\n在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装\n\n    nb plugin install nonebot-plugin-chatgpt\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e使用包管理器安装\u003c/summary\u003e\n在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令\n\n\u003cdetails\u003e\n\u003csummary\u003epip\u003c/summary\u003e\n\n    pip install nonebot-plugin-chatgpt\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003epdm\u003c/summary\u003e\n\n    pdm add nonebot-plugin-chatgpt\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003epoetry\u003c/summary\u003e\n\n    poetry add nonebot-plugin-chatgpt\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003econda\u003c/summary\u003e\n\n    conda install nonebot-plugin-chatgpt\n\u003c/details\u003e\n\n打开 nonebot2 项目的 `bot.py` 文件, 在其中写入\n\n    nonebot.load_plugin('nonebot_plugin_chatgpt')\n\n\u003c/details\u003e\n\n\n## ⚙️ 配置\n\n在 nonebot2 项目的 `.env` 文件中添加下表中的必填配置（在 **ARM** 平台，可能必须使用 `CHATGPT_SESSION_TOKEN` 登录）\n\n\u003e ⚠️ **Windows** 系统下需要在 `.env.dev` 文件中设置 `FASTAPI_RELOAD=false`\n\n| 配置项 | 必填 | 默认值 | 说明 |\n|:-----:|:----:|:----:|:----:|\n| CHATGPT_SESSION_TOKEN | 否 | 空字符串 | ChatGPT 的 session_token，如配置则优先使用 |\n| CHATGPT_ACCOUNT | 否 | 空字符串 | ChatGPT 登陆邮箱，未配置则使用 session_token |\n| CHATGPT_PASSWORD | 否 | 空字符串 | ChatGPT 登陆密码，未配置则使用 session_token |\n| CHATGPT_CD_TIME | 否 | 60 | 冷却时间，单位：秒|\n| CHATGPT_PROXIES | 否 | None | 代理地址，格式为： `http://ip:port` |\n| CHATGPT_REFRESH_INTERVAL | 否 | 30 | session_token 自动刷新间隔，单位：分钟 |\n| CHATGPT_COMMAND | 否 | 空字符串 | 触发聊天的命令，可以是 `字符串` 或者 `字符串列表`。\u003cbr\u003e如果为空字符串或者空列表，则默认响应全部消息  |\n| CHATGPT_TO_ME | 否 | True | 是否需要@机器人 |\n| CHATGPT_TIMEOUT | 否 | 30 | 请求服务器的超时时间，单位：秒 |\n| CHATGPT_API | 否 | https://chat.openai.com/ | API 地址，可配置反代 |\n| CHATGPT_IMAGE | 否 | False | 是否以图片形式发送。\u003cbr\u003e如果无法显示文字，请[点击此处](https://github.com/kexue-z/nonebot-plugin-htmlrender#%E5%B8%B8%E8%A7%81%E7%96%91%E9%9A%BE%E6%9D%82%E7%97%87)查看解决办法 |\n| CHATGPT_IMAGE_WIDTH | 否 | 500 | 消息图片宽度，单位：像素 |\n| CHATGPT_PRIORITY | 否 | 999 | 事件响应器优先级 |\n| CHATGPT_BLOCK | 否 | True | 是否阻断消息传播 |\n| CHATGPT_PRIVATE | 否 | True | 是否允许私聊使用 |\n| CHATGPT_SCOPE | 否 | private | 设置公共会话或私有会话\u003cbr\u003eprivate：私有会话，群内成员会话各自独立\u003cbr\u003epublic：公共对话，群内成员共用同一会话 |\n| CHATGPT_DATA | 否 | 插件目录下 | 插件数据保存目录的路径 |\n| CHATGPT_MAX_ROLLBACK | 否 | 5 | 设置最多支持回滚多少会话 |\n| CHATGPT_DETAILED_ERROR | 否 | False | 是否允许输出详细错误信息 |\n\n### 获取 session_token\n\n1. 登录 https://chat.openai.com/chat，并点掉所有弹窗\n2. 按 `F12` 打开控制台\n3. 切换到 `Application/应用` 选项卡，找到 `Cookies`\n4. 复制 `__Secure-next-auth.session-token` 的值，配置到 `CHATGPT_SESSION_TOKEN` 即可\n\n![image](https://user-images.githubusercontent.com/36258159/205494773-32ef651a-994d-435a-9f76-a26699935dac.png)\n\n## 🎉 使用\n\n默认配置下，@机器人加任意文本即可。\n\n如果需要修改插件的触发方式，自定义 `CHATGPT_COMMAND` 和 `CHATGPT_TO_ME` 配置项即可。\n\n| 指令 | 需要@ | 范围 | 说明 |\n|:-----:|:----:|:----:|:----:|\n| 刷新会话/刷新对话 | 是 | 群聊/私聊 | 重置会话记录，开始新的对话 |\n| 导出会话/导出对话 | 是 | 群聊/私聊 | 导出当前会话记录 |\n| 导入会话/导入对话 + 会话ID + 父消息ID(可选) | 是 | 群聊/私聊 | 将会话记录导入，这会替换当前的会话 |\n| 保存会话/保存对话 + 会话名称 | 是 | 群聊/私聊 | 将当前会话保存 |\n| 查看会话/查看对话 | 是 | 群聊/私聊 | 查看已保存的所有会话 |\n| 切换会话/切换对话 + 会话名称 | 是 | 群聊/私聊 | 切换到指定的会话 |\n| 回滚会话/回滚对话 | 是 | 群聊/私聊 | 返回到之前的会话，输入数字可以返回多个会话，但不可以超过最大支持数量 |\n\n\n## 🤝 贡献\n\n### 🎉 鸣谢\n\n感谢以下开发者对该项目做出的贡献：\n\n\u003ca href=\"https://github.com/A-kirami/nonebot-plugin-chatgpt/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=A-kirami/nonebot-plugin-chatgpt\" /\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-kirami%2Fnonebot-plugin-chatgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-kirami%2Fnonebot-plugin-chatgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-kirami%2Fnonebot-plugin-chatgpt/lists"}