From 962a50217d9eba7d2148d336eb8dd5291e1a674b Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Sun, 14 Dec 2025 22:34:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(message=5Fmanager):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=96=B9=E6=B3=95=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E9=97=AE=E9=A2=98=20fix(message=5Frepository?= =?UTF-8?q?):=20=E5=B0=86=E8=AD=A6=E5=91=8A=E6=97=A5=E5=BF=97=E7=BA=A7?= =?UTF-8?q?=E5=88=AB=E6=9B=B4=E6=94=B9=E4=B8=BA=E8=B0=83=E8=AF=95=20docs:?= =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0=20MoFox=20Core=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E6=9E=B6=E6=9E=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MoFox 重构指导总览.md | 104 ++++++++++++++++++++ src/chat/message_manager/message_manager.py | 2 +- src/common/message_repository.py | 2 +- 3 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 MoFox 重构指导总览.md diff --git a/MoFox 重构指导总览.md b/MoFox 重构指导总览.md new file mode 100644 index 000000000..10349f5db --- /dev/null +++ b/MoFox 重构指导总览.md @@ -0,0 +1,104 @@ +# MoFox Core 重构架构文档 + +MoFox src目录将被严格分为三个层级: + +kernel - 内核/基础能力 层 - 提供“与具体业务无关的技术能力” +core - 核心层/领域/心智 层 - 用 kernel 的能力实现记忆、对话、行为等核心功能,不关心插件或具体平台 +app - 应用/装配/插件 层 - 把 kernel 和 core 组装成可运行的 Bot 系统,对外提供高级 API 和插件扩展点 + +## kernel层: +包含以下模块: +db:底层数据库接口 + __init__.py:导出 + core:数据库核心 + __init__.py:导出 + dialect_adapter.py:数据库方言适配器 + engine.py:数据库引擎管理 + session.py:数据库会话管理 + exceptions.py:数据库异常定义 + optimization:数据库优化 + __init__.py:导出 + backends:缓存后端实现 + cache_backend.py:缓存后端抽象基类 + local_cache.py:本地缓存后端 + redis_cache.py:Redis缓存后端 + cache_manager.py:多级缓存管理器 + api:操作接口 + crud.py:统一的crud操作 + query.py:高级查询API +vector_db:底层向量存储接口 + __init__.py:导出+工厂函数,初始化并返回向量数据库服务实例。 + base.py:向量数据库的抽象基类 (ABC),定义了所有向量数据库实现必须遵循的接口 + chromadb_impl.py:chromadb的具体实现,遵循 VectorDBBase 接口 +config:底层配置文件系统 + __init__.py:导出 + config_base.py:配置项基类 + config.py:配置的读取、修改、更新等 +llm:底层llm网络请求系统 + __init__.py:导出 + utils.py:基本工具,如图片压缩,格式转换 + llm_request.py:与大语言模型(LLM)交互的所有核心逻辑 + exceptions.py:llm请求异常类 + client_registry.py:client注册管理 + model_client:client集合 + base_client.py:client基类 + aiohttp_gemini_clinet.py:基于aiohttp实现的gemini client + bedrock_client.py:aws client + openai_client.py:openai client + payload:标准负载构建 + message.py:标准消息构建 + resp_format.py:标准响应解析 + tool_option.py:标准工具负载构建 + standard_prompt.py:标准prompt(system等) +logger:日志系统 + __init__.py:导出 + core.py:日志系统主入口 + cleanup.py:日志清理/压缩相关 + metadata.py:日志元数据相关 + renderers.py:日志格式化器 + config.py:配置相关的辅助操作 + handlers.py:日志处理器(console handler、file handler等) +concurrency:底层异步管理 + __init__.py:导出 + task_manager.py:统一异步任务管理器 + watchdog.py:全局看门狗 +storage:本地持久化数据管理 + __init__.py:导出 + json_store.py:统一的json本地持久化操作器 + +## core层: +包含以下模块: +components:基本插件组件管理 + __init__.py:导出 + base:组件基类 + __init__.py:导出 + action.py + adapter.py + chatter.py + command.py + event_handler.py + router.py + service.py + plugin.py + prompt.py + tool.py + managers:组件应用管理,实际能力调用 + __init__.py:导出 + action_manager.py:动作管理器 + adapter_manager.py:适配器管理 + chatter_manager.py:聊天器管理 + event_manager.py:事件管理器 + service_manager.py:服务管理器 + mcp_manager:MCP相关管理 + __init__.py:导出 + mcp_client_manager.py:MCP客户端管理器 + mcp_tool_manager.py:MCP工具管理器 + permission_manager.py:权限管理器 + plugin_manager.py:插件管理器 + tool_manager:工具相关管理 + tool_histoty.py:工具调用历史记录 + tool_use.py:实际工具调用器 + types.py:组件类型 + registry.py:组件注册管理 + state_manager.py:组件状态管理 + diff --git a/src/chat/message_manager/message_manager.py b/src/chat/message_manager/message_manager.py index 252fed382..094ef9f3d 100644 --- a/src/chat/message_manager/message_manager.py +++ b/src/chat/message_manager/message_manager.py @@ -30,7 +30,7 @@ logger = get_logger("message_manager") class MessageManager: """消息管理器""" - def __init__(self, check_interval: float = 5.0): + def __init__(self, check_interval: float = 5.0): self.check_interval = check_interval # 检查间隔(秒) self.is_running = False self.manager_task: asyncio.Task | None = None diff --git a/src/common/message_repository.py b/src/common/message_repository.py index 7ab2d08dc..ffcc63f47 100644 --- a/src/common/message_repository.py +++ b/src/common/message_repository.py @@ -111,7 +111,7 @@ async def find_messages( # 统一做上限保护,防止无限制查询导致内存暴涨 if limit <= 0: capped_limit = SAFE_FETCH_LIMIT - logger.warning( + logger.debug( f"find_messages 未指定 limit,自动限制为 {capped_limit} 行以避免内存占用过高", ) else: