Files
Mofox-Core/changelogs/changelog.md

1117 lines
46 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog
# 🎉 MoFox_Bot v0.12.0 正式版发布
<div align="center">
**🚀 全新架构 | 💪 性能飞跃 | 🧠 智能升级**
[![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)
</div>
---
## 📖 版本概述
**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) 文件。
---
<div align="center">
**🌟 如果这个项目对你有帮助,请给我们一个 Star**
**Made with ❤️ by [MoFox Studio](https://github.com/MoFox-Studio)**
</div>
## [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. 加强系统安全性和稳定性