# Changelog # 🎉 MoFox_Bot v0.12.0 正式版发布
**🚀 全新架构 | 💪 性能飞跃 | 🧠 智能升级** [![Version](https://img.shields.io/badge/version-0.12.0-blue.svg)](https://github.com/MoFox-Studio/MoFox_Bot/releases/tag/v0.12.0) [![Python](https://img.shields.io/badge/python-3.11+-blue?logo=python&logoColor=edb641)](https://www.python.org/) [![License](https://img.shields.io/badge/License-GPL--3.0-blue.svg)](LICENSE)
--- ## 📖 版本概述 **MoFox_Bot v0.12.0** 是一个里程碑式的重大更新版本,带来了全面的架构重构、性能优化和功能增强。本次更新历经数月开发,包含 **600+ 次提交**,涵盖 **377 项新功能** 和 **212 项问题修复**,为用户带来更稳定、更智能、更高效的使用体验。 > 🌟 **重要提示**: 这是 master 分支的首次正式更新,标志着 MoFox_Bot 进入稳定发布周期。 --- ## ✨ 核心亮点 ### 🧠 记忆图谱系统 - 革命性的记忆架构 - **全新记忆图谱引擎**: 基于图数据库的记忆系统,支持复杂关系网络和多维度记忆检索 - **智能记忆去重**: 自动识别和合并相似记忆节点,避免信息冗余 - **多角度记忆检索**: 支持语义相似度搜索、时间范围查询、关系图扩展等多种检索方式 - **自动记忆维护**: 定期整合、清理和优化记忆数据,保持系统高效运行 - **可视化记忆管理**: 内置记忆图谱可视化工具,直观展示知识网络结构 ### 📊 数据库系统重构 - 性能与稳定性双提升 - **六层数据库架构**: 全面采用 SQLAlchemy 2.0,实现清晰的分层设计 - Core Layer: 数据库引擎与连接池管理 - API Layer: 统一的 CRUD 接口和链式查询构建器 - Optimization Layer: 三级缓存系统(L1 内存缓存/L2 SQLite 缓存/L3 预加载) - Config Layer: 灵活的配置管理 - Utils Layer: 装饰器、性能监控等工具集 - Compatibility Layer: 向后兼容旧版 API - **智能批量调度**: `AdaptiveBatchScheduler` 自动优化批量操作,大幅提升写入性能 - **高级缓存策略**: 多级缓存、自定义 TTL、内存限制、智能预加载 - **并发优化**: 信号量控制、无锁设计、死锁检测机制 ### 🤖 AFC 对话系统增强 - 更自然的交互体验 - **动态回复策略**: 基于亲和力流的智能对话决策,实现更符合人际交往规律的互动 - **兴趣感知系统**: 多维度兴趣值计算,支持主题聚类、时间衰减、动态权重 - **回复冷却机制**: 智能调节回复频率,避免过度活跃或冷场 - **上下文理解增强**: 改进消息分块重组、参与者识别、聊天历史处理 - **情绪与关系联动**: 情绪系统与亲密度系统深度集成,影响回复风格和语气 ### 🔧 插件系统完善 - 更强大的扩展能力 - **组件化设计升级**: 支持 ACTION、COMMAND、PLUS_COMMAND、TOOL、EVENT_HANDLER、INTEREST_CALCULATOR、PROMPT 等多种组件类型 - **提示词注入系统**: 动态可观测的提示词管理中心,支持按目标和组件查询、预览和调试 - **增强命令系统**: PlusCommand 支持参数解析、权限检查、类型验证 - **Mood API**: 新增情绪管理插件接口,支持情绪状态查询和修改 - **统一系统管理**: 整合权限管理、插件管理、提示词管理等功能到统一命令接口 - **工具调用增强**: 工具历史记录、声明式缓存、执行日志记录 ### ⚡ 性能优化 - 全方位的效率提升 - **异步 I/O 优化**: 全面采用 `aiofiles` 实现异步文件读写 - **并发控制优化**: 移除全局锁,采用信号量和无锁设计 - **调度系统重构**: 统一调度器采用无锁设计,支持死锁检测和多阶段取消 - **嵌入生成加速**: 优化连接池配置,支持高并发 embedding 请求 - **批量处理增强**: 信息提取、数据导入、记忆操作等支持异步并发 ### 🛡️ 稳定性与安全性提升 - **回复过滤器增强**: 彻底重构回复过滤器,处理深度嵌套格式,杜绝格式模仿 - **消息处理优化**: 改进消息队列管理,防止重复回复和消息丢失 - **错误处理改进**: 增强异常捕获、日志记录、错误恢复机制 - **类型安全**: 现代化类型注解,提升代码质量和 IDE 支持 - **安全性修复**: 修复加密算法使用不当的安全漏洞 --- ## 🆕 重要新功能 ### 记忆与知识管理 - ✅ 记忆图谱系统完整实现(Phase 1-3) - ✅ 智能查询优化和多查询生成 - ✅ 记忆去重工具和自动整合 - ✅ 路径评分扩展算法 - ✅ 记忆可视化工具(服务器模式和简单模式) - ✅ 向量数据清理脚本 - ✅ 嵌入生成批量处理和索引重建 ### 对话与交互 - ✅ Reply/Respond 动作分离,优化消息回复机制 - ✅ 统一格式过滤器,增强回复内容清理 - ✅ 动作规划系统 JSON 格式重构 - ✅ 参与者信息和聊天历史增强处理 - ✅ 表情包回复配置支持 - ✅ 知识摘要开关配置 - ✅ 注意力优化器防止提示词退化 ### 数据与统计 - ✅ 统计报告图形化费用分析 - ✅ 按 provider 统计请求 - ✅ 统计数据处理健壮性增强 - ✅ 报告样式和数据加载优化 - ✅ Jinja2 模板重构报告生成器 ### 工具与服务 - ✅ MCP 协议支持(Model Context Protocol) - ✅ Serper 搜索引擎支持 - ✅ Exa 搜索引擎答案模式 - ✅ 流工具历史管理器 - ✅ 用户画像工具优化 - ✅ 日程系统改进 ### 开发体验 - ✅ 提示词系统内省与调试能力 - ✅ 系统命令增加 prompt 子命令 - ✅ 详尽的代码文档和注释 - ✅ 现代化导入语句和类型注解 - ✅ Ruff 代码格式化和质量检查 --- ## 🔧 重要修复 ### 核心系统 - 🐛 修复 EULA 检查循环中未重新加载 `.env` 文件的问题 - 🐛 修复 adapter_response 被 echo 检查拦截的严重 bug - 🐛 修复自我身份识别,支持将机器人用户标记为 "SELF" - 🐛 修复消息缓存系统和表达方式过期逻辑 - 🐛 修复调度创建/删除的竞态条件 ### 数据库与缓存 - 🐛 修复 numpy 数组导致的 ValueError 问题 - 🐛 修复布尔参数类型定义 - 🐛 修复缓存统计信息和内存使用的并行获取死锁 - 🐛 修复向量存储节点查询逻辑 - 🐛 增加缓存生存时间和内存限制配置 ### 对话与回复 - 🐛 修复戳一戳处理逻辑 - 🐛 修复 Focus 模式下的回复动作处理 - 🐛 修复回复后阈值调整逻辑 - 🐛 修复专注模式下艾特不回复的问题 - 🐛 修复表情包分析提示描述和格式 - 🐛 限制总分和兴趣匹配分数上限 ### 记忆系统 - 🐛 修复记忆可视化中重复的边 - 🐛 修复邻居节点数据检查逻辑 - 🐛 优化记忆整合逻辑,添加批量处理限制 - 🐛 修复复杂查询示例以提高检索准确率 ### 插件系统 - 🐛 修复 QQ 表情 '汪汪' 更正为 '滑稽狗头' - 🐛 修复插件混用 `plugin_name` 和 `display_name` 问题 - 🐛 修复表情包目录初始化 - 🐛 修复提示词循环依赖问题 --- ## 🔄 重大重构 ### 架构层面 - ♻️ 记忆系统完全切换到新记忆图谱架构,移除旧记忆系统 - ♻️ 数据库层完整重构,采用 SQLAlchemy 2.0 六层架构 - ♻️ 统一调度器采用无锁设计全面改造 - ♻️ JSON 处理库从 json 切换到 orjson 提升性能 ### 功能模块 - ♻️ 动作规划系统使用标准化 JSON 格式重构 - ♻️ 报告生成器使用 Jinja2 模板重构 - ♻️ 回复清理逻辑简化,采用正则表达式替代迭代算法 - ♻️ 表情分析重构为单次 VLM 调用 - ♻️ 视频分析重构,增加抽帧模式和间隔配置 ### 代码质量 - ♻️ 统一代码风格,采用现代化类型注解 - ♻️ 清理冗余代码,现代化导入语句 - ♻️ 移除多余的锁机制和内存缓存逻辑 - ♻️ 优化异步执行逻辑和错误处理 - ♻️ 控制台渲染器迁移至 Rich 库 --- ## 📚 文档更新 - 📖 添加记忆图谱系统完整使用文档 - 📖 添加数据库重构完成总结文档 - 📖 添加统一调度器使用指南 - 📖 添加路径扩展算法规范文档 - 📖 添加记忆去重使用指南 - 📖 更新插件开发文档和 API 参考 - 📖 更新配置文件模板和版本号 --- ## ⚙️ 配置变更 ### 新增配置项 - `[chat.affinity_flow]` - AFC 系统配置 - `[chat.interest_system]` - 兴趣值系统配置 - `[memory_graph]` - 记忆图谱系统配置 - `[database.cache]` - 数据库缓存配置 - `[database.optimization]` - 数据库优化配置 - `[chat.attention_optimizer]` - 注意力优化器配置 - `[chat.reply_filter]` - 回复过滤器配置 ### 配置模板版本更新 - `bot_config.toml` 版本: 7.6.0 - `model_config.toml` 更新视觉模型配置 ### 移除的配置项 - 移除 `changelog_config` - 移除废弃的数据库配置模块 - 移除关系追踪系统参数配置 --- ## 🔄 迁移指南 ### 从 0.11.x 升级到 0.12.0 #### 1. 依赖更新 ```bash # 使用 uv(推荐) uv pip install -r requirements.txt # 或使用 pip pip install -r requirements.txt ``` #### 2. 插件兼容性检查 - 检查自定义插件是否使用了新的 API - 更新插件以使用新的数据库 API(`CRUDBase` 或 `QueryBuilder`) - 测试插件功能是否正常 ### 破坏性变更 ⚠️ **注意**: 以下变更可能影响现有配置或插件 1. **记忆系统完全重构** - 旧的记忆系统已被移除 - 需要重新构建记忆数据 2. **数据库 API 变更** - 推荐使用新的 `CRUDBase` 和 `QueryBuilder` API - 旧 API 保留在兼容层,但建议迁移 3. **插件系统调整** - `BaseEventPlugin` 已合并到 `BasePlugin` - 所有插件应继承自 `BasePlugin` - 权限节点定义从命令类移至插件主类 4. **Notice 系统变更** - 移除硬编码的 Notice 类型判定 - 现在需要显式设置 `is_public_notice` --- ## 🚀 性能提升 ### 优化亮点 - ✨ 三级缓存系统减少数据库访问 80% - ✨ 批量调度器提升写入速度 400% - ✨ 无锁设计消除并发瓶颈 - ✨ 异步 I/O 提升文件操作速度 200% - ✨ 智能预加载减少冷启动延迟 --- ## 🙏 致谢 感谢所有为 MoFox_Bot v0.12.0 做出贡献的开发者和社区成员! ### 主要贡献者 - [@MoFox-Studio](https://github.com/MoFox-Studio) - 核心开发团队 - 所有提交 Issue 和 PR 的社区成员 ### 开源项目 - [MaiBot](https://github.com/MaiM-with-u/MaiBot) - 提供核心架构基础 - [NapCatQQ](https://github.com/NapNeko/NapCatQQ) - 提供 QQ 协议支持 - [SQLAlchemy](https://www.sqlalchemy.org/) - 强大的 ORM 框架 - [FastAPI](https://fastapi.tiangolo.com/) - 高性能 Web 框架 --- ## 📋 完整更新日志 详细的提交历史请查看: [changelogs/changelog.md](changelogs/changelog.md) --- ## 🐛 已知问题 1. **记忆迁移**: 首次启动可能需要较长时间进行记忆数据迁移(取决于数据量) 2. **MySQL 支持**: MySQL 模式下部分高级缓存功能可能受限 3. **WebUI**: 部分新功能的 WebUI 界面尚在开发中 --- ## 📞 获取帮助 - 📖 **文档**: [https://mofox-studio.github.io/MoFox-Bot-Docs/](https://mofox-studio.github.io/MoFox-Bot-Docs/) - 💬 **QQ 群**: [墨狐狐的大学 (169850076)](https://qm.qq.com/q/YwZTZl7BG8) | [墨狐狐技术部 (1064097634)](https://qm.qq.com/q/Lmm1LZnewg) - 🐛 **问题反馈**: [GitHub Issues](https://github.com/MoFox-Studio/MoFox_Bot/issues) - 📧 **联系我们**: [GitHub Discussions](https://github.com/MoFox-Studio/MoFox_Bot/discussions) --- ## ⚖️ 开源协议 本项目基于 **GPL-3.0** 协议开源。详见 [LICENSE](LICENSE) 文件。 ---
**🌟 如果这个项目对你有帮助,请给我们一个 Star!** **Made with ❤️ by [MoFox Studio](https://github.com/MoFox-Studio)**
## [0.10.0-alpha] - 2025-8-28 > **MoFox-Bot 0.10.0-alpha 版本发布!** > > 本次更新带来了多项核心功能增强和系统优化。 > > 在**新功能**方面,我们引入了**持久化回复跟踪**以避免重复回复,并为LLM请求实现了**模型故障转移机制**,提高了系统的健壮性。插件系统也得到了增强,增加了**事件触发和订阅的白名单机制**,并为事件处理器添加了**异步锁和并行执行**支持。此外,新版本还实现了对**说说中图片的识别与理解**,并引入了**弹性睡眠与睡前通知机制**,使机器人的作息更加智能化。 > > 在**修复**方面,我们解决了`enable`配置的bug,修复了event权限问题,并处理了专注模式下艾特不回复、模型信息不存在、cookie获取失败等多个问题,提升了系统的稳定性。 > > 在**重构**方面,我们移除了`changelog_config`并更新了模型配置模板,重构了工具缓存机制和LLM请求重试逻辑。同时,我们将项目从`MaiMbot-Pro-Max`正式更名为`MoFox_Bot`,并对内存、权限、配置等多个模块进行了优化。 > > 总的来说,0.11.0版本在功能、稳定性和代码质量上都有了显著提升。 ### 新功能 - **maizone**: 引入持久化回复跟踪以避免重复回复 - **llm**: 为LLM请求实现模型故障转移机制 - **plugin-system**: 添加事件触发和订阅的白名单机制 - **plugin**: 为事件处理器添加异步锁和并行执行支持 - **maizone**: 实现对说说中图片的识别与理解 - **sleep**: 实现睡眠唤醒与重新入睡机制 - **core**: 实现HFC及睡眠状态的持久化 - **schedule**: 引入弹性睡眠与睡前通知机制 - **monthly_plan**: 增加月度计划数量上限并自动清理 - **command**: 添加PlusCommand增强命令系统 - **expression**: 重构表达学习配置,引入基于规则的结构化定义 - **chat**: 实现睡眠压力和失眠系统 - **schedule**: 重构日程与月度计划管理模块 - **core**: 集成统一向量数据库服务并重构相关模块 - **tool_system**: 实现工具的声明式缓存 - **plugin_system**: 增加工具执行日志记录 - **maizone**: 新增QQ空间互通组功能,根据聊天上下文生成说说 - **monthly_plan**: 增强月度计划系统,引入状态管理和智能抽取 ### 修复 - 修复`enable`配置 - 修复event权限,现在每个component都拥有`plugin_name`属性 - 修复专注模式下艾特不回复的问题 - 修复模型信息不存在时引发的属性错误 - 修复`maizone_refactored`获取cookie时响应为空导致的错误 - 修复关键词非列表形式时导致的解析错误 - 修复即时记忆的 orjson 编码与解码问题 - 修复空回复检测,同时修复`tool_call` - 处理截断消息时`message`为`None`的情况 - 修复`get_remaining`的起始索引 - 修复回复自己评论的问题 - 修复`enable`配置 ### 重构 - **config**: 移除`changelog_config`并更新模型配置模板 - **cache**: 重构工具缓存机制并优化LLM请求重试逻辑 - **core**: 移除工具历史记录管理器并将缓存集成到工具执行器中 - 重构权限检查和装饰器用法 - **core**: 将项目从`MaiMbot-Pro-Max`重命名为`MoFox_Bot` - **memory**: 重构向量记忆清理逻辑以提高稳定性 - **llm_models**: 移除官方Gemini客户端并改用`aiohttp`实现 - **config**: 整合搜索服务配置并移除废弃选项 - **config**: 将反截断设置移至模型配置 - **video**: 重构视频分析,增加抽帧模式和间隔配置 从这里开始都是第三方改版的更新记录!!!!! ======================================================== ## [0.10.0] - 2025-7-1 ### 主要功能更改 - 工具系统重构,现在合并到了插件系统中 - 彻底重构了整个LLM Request了,现在支持模型轮询和更多灵活的参数 - 同时重构了整个模型配置系统,升级需要重新配置llm配置文件 - 随着LLM Request的重构,插件系统彻底重构完成。插件系统进入稳定状态,仅增加新的API - 具体相比于之前的更改可以查看[changes.md](./changes.md) ### 细节优化 - 修复了lint爆炸的问题,代码更加规范了 - 修改了log的颜色,更加护眼 ## [0.9.1] - 2025-7-26 ### 主要修复和优化 - 优化回复意愿 - 优化专注模式回复频率 - 优化关键词提取 - 修复部分模型产生的400问题 ### 细节优化 - 修复reply导致的planner异常空跳 - 修复表达方式迁移空目录问题 - 修复reply_to空字段问题 - 无可用动作导致的空plan问题 - 修复人格未压缩导致产生句号分割 - 将metioned bot 和 at应用到focus prompt中 - 更好的兴趣度计算 - 修复部分模型由于enable_thinking导致的400问题 - 移除dependency_manager ## [0.9.0] - 2025-7-24 ### 摘要 MaiBot 0.9.0 重磅升级!本版本带来两大核心突破:**全面重构的插件系统**提供更强大的扩展能力和管理功能;**normal和focus模式统一化处理**大幅简化架构并提升性能。同时新增s4u prompt模式优化、语音消息支持、全新情绪系统和mais4u直播互动功能,为MaiBot带来更自然、更智能的交互体验! ### 🌟 主要功能概览 #### 🔌 插件系统全面重构 - 重点升级 - **完整管理API**: 全新的插件管理API,支持插件的启用、禁用、重载和卸载操作 - **权限控制系统**: 为插件管理增加完善的权限控制,确保系统安全性 - **智能依赖管理**: 优化插件依赖管理和自动注册机制,减少配置复杂度 #### ⚡ Normal和Focus模式统一化处理 - 重点升级 - **架构统一**: 彻底统一normal和focus聊天模式,消除模式间的差异和复杂性 - **智能模式切换**: 优化频率控制和模式切换逻辑,normal可以无缝切换到focus - **统一LLM激活**: normal模式现在支持LLM激活插件,与focus模式功能对等 - **一致的关系构建**: normal采用与focus一致的关系构建机制,提升交互质量 - **统一退出机制**: 为focus提供更合理的退出方法,简化状态管理 #### 🎯 s4u prompt模式 - **s4u prompt模式**: 新增专门的s4u prompt构建方式,提供更好的交互效果 - **配置化启用**: 可在配置文件中选择启用s4u prompt模式,灵活控制 - **兼容性保持**: 与现有系统完全兼容,可随时切换启用或禁用 #### 🎤 语音消息支持 - **Voice消息处理**: 新增对voice类型消息的支持,麦麦现在可以识别和处理语音消息(需要模型配置) #### 全新情绪系统 - **持续情绪**: 麦麦现在拥有持续的情绪状态,情绪会影响回复风格和行为 ### 💻 更新预览 #### 关系系统优化 - **prompt优化**: 优化关系prompt和person_info信息展示 - **构建间隔**: 让关系构建间隔可配置,提升灵活性 - **关系配置**: 优化关系配置,采用和focus一致的关系构建 #### 表情包系统升级 - **识别增强**: 加强emoji的识别能力,优化emoji显示 - **匹配精准**: 更精准的表情包匹配算法 #### 完善mais4u系统(需要amaidesu支持) - **直播互动**: 新增mais4u直播功能,支持实时互动和思考状态展示 - **动作控制**: 支持眨眼、微动作、注视等多种动作适配 #### 日志系统优化 - **显示优化**: 优化Logger前缀映射、颜色格式和计时信息显示 - **级别优化**: 优化日志级别和信息过滤,提升调试体验 - **日志查看器**: 升级logger_viewer,移除无用脚本 #### 配置系统改进 - **配置简化**: 简化配置文件,让配置更加精简易懂 - **prompt显示**: 可选打开prompt显示功能 - **配置更新**: 更好的配置文件更新机制和更新内容显示 #### 问题修复与优化 - 修复normal planner没有超时退出问题,添加回复超时检查 - 重构no_reply逻辑,不再使用小模型,采用激活度决定 - 修复图片与文字混合兴趣值为0的情况 - 适配无兴趣度消息处理 - 优化Docker镜像构建流程,合并AMD64和ARM64构建步骤 - 移除vtb插件和take_picture_plugin,功能已由其他系统接管,移除pfc遗留代码和其他过时功能 - 移除observation和processor等冗余组件,大幅简化focus代码逻辑 - 修复了LPMM的学习问题 ## [0.8.1] - 2025-7-5 功能更新: - normal现在和focus一样支持tool - focus现在和normal一样每次调用lpmm - 移除人格表达 优化和修复: - 修复表情包配置无效问题 - 合并normal和focus的prompt构建 - 非TTY环境禁用console_input_loop - 修复过滤消息仍被存储至数据库的问题 - 私聊强制开启focus模式 - 支持解析reply_to和at - 修复focus冷却时间导致的固定沉默 - 移除豆包画图插件,此插件现在插件广场提供 - 修复表达器无法读取原始文本 - 修复normal planner没有超时退出问题 ## [0.8.0] - 2025-6-27 MaiBot 0.8.0 现已推出! ### **主要升级点:** 1.插件系统正式加入,现已上线插件商店,同时支持normal和focus 2.大幅降低了token消耗,更省钱 3.加入人物印象系统,麦麦可以对群友有不同的印象 4.可以精细化控制不同时段和不同群聊的发言频率 #### 其他升级 日志系统重构使用structlog 大量稳定性修复和性能优化。 MMC启动速度加快 ### 🔌 插系统正式推出 **全面重构的插件生态系统,支持强大 的扩展能力** - **插件API重构**: 全面重构插件系统,统一加载机制,区分内部插件和外部插件 - **插件仓库**:现可以分享和下载插件 - **依赖管理**: 新增插件依赖管理系统,支持自动注册和依赖检查 - **命令支持**: 插件现已支持命令(command)功能,提供更丰富的交互方式 - **示例插件升级**: 更新禁言插件、豆包绘图插件、TTS插件等示例插件 - **配置文件管理**: 插件支持自动生成和管理配置文件,支持版本自动更新 - **文档完善**: 补全插件API文档,提供详细的开发指南 ### 👥 人物印象系统 **麦麦现在能认得群友,记住每个人的特点** - **人物侧写功能**: 加入了人物侧写!麦麦现在能认得群友,新增用户侧写功能,将印象拆分为多方面特点 ### ⚡ Focus模式大幅优化 - 降低Token消耗与提升速度 - **Planner架构更新**: 更新planner架构,大大加快速度和表现效果! - **处理器重构**: - 移除冗余处理器 - 精简处理器上下文,减少不必要的处理 - 后置工具处理器,大大减少token消耗 - **统计系统**: 提供focus统计功能,可查看详细的no_reply统计信息 ### ⏰ 聊天频率精细控制 **支持时段化的精细频率管理,让麦麦在合适的时间说合适的话** - **时段化控制**: 添加时段talk_frequency控制,支持不同时间段不同群聊的精细频率管理 - **严格频率控制**: 实现更加严格和可靠的频率控制机制 - **Normal模式优化**: 大幅优化normal模式的频率控制逻辑,提升回复的智能性 ### 🎭 表达方式系统大幅优化 **智能学习群友聊天风格,让麦麦的表达更加多样化** - **智能学习机制**: 优化表达方式学习算法,支持衰减机制,太久没学的会被自动抛弃 - **表达方式选择**: 新增表达方式选择器,让表达使用更合理 - **跨群互通配置**: 表达方式现在可以选择在不同群互通或独立 - **可视化工具**: 提供表达方式可视化脚本和检查脚本 ### 💾 记忆系统改进 **更快的记忆处理和更好的短期记忆管理** - **海马体优化**: 大大优化海马体同步速度,提升记忆处理效率 - **工作记忆升级**: 精简升级工作记忆模块,提供更好的短期记忆管理 - **聊天记录构建**: 优化聊天记录构建方式,提升记忆提取效率 ### 📊 日志系统重构 **使用structlog提供更好的结构化日志** - **structlog替换**: 使用structlog替代loguru,提供更好的结构化日志 - **日志查看器**: 新增日志查看脚本,支持更好的日志浏览 - **可配置日志**: 提供可配置的日志级别和格式,支持不同环境的需求 ### 🎯 其他改进 - **emoji系统**: 移除emoji默认发送模式,优化表情包审查功能 - **控制台发送**: 添加不完善的控制台发送功能 - **行为准则**: 添加贡献者契约行为准则 - **图像清理**: 自动清理images文件夹,优化存储空间使用 ## [0.7.0] -2025-6-1 - 你可以选择normal,focus和auto多种不同的聊天方式。normal提供更少的消耗,更快的回复速度。focus提供更好的聊天理解,更多工具使用和插件能力 - 现在,你可以自定义麦麦的表达方式,并且麦麦也可以学习群友的聊天风格(需要在配置文件中打开) - 不再需要繁琐的安装MongoDB!弃用MongoDB,采用轻量sqlite,无需额外安装(提供数据迁移脚本) - focus模式初步支持了插件,我们提供了两个示例插件(需要手动启用),可以让麦麦实现更丰富的操作。禁言插件和豆包绘图插件是示例用插件。 **重构专注聊天(HFC - focus_chat)** - 模块化设计,可以自定义不同的部件 - 观察器(获取信息) - 信息处理器(处理信息) - 重构:聊天思考(子心流)处理器 - 重构:聊天处理器 - 重构:聊天元信息处理器 - 重构:工具处理器 - 新增:工作记忆处理器 - 新增:自我认知处理器 - 新增:动作处理器 - 决策器(选择动作) - 执行器(执行动作) - 回复动作 - 不回复动作 - 退出HFC动作 - 插件:禁言动作 - 表达器:装饰语言风格 - 可通过插件添加和自定义HFC部件(目前只支持action定义) - 为专注模式添加关系线索 - 在专注模式下,麦麦可以决定自行发送语音消息(需要搭配tts适配器) - 优化reply,减少复读 - 可自定义连续回复次数 - 可自定义处理器超时时间 **优化普通聊天(normal_chat)** - 添加可学习的表达方式 - 增加了talk_frequency参数来有效控制回复频率 - 优化了进入和离开normal_chat的方式 - 添加时间信息 **新增表达方式学习** - 麦麦配置单独表达方式 - 自主学习群聊中的表达方式,更贴近群友 - 可自定义的学习频率和开关 - 根据人设生成额外的表达方式 **聊天管理** - 移除不在线状态 - 优化自动模式下normal与focus聊天的切换机制 - 大幅精简聊天状态切换规则,减少复杂度 - 移除聊天限额数量 **插件系统** - 示例插件:禁言插件 - 示例插件:豆包绘图插件 **人格** - 简化了人格身份的配置 - 优化了在focus模式下人格的表现和稳定性 **数据库重构** - 移除了默认使用MongoDB,采用轻量sqlite - 无需额外安装数据库 - 提供迁移脚本 **优化** - 移除日程系统,减少幻觉(将会在未来版本回归) - 移除主心流思考和LLM进入聊天判定 - 支持qwen3模型,支持自定义是否思考和思考长度 - 优化提及和at的判定 - 添加配置项 - 添加临时配置文件读取器 ## [0.6.3-fix-4] - 2025-5-18 - 0.6.3 的最后一个修复版 ### fix1-fix4修复日志 **聊天状态** - 大幅精简聊天状态切换,提高麦麦说话能力 - 移除OFFLINE和ABSENT状态 - 移除聊天数量限制 - 聊天默认normal_chat - 默认关闭focus_chat **知识库LPMM** - 增加嵌入模型一致性校验功能 - 强化数据导入处理,增加非法文段检测功能 - 修正知识获取逻辑,调整相关性输出顺序 - 添加数据导入的用户确认删除功能 **专注模式** - 默认提取记忆,优化记忆表现 - 添加心流查重 - 为复读增加硬限制 - 支持获取子心流循环信息和状态的API接口 - 优化工具调用的信息获取与缓存 **表情包系统** - 优化表情包识别和处理 - 提升表情匹配逻辑 **日志系统** - 优化日志样式配置 - 添加丰富的追踪信息以增强调试能力 **API** - 添加GraphQL路由支持 - 新增强制停止MAI Bot的API接口 ## [0.6.3] - 2025-4-15 ### 摘要 - MaiBot 0.6.3 版本发布!核心重构回复逻辑,统一为心流系统管理,智能切换交互模式。 - 引入全新的 LPMM 知识库系统,大幅提升信息获取能力。 - 新增昵称系统,改善群聊中的身份识别。 - 提供独立的桌宠适配器连接程序。 - 优化日志输出,修复若干问题。 ### 🌟 核心功能增强 #### 统一回复逻辑 (Unified Reply Logic) - **核心重构**: 移除了经典 (Reasoning) 与心流 (Heart Flow) 模式的区分,将回复逻辑完全整合到 `SubHeartflow` 中进行统一管理,由主心流统一调控。保留 Heart FC 模式的特色功能。 - **智能交互模式**: `SubHeartflow` 现在可以根据情境智能选择不同的交互模式: - **普通聊天 (Normal Chat)**: 类似于之前的 Reasoning 模式,进行常规回复(激活逻辑暂未改变)。 - **心流聊天 (Heart Flow Chat)**: 基于改进的 PFC 模式,能更好地理解上下文,减少重复和认错人的情况,并支持**工具调用**以获取额外信息。 - **离线模式 (Offline/Absent)**: 在特定情况下,麦麦可能会选择暂时不查看或回复群聊消息。 - **状态管理**: 交互模式的切换由 `SubHeartflow` 内部逻辑和 `SubHeartflowManager` 根据整体状态 (`MaiState`) 和配置进行管理。 - **流程优化**: 拆分了子心流的思考模块,使整体对话流程更加清晰。 - **状态判断改进**: 将 CHAT 状态判断交给 LLM 处理,使对话更自然。 - **回复机制**: 实现更为灵活的概率回复机制,使机器人能够自然地融入群聊环境。 - **重复性检查**: 加入心流回复重复性检查机制,防止麦麦陷入固定回复模式。 #### 全新知识库系统 (New Knowledge Base System - LPMM) - **引入 LPMM**: 新增了 **LPMM (Large Psychology Model Maker)** 知识库系统,具有强大的信息检索能力,能显著提升麦麦获取和利用知识的效率。 - **功能集成**: 集成了 LPMM 知识库查询功能,进一步扩展信息检索能力。 - **推荐使用**: 强烈建议使用新的 LPMM 系统以获得最佳体验。旧的知识库系统仍然可用作为备选。 #### 昵称系统 (Nickname System) - **自动取名**: 麦麦现在会尝试给群友取昵称,减少对易变的群昵称的依赖,从而降低认错人的概率。 - **持续完善**: 该系统目前仍处于早期阶段,会持续进行优化。 #### 记忆与上下文增强 (Memory and Context Enhancement) - **聊天记录压缩**: 大幅优化聊天记录压缩系统,使机器人能够处理5倍于之前的上下文记忆量。 - **长消息截断**: 新增了长消息自动截断与模糊化功能,随着时间推移降低超长消息的权重,避免被特定冗余信息干扰。 - **记忆提取**: 优化记忆提取功能,提高对历史对话的理解和引用能力。 - **记忆整合**: 为记忆系统加入了合并与整合机制,优化长期记忆的结构与效率。 - **中期记忆调用**: 完善中期记忆调用机制,使机器人能够更自然地回忆和引用较早前的对话。 - **Prompt 优化**: 进一步优化了关系系统和记忆系统相关的提示词(prompt)。 #### 私聊 PFC 功能增强 (Private Chat PFC Enhancement) - **功能修复与优化**: 修复了私聊 PFC 载入聊天记录缺失的 bug,优化了 prompt 构建,增加了审核机制,调整了重试次数,并将机器人发言存入数据库。 - **实验性质**: 请注意,PFC 仍然是一个实验性功能,可能在未来版本中被修改或移除,目前不接受相关 Bug 反馈。 #### 情感与互动增强 (Emotion and Interaction Enhancement) - **全新表情包系统**: 新的表情包系统上线,表情含义更丰富,发送更快速。 - **表情包使用优化**: 优化了表情包的选择逻辑,减少重复使用特定表情包的情况,使表达更生动。 - **提示词优化**: 优化提示词(prompt)构建,增强对话质量和情感表达。 - **积极性配置**: 优化"让麦麦更愿意说话"的相关配置,使机器人更积极参与对话。 - **颜文字保护**: 保护颜文字处理机制,确保表情正确显示。 #### 工具与集成 (Tools and Integration) - **动态更新**: 使用工具调用来更新关系和心情,取代原先的固定更新机制。 - **智能调用**: 工具调用时会考虑上下文,使调用更加智能。 - **知识库依赖**: 添加 LPMM 知识库依赖,扩展知识检索工具。 ### 💻 系统架构优化 #### 日志优化 (Logging Optimization) - **输出更清晰**: 优化了日志信息的格式和内容,使其更易于阅读和理解。 #### 模型与消息整合 (Model and Message Integration) - **模型合并**: 合并工具调用模型和心流模型,提高整体一致性。 - **消息规范**: 全面改用 `maim_message`,移除对 `rest` 的支持。 #### (临时) 简易 GUI (Temporary Simple GUI) - **运行状态查看**: 提供了一个非常基础的图形用户界面,用于查看麦麦的运行状态。 - **临时方案**: 这是一个临时性的解决方案,功能简陋,**将在 0.6.4 版本中被全新的 Web UI 所取代**。此 GUI 不会包含在主程序包中,而是通过一键包提供,并且不接受 Bug 反馈。 ### 🐛 问题修复 - **记忆检索优化**: 提高了记忆检索的准确性和效率。 - 修复了一些其他小问题。 ### 🔧 其他改进 #### 桌宠适配器 (Bug Catcher Adapter) - **独立适配器**: 提供了一个"桌宠"独立适配器,用于连接麦麦和桌宠。 - **获取方式**: 可在 MaiBot 的 GitHub 组织中找到该适配器,不包含在主程序内。 #### 一键包内容 (One-Click Package Contents) - **辅助程序**: 一键包中包含了简易 GUI 和 **麦麦帮助配置** 等辅助程序,后者可在配置出现问题时提供帮助。 ## [0.6.2] - 2025-4-14 ### 摘要 - MaiBot 0.6.2 版本发布! - 优化了心流的观察系统,优化提示词和表现,现在心流表现更好! - 新增工具调用能力,可以更好地获取信息 - 本次更新主要围绕工具系统、心流系统、消息处理和代码优化展开,新增多个工具类,优化了心流系统的逻辑,改进了消息处理流程,并修复了多个问题。 ### 🌟 核心功能增强 #### 工具系统 - 新增了知识获取工具系统,支持通过心流调用获取多种知识 - 新增了工具系统使用指南,详细说明工具结构、自动注册机制和添加步骤 - 新增了多个实用工具类,包括心情调整工具`ChangeMoodTool`、关系查询工具`RelationshipTool`、数值比较工具`CompareNumbersTool`、日程获取工具`GetCurrentTaskTool`、上下文压缩工具`CompressContextTool`和知识获取工具`GetKnowledgeTool` - 更新了`ToolUser`类,支持自动获取已注册工具定义并调用`execute`方法 - 需要配置支持工具调用的模型才能使用完整功能 #### 心流系统 - 新增了上下文压缩缓存功能,可以有更持久的记忆 - 新增了心流系统的README.md文件,详细介绍了系统架构、主要功能和工作流程。 - 优化了心流系统的逻辑,包括子心流自动清理和合理配置更新间隔。 - 改进了心流观察系统,优化了提示词设计和系统表现,使心流运行更加稳定高效。 - 更新了`Heartflow`类的方法和属性,支持异步生成提示词并提升生成质量。 #### 消息处理 - 改进了消息处理流程,包括回复检查、消息生成和发送逻辑。 - 新增了`ReplyGenerator`类,用于根据观察信息和对话信息生成回复。 - 优化了消息队列管理系统,支持按时间顺序处理消息。 #### 现在可以启用更好的表情包发送系统 ### 💻 系统架构优化 #### 部署支持 - 更新了Docker部署文档,优化了服务配置和挂载路径。 - 完善了Linux和Windows脚本支持。 ### 🐛 问题修复 - 修复了消息处理器中的正则表达式匹配问题。 - 修复了图像处理中的帧大小和拼接问题。 - 修复了私聊时产生`reply`消息的bug。 - 修复了配置文件加载时的版本兼容性问题。 ### 📚 文档更新 - 更新了`README.md`文件,包括Python版本要求和协议信息。 - 新增了工具系统和心流系统的详细文档。 - 优化了部署相关文档的完整性。 ### 🔧 其他改进 - 新增了崩溃日志记录器,记录崩溃信息到日志文件。 - 优化了统计信息输出,在控制台显示详细统计信息。 - 改进了异常处理机制,提升系统稳定性。 - 现可配置部分模型的temp参数 ## [0.6.0] - 2025-4-4 ### 摘要 - MaiBot 0.6.0 重磅升级! 核心重构为独立智能体MaiCore,新增思维流对话系统,支持拟真思考过程。记忆与关系系统2.0让交互更自然,动态日程引擎实现智能调整。优化部署流程,修复30+稳定性问题,隐私政策同步更新,推荐所有用户升级体验全新AI交互!(V3激烈生成) ### 🌟 核心功能增强 #### 架构重构 - 将MaiBot重构为MaiCore独立智能体 - 移除NoneBot相关代码,改为插件方式与NoneBot对接 #### 思维流系统 - 提供两种聊天逻辑,思维流(心流)聊天(ThinkFlowChat)和推理聊天(ReasoningChat) - 思维流聊天能够在回复前后进行思考 - 思维流自动启停机制,提升资源利用效率 - 思维流与日程系统联动,实现动态日程生成 #### 回复系统 - 更改了回复引用的逻辑,从基于时间改为基于新消息 - 提供私聊的PFC模式,可以进行有目的,自由多轮对话(实验性) #### 记忆系统优化 - 优化记忆抽取策略 - 优化记忆prompt结构 - 改进海马体记忆提取机制,提升自然度 #### 关系系统优化 - 优化关系管理系统,适用于新版本 - 改进关系值计算方式,提供更丰富的关系接口 #### 表情包系统 - 可以识别gif表情包 - 表情包增加存储上限 - 自动清理缓存图片 ## 日程系统优化 - 日程现在动态更新 - 日程可以自定义想象力程度 - 日程会与聊天情况交互(思维流模式下) ### 💻 系统架构优化 #### 配置系统改进 - 新增更多项目的配置项 - 修复配置文件保存问题 - 优化配置结构: - 调整模型配置组织结构 - 优化配置项默认值 - 调整配置项顺序 - 移除冗余配置 #### 部署支持扩展 - 优化Docker构建流程 - 完善Windows脚本支持 - 优化Linux一键安装脚本 ### 🐛 问题修复 #### 功能稳定性 - 修复表情包审查器问题 - 修复心跳发送问题 - 修复拍一拍消息处理异常 - 修复日程报错问题 - 修复文件读写编码问题 - 修复西文字符分割问题 - 修复自定义API提供商识别问题 - 修复人格设置保存问题 - 修复EULA和隐私政策编码问题 ### 📚 文档更新 - 更新README.md内容 - 优化文档结构 - 更新EULA和隐私政策 - 完善部署文档 ### 🔧 其他改进 - 新增详细统计系统 - 优化表情包审查功能 - 改进消息转发处理 - 优化代码风格和格式 - 完善异常处理机制 - 可以自定义时区 - 优化日志输出格式 - 版本硬编码,新增配置自动更新功能 - 优化了统计信息,会在控制台显示统计信息 ## [0.5.15] - 2025-3-17 ### 🌟 核心功能增强 #### 关系系统升级 - 新增关系系统构建与启用功能 - 优化关系管理系统 - 改进prompt构建器结构 - 新增手动修改记忆库的脚本功能 - 增加alter支持功能 #### 启动器优化 - 新增MaiLauncher.bat 1.0版本 - 优化Python和Git环境检测逻辑 - 添加虚拟环境检查功能 - 改进工具箱菜单选项 - 新增分支重置功能 - 添加MongoDB支持 - 优化脚本逻辑 - 修复虚拟环境选项闪退和conda激活问题 - 修复环境检测菜单闪退问题 - 修复.env文件复制路径错误 #### 日志系统改进 - 新增GUI日志查看器 - 重构日志工厂处理机制 - 优化日志级别配置 - 支持环境变量配置日志级别 - 改进控制台日志输出 - 优化logger输出格式 ### 💻 系统架构优化 #### 配置系统升级 - 更新配置文件到0.0.10版本 - 优化配置文件可视化编辑 - 新增配置文件版本检测功能 - 改进配置文件保存机制 - 修复重复保存可能清空list内容的bug - 修复人格设置和其他项配置保存问题 #### WebUI改进 - 优化WebUI界面和功能 - 支持安装后管理功能 - 修复部分文字表述错误 #### 部署支持扩展 - 优化Docker构建流程 - 改进MongoDB服务启动逻辑 - 完善Windows脚本支持 - 优化Linux一键安装脚本 - 新增Debian 12专用运行脚本 ### 🐛 问题修复 #### 功能稳定性 - 修复bot无法识别at对象和reply对象的问题 - 修复每次从数据库读取额外加0.5的问题 - 修复新版本由于版本判断不能启动的问题 - 修复配置文件更新和学习知识库的确认逻辑 - 优化token统计功能 - 修复EULA和隐私政策处理时的编码兼容问题 - 修复文件读写编码问题,统一使用UTF-8 - 修复颜文字分割问题 - 修复willing模块cfg变量引用问题 ### 📚 文档更新 - 更新CLAUDE.md为高信息密度项目文档 - 添加mermaid系统架构图和模块依赖图 - 添加核心文件索引和类功能表格 - 添加消息处理流程图 - 优化文档结构 - 更新EULA和隐私政策文档 ### 🔧 其他改进 - 更新全球在线数量展示功能 - 优化statistics输出展示 - 新增手动修改内存脚本(支持添加、删除和查询节点和边) ### 主要改进方向 1. 完善关系系统功能 2. 优化启动器和部署流程 3. 改进日志系统 4. 提升配置系统稳定性 5. 加强文档完整性 ## [0.5.14] - 2025-3-14 ### 🌟 核心功能增强 #### 记忆系统优化 - 修复了构建记忆时重复读取同一段消息导致token消耗暴增的问题 - 优化了记忆相关的工具模型代码 #### 消息处理升级 - 新增了不回答已撤回消息的功能 - 新增每小时自动删除存留超过1小时的撤回消息 - 优化了戳一戳功能的响应机制 - 修复了回复消息未正常发送的问题 - 改进了图片发送错误时的处理机制 #### 日程系统改进 - 修复了长时间运行的bot在跨天后无法生成新日程的问题 - 优化了日程文本解析功能 - 修复了解析日程时遇到markdown代码块等额外内容的处理问题 ### 💻 系统架构优化 #### 日志系统升级 - 建立了新的日志系统 - 改进了错误处理机制 - 优化了代码格式化规范 #### 部署支持扩展 - 改进了NAS部署指南,增加HOST设置说明 - 优化了部署文档的完整性 ### 🐛 问题修复 #### 功能稳定性 - 修复了utils_model.py中的潜在问题 - 修复了set_reply相关bug - 修复了回应所有戳一戳的问题 - 优化了bot被戳时的判断逻辑 ### 📚 文档更新 - 更新了README.md的内容 - 完善了NAS部署指南 - 优化了部署相关文档 ### 主要改进方向 1. 提升记忆系统的效率和稳定性 2. 完善消息处理机制 3. 优化日程系统功能 4. 改进日志和错误处理 5. 加强部署文档的完整性 ## [0.5.13] - 2025-3-12 ### 🌟 核心功能增强 #### 记忆系统升级 - 新增了记忆系统的时间戳功能,包括创建时间和最后修改时间 - 新增了记忆图节点和边的时间追踪功能 - 新增了自动补充缺失时间字段的功能 - 新增了记忆遗忘机制,基于时间条件自动遗忘旧记忆 - 优化了记忆系统的数据同步机制 - 优化了记忆系统的数据结构,确保所有数据类型的一致性 #### 私聊功能完善 - 新增了完整的私聊功能支持,包括消息处理和回复 - 新增了聊天流管理器,支持群聊和私聊的上下文管理 - 新增了私聊过滤开关功能 - 优化了关系管理系统,支持跨平台用户关系 #### 消息处理升级 - 新增了消息队列管理系统,支持按时间顺序处理消息 - 新增了消息发送控制器,实现人性化的发送速度和间隔 - 新增了JSON格式分享卡片读取支持 - 新增了Base64格式表情包CQ码支持 - 改进了消息处理流程,支持多种消息类型 ### 💻 系统架构优化 #### 配置系统改进 - 新增了配置文件自动更新和版本检测功能 - 新增了配置文件热重载API接口 - 新增了配置文件版本兼容性检查 - 新增了根据不同环境(dev/prod)显示不同级别的日志功能 - 优化了配置文件格式和结构 #### 部署支持扩展 - 新增了Linux系统部署指南 - 新增了Docker部署支持的详细文档 - 新增了NixOS环境支持(使用venv方式) - 新增了优雅的shutdown机制 - 优化了Docker部署文档 ### 🛠️ 开发体验提升 #### 工具链升级 - 新增了ruff代码格式化和检查工具 - 新增了知识库一键启动脚本 - 新增了自动保存脚本,定期保存聊天记录和关系数据 - 新增了表情包自动获取脚本 - 优化了日志记录(使用logger.debug替代print) - 精简了日志输出,禁用了Uvicorn/NoneBot默认日志 #### 安全性强化 - 新增了API密钥安全管理机制 - 新增了数据库完整性检查功能 - 新增了表情包文件完整性自动检查 - 新增了异常处理和自动恢复机制 - 优化了安全性检查机制 ### 🐛 关键问题修复 #### 系统稳定性 - 修复了systemctl强制停止的问题 - 修复了ENVIRONMENT变量在同一终端下不能被覆盖的问题 - 修复了libc++.so依赖问题 - 修复了数据库索引创建失败的问题 - 修复了MongoDB连接配置相关问题 - 修复了消息队列溢出问题 - 修复了配置文件加载时的版本兼容性问题 #### 功能完善性 - 修复了私聊时产生reply消息的bug - 修复了回复消息无法识别的问题 - 修复了CQ码解析错误 - 修复了情绪管理器导入问题 - 修复了小名无效的问题 - 修复了表情包发送时的参数缺失问题 - 修复了表情包重复注册问题 - 修复了变量拼写错误问题 ### 主要改进方向 1. 提升记忆系统的智能性和可靠性 2. 完善私聊功能的完整生态 3. 优化系统架构和部署便利性 4. 提升开发体验和代码质量 5. 加强系统安全性和稳定性