✨ 特性一览
本插件定位为轻量完整的聊天智能体,面向日常聊天场景; 如需体验完整的 Agent 编排能力(复杂工具链、任务编排等),请迁移至 AmritaBot。
🚀 核心功能
- ✅ 开箱即用的多种模型协议支持(OpenAI / DeepSeek / Gemini 等)
- ✅ 可独立运行的聊天机器人
- ✅ 支持群聊与私聊双模式
- ✅ AT 触发与智能上下文管理
- ✅ 戳一戳消息交互支持
- ✅ 多模型热切换
- ✅ 多角色(预设)热切换
- ✅ 会话生命周期管理(超时自动清理 / 手动续聊)
- ✅ Function Calling 支持
- ✅ 内置聊天不良内容检测(可配置熔断)
- ✅ 基于 Cookie 检测的提示词防泄露
- ✅ 可选 MCP 支持
🧩 扩展体系
- 🔌 模块化模型预设架构(
config/models/) - 🧠 自定义提示词模板体系(
config/prompts/) - 📦 基于 nonebot-plugin-orm 的持久化存储
- 🧰 插件 API 全开放,易于开发拓展
🛠️ 高级功能
- 🤖 自动回复模式(概率性随机触发)
- ♻️ 消息撤回缓解机制
- 🚨 异常日志自动推送管理群
- ⏱️ 会话生命周期控制
- 📊 每日用量统计与频率限制(群 / 用户 / 全局)
- 🦺 提示词防泄露
📦 安装
提供两种安装方式:
-
方法一(推荐):
nb plugin install nonebot-plugin-suggarchat
-
方法二(手动安装):
pip install nonebot_plugin_suggarchat[openai]
若使用方法二,还需在
pyproject.toml中手动添加插件名:plugins = ["nonebot_plugin_suggarchat"]
🚀 快速部署
完整配置说明请查阅 📘 使用文档。
环境要求
- Python 3.10+
- NoneBot2 ≥ 2.4.0
- 一个 OneBot V11 协议端(如 NapCat / Lagrange / go-cqhttp 等)
安装
nb plugin install nonebot-plugin-suggarchat
或在 pyproject.toml 中手动添加并安装依赖:
[tool.nonebot]
plugins = ["nonebot_plugin_suggarchat"]
adapters = [
{ name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" },
]
pip install nonebot_plugin_suggarchat
首次启动
nb run
首次启动会自动创建插件数据目录,目录位置由 nonebot-plugin-localstore 管理。 以 Linux 为例,默认位于:
~/.local/share/nonebot2/nonebot_plugin_suggarchat/
├── config.toml # 插件主配置
├── models/ # 模型预设(*.json)
├── group_prompts/ # 群聊提示词模板(*.txt)
└── private_prompts/ # 私聊提示词模板(*.txt)
配置模型
-
在
models/目录下新建my_model.json(可参考仓库内config/models/deepseek-v3.json):{ "model": "deepseek-chat", "name": "DS-V3", "base_url": "https://api.deepseek.com", "api_key": "sk-你的密钥", "config": { "top_k": 50, "top_p": 0.8, "temperature": 0.6, "stream": false, "multimodal": false } }
-
编辑
config.toml,启用聊天并指定默认模型:enable = true preset = "my_model" [core.llm] max_tokens = 1000 llm_timeout = 60
-
保存后配置会自动热重载(无需重启);也可以使用
/presets、/set_preset在线切换模型。
提示:
enable = false时机器人不响应任何聊天消息;如需完整 Agent 编排能力,请迁移至 AmritaBot。
🧭 快速参考
常用命令
直接发送消息即可与机器人聊天;发送 /menu 或 /菜单 可随时查看功能菜单。
/menu — 查看聊天功能菜单
/prompt — 自定义提示词
/choose_prompt — 切换提示词模板
/presets — 查看模型列表
/set_preset <名> — 切换模型
/sessions — 会话管理
/del_memory — 清除记忆
/show-abstract — 查看摘要
/insights — 今日用量
/chatobj — 会话状态
/mcp — MCP 管理
/debug on|off|status — 调试开关
/chat on|off — 启用/禁用聊天
/chat auto on|off — 自动回复开关
/chat status — 查看聊天状态
权限说明
| 等级 | 说明 | 命令示例 |
|---|---|---|
| 超级用户 | 全局 SUPERUSERS |
/presets /set_preset /choose_prompt /sessions /debug /mcp |
| 群管理 | 群主 / 管理员 / 超级用户 | /prompt /chatobj /chat |
| 普通用户 | 所有人 | /menu /del_memory /show-abstract /insights |
核心配置速览
| 配置项 | 说明 | 默认值 |
|---|---|---|
enable |
是否启用聊天能力 | false |
preset |
默认使用的模型预设名称 | "default" |
function.enable_group_chat |
是否启用群聊功能 | true |
function.enable_private_chat |
是否启用私聊功能 | true |
function.poke_reply |
是否响应戳一戳事件 | true |
session.session_control |
是否启用会话超时自动清理 | false |
autoreply.enable |
是否启用自动回复系统 | false |
core.llm.max_tokens |
单次回复最大 Token 数 | 1000 |
core.llm.llm_timeout |
LLM 请求超时(秒) | 60 |
core.llm.memory_length_limit |
记忆保留条数 | 50 |
usage_limit.enable_usage_limit |
是否启用使用频率限制 | false |
💬 社区支持
如需帮助或参与讨论,欢迎加入我们的官方 QQ 群:1006893368
Metadata
Release files for nonebot_plugin_suggarchat 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nonebot_plugin_suggarchat-4.0.0.tar.gz | 85.4 kB | Without provenance | Details for nonebot_plugin_suggarchat-4.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nonebot_plugin_suggarchat-4.0.0-py3-none-any.whl | Python 3 | none | any | Details for nonebot_plugin_suggarchat-4.0.0-py3-none-any.whl |
Total release size: 194.7 kB
Release files / nonebot_plugin_suggarchat-4.0.0.tar.gz
| Download URL | nonebot_plugin_suggarchat-4.0.0.tar.gz |
|---|---|
| Size | 85.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
061112ff6297d34a34c313fb3f5de0d5203d0ddd1087ca0a0dedacecdf949e5a
|
|
BLAKE2b-256 checksum How to use checksums |
87a4e81ac4f8f0c7d313ab4f1ada2dc0d4bb26507fcb2073bedb35ac5adf390e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / nonebot_plugin_suggarchat-4.0.0-py3-none-any.whl
| Download URL | nonebot_plugin_suggarchat-4.0.0-py3-none-any.whl |
|---|---|
| Size | 109.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a8a2f4db95aec423c97e4c7f57446611cbc98e9745da866cf769c5aca19b4f1a
|
|
BLAKE2b-256 checksum How to use checksums |
5f8dde6fec643b3dc764347b46277c06bafd546c7b5ebcc7d19f258c9421bb32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for nonebot_plugin_suggarchat 4.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.