# Changelog

## [0.7.2] -2025-6-4
重点升级

添加了新的插件API
大大优化action的选择能力


## [0.7.1] -2025-6-3
重点优化

加入了人物侧写！麦麦认得群友
更新planner架构，大大加快速度和表现效果！
为normal_chat加入动作执行！
新增关系处理器
修复关键词功能，并且在focus中可用！



修复了：
群名称导致log保存失败
focus吞掉首条消息
表达方式的多样性
可关闭思考处理器（建议默认关闭）
focus没有时间信息的问题
修复了表情包action
优化聊天记录构建方式
优化记忆同步速度和记忆构建缺少chat_id的问题
优化工作记忆处理器
优化人格表达
删除无效字段防止数据库报错




## [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. 加强系统安全性和稳定性



