4.8 KiB
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:插件管理器 prompt_component_manager.py:Prompt组件管理器 tool_manager:工具相关管理 init.py:导出 tool_histoty.py:工具调用历史记录 tool_use.py:实际工具调用器 types.py:组件类型 registry.py:组件注册管理 state_manager.py:组件状态管理 prompt:提示词管理系统 init.py:导出 prompt.py:Prompt基类 manager.py:全局prompt管理器 params.py:Prompt参数系统 perception:感知学习系统 init.py:导出 memory:常规记忆 ... knowledge:知识库 ... meme:黑话库 ... express:表达学习 ... transport:通讯传输系统 init.py:导出 message_receive:消息接收 ... message_send:消息发送 ... router:api路由 ... sink:针对适配器的core sink和ws接收器 ... models:基本模型 init.py:导出