• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
Spark.QQAIChatEx - 更好的群AI聊天 | 多模态支持 | 分段发送 | 工具调用 | 知识库调用 | OpenAI格式格式

LSE Spark.QQAIChatEx - 更好的群AI聊天 | 多模态支持 | 分段发送 | 工具调用 | 知识库调用 | OpenAI格式格式 0.0.3

完成注册/登录后下载
版权类型
原创
版权链接
https://github.com/Ice-rink/Spark-Plugins-Hub
前置组件
[必装]SparkBridge3 - https://www.minebbs.com/resources/sparkbridge-bot-qq.15586
适配版本(基岩)
  1. 最新版本
  2. 全版本
[MD] # QQAIChatEx 插件介绍 QQAIChatEx 是一个基于 Spark 框架的 QQ 机器人插件,为 QQ 群聊和私聊接入大语言模型 AI 对话能力。 它支持自然语言聊天、知识库检索、历史记录查询、多模式触发响应以及对话记忆管理,适合用于群聊智能助手、客服机器人、规则查询等场景。 --- ## 功能介绍 ### 1. AI 智能对话 - 调用大语言模型 API 进行自然语言生成回复 - 支持自定义系统提示词,可设定 AI 的角色、语气、行为规范 - 可调整模型温度(创造性)、最大 Token 数等参数 - 支持自定义知识库、工具 ### 2. 工具调用扩展 插件内置了两个核心工具,AI 可根据用户问题自动判断并调用: | 工具名称 | 功能说明 | |---------|----------| | `query_knowledge_data` | 根据关键词搜索知识库内容,支持 `all` 获取全部、空格分隔多关键词,按匹配度排序 | | `query_chat_data` | 获取当前对话的历史消息记录,支持自定义获取数量和排序方向(从旧到新/从新到旧) | ### 3. 多模式触发响应 - **关键词触发**:消息包含指定关键词时响应(如“兮兮”、“服务器”) - **@触发**:仅在被人 @ 时响应 - **全量接收**:接收群内所有消息并响应(可单独开启) - 群聊和私聊可分别配置,互不影响 ### 4. 对话记忆管理 - 自动保存每个对话的完整消息历史 - 记忆长度可配置,超出长度后自动裁剪 - 支持记忆备份功能:裁剪的记忆可存入回收站目录,防止丢失 - 记忆持久化存储到本地 JSON 文件,重启不丢失 ### 5. 消息格式化 - 输入时自动添加发送者昵称、QQ号和发送时间,让 AI 了解对话角色 - 支持图片、语音、视频等多模态输入(可单独开关) - 连续文本片段自动合并,减少 API 调用冗余 - @消息自动转换为被@用户的昵称,便于 AI 理解对话对象 ### 6. 分段回复 - 支持按标点符号(句号、分号、换行等)分割长回复 - 分段发送,每条消息之间可设置延迟,模拟真人聊天节奏,避免刷屏感 --- ## 图片展示 [/MD]

Image_1781356004003_382.webp

(分段发送 知识库调用 和 历史聊天记录获取)

Screenshot_20260613_211716_bin.mt.plus.webp

(配置文件)
[MD] --- ## 配置项目介绍 配置文件位于 `Config/config.js`,主要包含以下配置块: ### 1. AI 配置 (`ai`) | 配置项 | 类型 | 说明 | |--------|------|------| | `key` | string | API 请求密钥 | | `url` | string | API 端点地址 | | `name` | string | 模型名称 | | `maxTokens` | number | 最大输出 Token 数,默认 5000 | | `temperature` | number | 模型温度(创造性),值越高回复越随机 | | `system` | string | 系统提示词,定义 AI 的角色、说话方式、行为约束 | | `tools` | object | 工具定义引用 | | `knowledge` | object | 知识库引用 | ### 2. 响应设置 (`call`) | 配置项 | 说明 | |--------|------| | `group.enable` | 群聊总开关 | | `group.keywords` | 触发关键词数组 | | `group.at` | 是否仅在被 @ 时响应 | | `group.all` | 是否接收群内所有消息 | | `group.data` | 允许响应的群号集合,支持 `"all"` 通配 | | `private.enable` | 私聊总开关 | | `private.data` | 允许响应的好友 QQ 号集合 | ### 3. 输入设置 (`input`) | 配置项 | 说明 | |--------|------| | `msgFormat` | 是否在消息前添加 `[时间][昵称(QQ号)] >>` 格式 | | `chatList` | 输入中携带的历史消息条数 | | `type.image` | 是否允许图片输入(多模态) | | `type.audio` | 是否允许语音输入 | | `type.video` | 是否允许视频输入 | ### 4. 回复设置 (`reply`) | 配置项 | 说明 | |--------|------| | `tokenInfo` | 是否在回复中显示 Token 消耗和预估费用 | | `linebreak.enable` | 是否启用分段回复 | | `linebreak.timeout` | 分段发送的间隔毫秒数 | | `linebreak.split` | 分割回复的正则表达式(如句号、换行) | ### 5. 记忆设置 (`memory`) | 配置项 | 说明 | |--------|------| | `length` | 每个对话保留的记忆条数 | | `bak` | 记忆清除时是否备份到回收站目录 | --- ## 文件架构介绍 ``` QQAIChatEx/ ├── index.js # 插件主入口,包含消息监听、API调用、记忆管理、消息格式化等核心逻辑 ├── spark.json # 插件元信息(名称、作者、版本、加载模式等) ├── Config/ # 配置目录 │ ├── config.js # 主配置文件(AI参数、响应规则、记忆设置等) │ ├── tools.js # 工具定义与实现(知识库查询、聊天记录获取) │ └── knowledge.js # 知识库数据文件(默认示例数据,可按需扩展) ├── memory/ # 对话记忆存储目录(自动生成) │ └── {chatId}.json # 各对话的历史消息记录文件 └── memory_bak/ # 记忆备份目录(自动生成,裁剪的记忆移入此处) ``` ### 各文件职责说明 | 文件 | 职责 | |------|------| | `index.js` | 插件启动入口,注册 Spark 事件监听(群聊/私聊),协调消息流转、API 调用、工具执行和回复发送 | | `spark.json` | 插件声明文件,定义加载方式、优先级、权限等框架级配置 | | `config.js` | 用户配置中心,调整 AI 行为、响应规则、输入输出格式等 | | `tools.js` | 导出工具定义(供 AI 识别)和工具实现(供插件执行),工具返回结果后自动递归调用 AI 继续对话 | | `knowledge.js` | 知识库数据源,支持关键词检索和相关性排序,可替换为数据库或远程 API | | `memory/` | 持久化存储每条对话的历史记录,确保插件重启后上下文不丢失 | | `memory_bak/` | 回收站,存放被裁剪溢出的旧记忆,便于回溯或恢复 | --- ## 快速开始 1. 将插件放入 Spark 框架的插件目录 2. 编辑 `Config/config.js`: - 填写正确的 AI API 地址和密钥 - 配置需要响应的群号/好友号 - 按需修改系统提示词和触发方式 3. 编辑 `Config/knowledge.js`,填入你的知识库内容(如服务器规则、常见问题等) 4. 重启 Spark 框架,插件自动加载生效 ## 依赖环境 - Spark 框架(支持 `spark.on` 事件监听和 `spark.QClient` 接口) - Node.js 环境 - 可访问的 AI API 服务(兼容 OpenAI API 格式) ## 注意事项 - 请遵守相关平台使用规范,合理配置响应频率和触发方式,避免被判定为机器人账号 - API 密钥请妥善保管,勿提交至公开代码仓库 - 多模态输入(图片/语音/视频)需要模型具备对应能力支持 - 知识库默认存储在内存中,大量数据时可考虑迁移至数据库 [/MD]
  • IMG_20260501_223558.webp
    IMG_20260501_223558.webp
    117.6 KB · 查看: 116
  • Image_1777646145869_416_edit_1359670019915011.webp
    Image_1777646145869_416_edit_1359670019915011.webp
    134.4 KB · 查看: 120
作者
冰凌ᯤ²ᴳ
下载
14
查看
307
首次发布
最后更新

评分

5.00 星 1 次评分

最新更新

  1. refactor & feat: 大重构,模块化代码并增加了一些功能

    [+] 增加工具和知识库调用 [#] 模块化代码 [#] 重构大部分代码 [#] 使配置文件更易阅读

最新评价

非常好插件,使我服务器旋转
后退
顶部 底部