From 7840a6080df06179dad0034fa2aee6539be6af5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=98=A5=E6=B2=B3=E6=99=B4?=
Date: Tue, 8 Apr 2025 15:31:13 +0900
Subject: [PATCH 1/5] ruff reformatted
---
src/gui/logger_gui.py | 22 +-
src/gui/reasoning_gui.py | 6 +-
src/heart_flow/heartflow.py | 30 +-
src/heart_flow/observation.py | 22 +-
src/heart_flow/sub_heartflow.py | 117 ++-
src/individuality/identity.py | 54 +-
src/individuality/individuality.py | 68 +-
src/individuality/per_bf_gen.py | 98 +--
src/individuality/personality.py | 66 +-
src/individuality/scene.py | 9 +-
src/main.py | 4 +-
src/plugins/PFC/chat_observer.py | 176 +++--
src/plugins/PFC/pfc.py | 398 +++++-----
src/plugins/PFC/pfc_KnowledgeFetcher.py | 24 +-
src/plugins/PFC/pfc_utils.py | 25 +-
src/plugins/PFC/reply_checker.py | 44 +-
src/plugins/chat/__init__.py | 2 +-
src/plugins/chat/bot.py | 14 +-
src/plugins/chat/emoji_manager.py | 54 +-
src/plugins/chat/message_buffer.py | 81 +-
src/plugins/chat/message_sender.py | 5 +-
src/plugins/chat/utils.py | 83 +--
src/plugins/chat/utils_image.py | 23 +-
.../only_process/only_message_process.py | 16 +-
.../reasoning_chat/reasoning_chat.py | 5 +-
.../reasoning_chat/reasoning_generator.py | 5 +-
.../reasoning_prompt_builder.py | 81 +-
.../think_flow_chat/think_flow_chat.py | 27 +-
.../think_flow_chat/think_flow_generator.py | 2 -
.../think_flow_prompt_builder.py | 19 +-
src/plugins/config/auto_update.py | 5 +-
src/plugins/config/config.py | 61 +-
src/plugins/memory_system/Hippocampus.py | 1 +
src/plugins/models/utils_model.py | 55 +-
src/plugins/moods/moods.py | 11 +-
src/plugins/person_info/person_info.py | 111 ++-
.../person_info/relationship_manager.py | 29 +-
src/plugins/schedule/schedule_generator.py | 12 +-
src/plugins/zhishi/knowledge_library.py | 8 +-
temp_utils_ui/temp_ui.py | 690 +++++++-----------
40 files changed, 1227 insertions(+), 1336 deletions(-)
diff --git a/src/gui/logger_gui.py b/src/gui/logger_gui.py
index 9488446c4..ad6edafb8 100644
--- a/src/gui/logger_gui.py
+++ b/src/gui/logger_gui.py
@@ -24,10 +24,10 @@
# # 标记GUI是否运行中
# self.is_running = True
-
+
# # 程序关闭时的清理操作
# self.protocol("WM_DELETE_WINDOW", self._on_closing)
-
+
# # 初始化进程、日志队列、日志数据等变量
# self.process = None
# self.log_queue = queue.Queue()
@@ -236,7 +236,7 @@
# while not self.log_queue.empty():
# line = self.log_queue.get()
# self.process_log_line(line)
-
+
# # 仅在GUI仍在运行时继续处理队列
# if self.is_running:
# self.after(100, self.process_log_queue)
@@ -245,11 +245,11 @@
# """解析单行日志并更新日志数据和筛选器"""
# match = re.match(
# r"""^
-# (?:(?P
## 新版0.6.0部署前先阅读:https://docs.mai-mai.org/manual/usage/mmc_q_a
-
-
-
-
-
-
-
## 📝 项目简介
**🍔MaiCore是一个基于大语言模型的可交互智能体**
-- LLM 提供对话能力
-- 动态Prompt构建器
-- 实时的思维系统
-- MongoDB 提供数据持久化支持
-- 可扩展,可支持多种平台和多种功能
+
+- 💭 **智能对话系统**:基于LLM的自然语言交互
+- 🤔 **实时思维系统**:模拟人类思考过程
+- 💝 **情感表达系统**:丰富的表情包和情绪表达
+- 🧠 **持久记忆系统**:基于MongoDB的长期记忆存储
+- 🔄 **动态人格系统**:自适应的性格特征
+
+
+
+
+### 📢 版本信息
**最新版本: v0.6.0** ([查看更新日志](changelogs/changelog.md))
> [!WARNING]
@@ -28,19 +66,12 @@
> 次版本MaiBot将基于MaiCore运行,不再依赖于nonebot相关组件运行。
> MaiBot将通过nonebot的插件与nonebot建立联系,然后nonebot与QQ建立联系,实现MaiBot与QQ的交互
-**分支介绍:**
-- main 稳定版本
-- dev 开发版(不知道什么意思就别下)
-- classical 0.6.0以前的版本
+**分支说明:**
+- `main`: 稳定发布版本
+- `dev`: 开发测试版本(不知道什么意思就别下)
+- `classical`: 0.6.0之前的版本
-
> [!WARNING]
> - 项目处于活跃开发阶段,代码可能随时更改
@@ -49,6 +80,12 @@
> - 由于持续迭代,可能存在一些已知或未知的bug
> - 由于开发中,可能消耗较多token
+### ⚠️ 重要提示
+
+- 升级到v0.6.0版本前请务必阅读:[升级指南](https://docs.mai-mai.org/manual/usage/mmc_q_a)
+- 本版本基于MaiCore重构,通过nonebot插件与QQ平台交互
+- 项目处于活跃开发阶段,功能和API可能随时调整
+
### 💬交流群(开发和建议相关讨论)不一定有空回复,会优先写文档和代码
- [五群](https://qm.qq.com/q/JxvHZnxyec) 1022489779
- [一群](https://qm.qq.com/q/VQ3XZrWgMs) 766798517 【已满】
@@ -72,55 +109,35 @@
## 🎯 功能介绍
-### 💬 聊天功能
-- 提供思维流(心流)聊天和推理聊天两种对话逻辑
-- 支持关键词检索主动发言:对消息的话题topic进行识别,如果检测到麦麦存储过的话题就会主动进行发言
-- 支持bot名字呼唤发言:检测到"麦麦"会主动发言,可配置
-- 支持多模型,多厂商自定义配置
-- 动态的prompt构建器,更拟人
-- 支持图片,转发消息,回复消息的识别
-- 支持私聊功能,可使用PFC模式的有目的多轮对话(实验性)
+| 模块 | 主要功能 | 特点 |
+|------|---------|------|
+| 💬 聊天系统 | • 思维流/推理聊天
• 关键词主动发言
• 多模型支持
• 动态prompt构建
• 私聊功能(PFC) | 拟人化交互 |
+| 🧠 思维流系统 | • 实时思考生成
• 自动启停机制
• 日程系统联动 | 智能化决策 |
+| 🧠 记忆系统 2.0 | • 优化记忆抽取
• 海马体记忆机制
• 聊天记录概括 | 持久化记忆 |
+| 😊 表情包系统 | • 情绪匹配发送
• GIF支持
• 自动收集与审查 | 丰富表达 |
+| 📅 日程系统 | • 动态日程生成
• 自定义想象力
• 思维流联动 | 智能规划 |
+| 👥 关系系统 2.0 | • 关系管理优化
• 丰富接口支持
• 个性化交互 | 深度社交 |
+| 📊 统计系统 | • 使用数据统计
• LLM调用记录
• 实时控制台显示 | 数据可视 |
+| 🔧 系统功能 | • 优雅关闭机制
• 自动数据保存
• 异常处理完善 | 稳定可靠 |
-### 🧠 思维流系统
-- 思维流能够在回复前后进行思考,生成实时想法
-- 思维流自动启停机制,提升资源利用效率
-- 思维流与日程系统联动,实现动态日程生成
+## 📐 项目架构
-### 🧠 记忆系统 2.0
-- 优化记忆抽取策略和prompt结构
-- 改进海马体记忆提取机制,提升自然度
-- 对聊天记录进行概括存储,在需要时调用
+```mermaid
+graph TD
+ A[MaiCore] --> B[对话系统]
+ A --> C[思维流系统]
+ A --> D[记忆系统]
+ A --> E[情感系统]
+ B --> F[多模型支持]
+ B --> G[动态Prompt]
+ C --> H[实时思考]
+ C --> I[日程联动]
+ D --> J[记忆存储]
+ D --> K[记忆检索]
+ E --> L[表情管理]
+ E --> M[情绪识别]
+```
-### 😊 表情包系统
-- 支持根据发言内容发送对应情绪的表情包
-- 支持识别和处理gif表情包
-- 会自动偷群友的表情包
-- 表情包审查功能
-- 表情包文件完整性自动检查
-- 自动清理缓存图片
-
-### 📅 日程系统
-- 动态更新的日程生成
-- 可自定义想象力程度
-- 与聊天情况交互(思维流模式下)
-
-### 👥 关系系统 2.0
-- 优化关系管理系统,适用于新版本
-- 提供更丰富的关系接口
-- 针对每个用户创建"关系",实现个性化回复
-
-### 📊 统计系统
-- 详细的使用数据统计
-- LLM调用统计
-- 在控制台显示统计信息
-
-### 🔧 系统功能
-- 支持优雅的shutdown机制
-- 自动保存功能,定期保存聊天记录和关系数据
-- 完善的异常处理机制
-- 可自定义时区设置
-- 优化的日志输出格式
-- 配置自动更新功能
## 开发计划TODO:LIST
diff --git a/depends-data/maimai.png b/depends-data/maimai.png
new file mode 100644
index 0000000000000000000000000000000000000000..faccb856b925eba35bec09996f4a89317e422a33
GIT binary patch
literal 465565
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%0D_WPd8TXvGy2vCqR+p{G#+o0S|8dB
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