<div align="center">
<a href="https://github.com/JohnRichard4096/nonebot_plugin_suggarchat/">
<img src="https://github.com/user-attachments/assets/b5162036-5b17-4cf4-b0cb-8ec842a71bc6" width="200" alt="SuggarChat Logo">
</a>
<h1>SuggarChat</h1>
<h3>高扩展性的大模型聊天框架</h3>
<p>
<a href="https://pypi.org/project/nonebot-plugin-suggarchat/">
<img src="https://img.shields.io/pypi/v/nonebot-plugin-suggarchat?color=blue&style=flat-square" alt="PyPI Version">
</a>
<a href="https://www.python.org/">
<img src="https://img.shields.io/badge/python-3.9+-blue?logo=python&style=flat-square" alt="Python Version">
</a>
<a href="https://nonebot.dev/">
<img src="https://img.shields.io/badge/nonebot2-2.0.0rc4+-blue?style=flat-square" alt="NoneBot Version">
</a>
<a href="LICENSE">
<img src="https://img.shields.io/github/license/JohnRichard4096/nonebot_plugin_suggarchat?style=flat-square" alt="License">
</a>
<a href="https://qm.qq.com/q/PFcfb4296m">
<img src="https://img.shields.io/badge/QQ%E7%BE%A4-1002495699-blue?style=flat-square" alt="QQ Group">
</a>
</p>
</div>
## ✨ 特性一览
### 🚀 核心功能
- ✅ 开箱即用的多种协议支持(OpenAI / DeepSeek / Gemini 等)
- ✅ 可独立运行的聊天机器人
- ✅ 支持群聊与私聊双模式
- ✅ AT 触发与智能上下文管理
- ✅ 戳一戳消息交互支持
- ✅ 多模型热切换
- ✅ 多角色热切换
- ✅ 会话生命周期管理
- ✅ 聊天模型切换
- ✅ 多模态模型支持
- ✅ Function Calling支持
- ✅ 内置聊天不良内容检测
- ✅ 基于Cookie检测的提示词防泄露
### 🧩 扩展体系
- 🔌 模块化协议适配器架构
- 🧠 自定义消息解析引擎
- 📦 自定义依赖扩展式Matcher接口
- 🧰 插件 API 全开放,易于开发拓展
### 🛠️ 高级功能
- 🤖 自动回复模式(概率性自动回复)
- ♻️ 消息撤回缓解机制
- 🚨 异常日志自动推送管理群
- ⏱️ 会话生命周期控制
- 🔐 Token 智能管理策略
- 🦺 提示词防泄露
## 📦 安装
提供两种安装方式:
- 方法一(推荐):
```bash
nb plugin install nonebot-plugin-suggarchat
```
- 方法二(手动安装):
```bash
pip install nonebot_plugin_suggarchat
```
若使用方法二,还需在 `pyproject.toml` 中手动添加插件名:
```toml
plugins = ["nonebot_plugin_suggarchat"]
```
---
## 🧭 快速开始
请查阅我们的 [📘 使用文档](https://docs.suggar.top/project/suggarchat/) 来了解如何快速部署和配置。
## 💬 社区支持
如需帮助或参与讨论,欢迎加入我们的官方 QQ 群:[1002495699](https://qm.qq.com/q/PFcfb4296m)
Raw data
{
"_id": null,
"home_page": null,
"name": "nonebot_plugin_suggarchat",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "chat\", \"suggar\", \"nonebot",
"author": null,
"author_email": "LiteSuggarDEV <windowserror@163.com>",
"download_url": "https://files.pythonhosted.org/packages/4b/4a/48d5ead55151d9ab505a72da13b63d3a0547584f8278dca0afdd74732649/nonebot_plugin_suggarchat-3.1.2.post2.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <a href=\"https://github.com/JohnRichard4096/nonebot_plugin_suggarchat/\">\n <img src=\"https://github.com/user-attachments/assets/b5162036-5b17-4cf4-b0cb-8ec842a71bc6\" width=\"200\" alt=\"SuggarChat Logo\">\n </a>\n <h1>SuggarChat</h1>\n <h3>\u9ad8\u6269\u5c55\u6027\u7684\u5927\u6a21\u578b\u804a\u5929\u6846\u67b6</h3>\n\n <p>\n <a href=\"https://pypi.org/project/nonebot-plugin-suggarchat/\">\n <img src=\"https://img.shields.io/pypi/v/nonebot-plugin-suggarchat?color=blue&style=flat-square\" alt=\"PyPI Version\">\n </a>\n <a href=\"https://www.python.org/\">\n <img src=\"https://img.shields.io/badge/python-3.9+-blue?logo=python&style=flat-square\" alt=\"Python Version\">\n </a>\n <a href=\"https://nonebot.dev/\">\n <img src=\"https://img.shields.io/badge/nonebot2-2.0.0rc4+-blue?style=flat-square\" alt=\"NoneBot Version\">\n </a>\n <a href=\"LICENSE\">\n <img src=\"https://img.shields.io/github/license/JohnRichard4096/nonebot_plugin_suggarchat?style=flat-square\" alt=\"License\">\n </a>\n <a href=\"https://qm.qq.com/q/PFcfb4296m\">\n <img src=\"https://img.shields.io/badge/QQ%E7%BE%A4-1002495699-blue?style=flat-square\" alt=\"QQ Group\">\n </a>\n </p>\n</div>\n\n## \u2728 \u7279\u6027\u4e00\u89c8\n\n### \ud83d\ude80 \u6838\u5fc3\u529f\u80fd\n\n- \u2705 \u5f00\u7bb1\u5373\u7528\u7684\u591a\u79cd\u534f\u8bae\u652f\u6301\uff08OpenAI / DeepSeek / Gemini \u7b49\uff09\n- \u2705 \u53ef\u72ec\u7acb\u8fd0\u884c\u7684\u804a\u5929\u673a\u5668\u4eba\n- \u2705 \u652f\u6301\u7fa4\u804a\u4e0e\u79c1\u804a\u53cc\u6a21\u5f0f\n- \u2705 AT \u89e6\u53d1\u4e0e\u667a\u80fd\u4e0a\u4e0b\u6587\u7ba1\u7406\n- \u2705 \u6233\u4e00\u6233\u6d88\u606f\u4ea4\u4e92\u652f\u6301\n- \u2705 \u591a\u6a21\u578b\u70ed\u5207\u6362\n- \u2705 \u591a\u89d2\u8272\u70ed\u5207\u6362\n- \u2705 \u4f1a\u8bdd\u751f\u547d\u5468\u671f\u7ba1\u7406\n- \u2705 \u804a\u5929\u6a21\u578b\u5207\u6362\n- \u2705 \u591a\u6a21\u6001\u6a21\u578b\u652f\u6301\n- \u2705 Function Calling\u652f\u6301\n - \u2705 \u5185\u7f6e\u804a\u5929\u4e0d\u826f\u5185\u5bb9\u68c0\u6d4b\n - \u2705 \u57fa\u4e8eCookie\u68c0\u6d4b\u7684\u63d0\u793a\u8bcd\u9632\u6cc4\u9732\n\n### \ud83e\udde9 \u6269\u5c55\u4f53\u7cfb\n\n- \ud83d\udd0c \u6a21\u5757\u5316\u534f\u8bae\u9002\u914d\u5668\u67b6\u6784\n- \ud83e\udde0 \u81ea\u5b9a\u4e49\u6d88\u606f\u89e3\u6790\u5f15\u64ce\n- \ud83d\udce6 \u81ea\u5b9a\u4e49\u4f9d\u8d56\u6269\u5c55\u5f0fMatcher\u63a5\u53e3\n- \ud83e\uddf0 \u63d2\u4ef6 API \u5168\u5f00\u653e\uff0c\u6613\u4e8e\u5f00\u53d1\u62d3\u5c55\n\n### \ud83d\udee0\ufe0f \u9ad8\u7ea7\u529f\u80fd\n\n- \ud83e\udd16 \u81ea\u52a8\u56de\u590d\u6a21\u5f0f\uff08\u6982\u7387\u6027\u81ea\u52a8\u56de\u590d\uff09\n- \u267b\ufe0f \u6d88\u606f\u64a4\u56de\u7f13\u89e3\u673a\u5236\n- \ud83d\udea8 \u5f02\u5e38\u65e5\u5fd7\u81ea\u52a8\u63a8\u9001\u7ba1\u7406\u7fa4\n- \u23f1\ufe0f \u4f1a\u8bdd\u751f\u547d\u5468\u671f\u63a7\u5236\n- \ud83d\udd10 Token \u667a\u80fd\u7ba1\u7406\u7b56\u7565\n- \ud83e\uddba \u63d0\u793a\u8bcd\u9632\u6cc4\u9732\n\n## \ud83d\udce6 \u5b89\u88c5\n\n\u63d0\u4f9b\u4e24\u79cd\u5b89\u88c5\u65b9\u5f0f\uff1a\n\n- \u65b9\u6cd5\u4e00\uff08\u63a8\u8350\uff09\uff1a\n\n ```bash\n nb plugin install nonebot-plugin-suggarchat\n ```\n\n- \u65b9\u6cd5\u4e8c\uff08\u624b\u52a8\u5b89\u88c5\uff09\uff1a\n\n ```bash\n pip install nonebot_plugin_suggarchat\n ```\n\n \u82e5\u4f7f\u7528\u65b9\u6cd5\u4e8c\uff0c\u8fd8\u9700\u5728 `pyproject.toml` \u4e2d\u624b\u52a8\u6dfb\u52a0\u63d2\u4ef6\u540d\uff1a\n\n ```toml\n plugins = [\"nonebot_plugin_suggarchat\"]\n ```\n\n---\n\n## \ud83e\udded \u5feb\u901f\u5f00\u59cb\n\n\u8bf7\u67e5\u9605\u6211\u4eec\u7684 [\ud83d\udcd8 \u4f7f\u7528\u6587\u6863](https://docs.suggar.top/project/suggarchat/) \u6765\u4e86\u89e3\u5982\u4f55\u5feb\u901f\u90e8\u7f72\u548c\u914d\u7f6e\u3002\n\n## \ud83d\udcac \u793e\u533a\u652f\u6301\n\n\u5982\u9700\u5e2e\u52a9\u6216\u53c2\u4e0e\u8ba8\u8bba\uff0c\u6b22\u8fce\u52a0\u5165\u6211\u4eec\u7684\u5b98\u65b9 QQ \u7fa4\uff1a[1002495699](https://qm.qq.com/q/PFcfb4296m)\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "SuggarChat chat framework",
"version": "3.1.2.post2",
"project_urls": {
"Homepage": "https://github.com/LiteSuggarDEV/nonebot_plugin_suggarchat",
"Issue Tracker": "https://github.com/LiteSuggarDEV/nonebot_plugin_suggarchat/issues",
"Source": "https://github.com/LiteSuggarDEV/nonebot_plugin_suggarchat"
},
"split_keywords": [
"chat\"",
" \"suggar\"",
" \"nonebot"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3e0104dff22586e7ea44dd63316915c9ccabf22ca9efa41b326a31417eab3845",
"md5": "09803ebcdbbf6745babdf74ba4bfa7a1",
"sha256": "15408fceb2cf4fed6fd0910ff96e1529773548ef837981b3e5f02ea4ffc76875"
},
"downloads": -1,
"filename": "nonebot_plugin_suggarchat-3.1.2.post2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "09803ebcdbbf6745babdf74ba4bfa7a1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 66951,
"upload_time": "2025-08-01T14:13:01",
"upload_time_iso_8601": "2025-08-01T14:13:01.395282Z",
"url": "https://files.pythonhosted.org/packages/3e/01/04dff22586e7ea44dd63316915c9ccabf22ca9efa41b326a31417eab3845/nonebot_plugin_suggarchat-3.1.2.post2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4b4a48d5ead55151d9ab505a72da13b63d3a0547584f8278dca0afdd74732649",
"md5": "a84d211240fc86917d9cdb5fe06a2932",
"sha256": "1163eb62f9a66faeecd43bd6a1ec165e76b0f127650642a7c2b1116824d2b905"
},
"downloads": -1,
"filename": "nonebot_plugin_suggarchat-3.1.2.post2.tar.gz",
"has_sig": false,
"md5_digest": "a84d211240fc86917d9cdb5fe06a2932",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 53960,
"upload_time": "2025-08-01T14:13:02",
"upload_time_iso_8601": "2025-08-01T14:13:02.400109Z",
"url": "https://files.pythonhosted.org/packages/4b/4a/48d5ead55151d9ab505a72da13b63d3a0547584f8278dca0afdd74732649/nonebot_plugin_suggarchat-3.1.2.post2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-01 14:13:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "LiteSuggarDEV",
"github_project": "nonebot_plugin_suggarchat",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nonebot_plugin_suggarchat"
}