64bdd0df12a2c184e4c5f98ee09c11e0850b7836
Stage 4: API层重构
=================
新增文件:
- api/crud.py (430行): CRUDBase泛型类,提供12个CRUD方法
* get, get_by, get_multi, create, update, delete
* count, exists, get_or_create, bulk_create, bulk_update
* 集成缓存: 自动缓存读操作,写操作清除缓存
* 集成批处理: 可选use_batch参数透明使用AdaptiveBatchScheduler
- api/query.py (461行): 高级查询构建器
* QueryBuilder: 链式调用,MongoDB风格操作符
- 操作符: __gt, __lt, __gte, __lte, __ne, __in, __nin, __like, __isnull
- 方法: filter, filter_or, order_by, limit, offset, no_cache
- 执行: all, first, count, exists, paginate
* AggregateQuery: 聚合查询
- sum, avg, max, min, group_by_count
- api/specialized.py (461行): 业务特定API
* ActionRecords: store_action_info, get_recent_actions
* Messages: get_chat_history, get_message_count, save_message
* PersonInfo: get_or_create_person, update_person_affinity
* ChatStreams: get_or_create_chat_stream, get_active_streams
* LLMUsage: record_llm_usage, get_usage_statistics
* UserRelationships: get_user_relationship, update_relationship_affinity
- 更新api/__init__.py: 导出所有API接口
Stage 5: Utils层实现
===================
新增文件:
- utils/decorators.py (320行): 数据库操作装饰器
* @retry: 自动重试失败操作,指数退避
* @timeout: 超时控制
* @cached: 自动缓存函数结果
* @measure_time: 性能测量,慢查询日志
* @transactional: 事务管理,自动提交/回滚
* @db_operation: 组合装饰器
- utils/monitoring.py (330行): 性能监控系统
* DatabaseMonitor: 单例监控器
* OperationMetrics: 操作指标 (次数、时间、错误)
* DatabaseMetrics: 全局指标
- 连接池统计
- 缓存命中率
- 批处理统计
- 预加载统计
* 便捷函数: get_monitor, record_operation, print_stats
- 更新utils/__init__.py: 导出装饰器和监控函数
Stage 6: 兼容层实现
==================
新增目录: compatibility/
- adapter.py (370行): 向后兼容适配器
* 完全兼容旧API签名: db_query, db_save, db_get, store_action_info
* 支持MongoDB风格操作符 (\, \, \)
* 内部使用新架构 (QueryBuilder + CRUDBase)
* 保持返回dict格式不变
* MODEL_MAPPING: 25个模型映射
- __init__.py: 导出兼容API
更新database/__init__.py:
- 导出核心层 (engine, session, models, migration)
- 导出优化层 (cache, preloader, batch_scheduler)
- 导出API层 (CRUD, Query, 业务API)
- 导出Utils层 (装饰器, 监控)
- 导出兼容层 (db_query, db_save等)
核心特性
========
类型安全: Generic[T]提供完整类型推断
缓存透明: 自动缓存,用户无需关心
批处理透明: 可选批处理,自动优化高频写入
链式查询: 流畅的API设计
业务封装: 常用操作封装成便捷函数
向后兼容: 兼容层保证现有代码无缝迁移
性能监控: 完整的指标收集和报告
统计数据
========
- 新增文件: 7个
- 代码行数: ~2050行
- API函数: 14个业务API + 6个装饰器
- 兼容函数: 5个 (db_query, db_save, db_get等)
下一步
======
- 更新28个文件的import语句 (从sqlalchemy_database_api迁移)
- 移动旧文件到old/目录
- 编写Stage 4-6的测试
- 集成测试验证兼容性
🌟 MoFox_Bot
🚀 基于 MaiCore 的增强型 AI 智能体,功能更强大,体验更流畅
📖 项目简介
MoFox_Bot 是一个基于 MaiCore 0.10.0 snapshot.5 的增强型 fork 项目。我们保留了原项目几乎所有核心功能,并在此基础上进行了深度优化与功能扩展,致力于打造一个更稳定、更智能、更具趣味性的 AI 智能体。
[IMPORTANT] 第三方项目声明
本项目由 MoFox Studio 独立维护,为 MaiBot 的第三方分支,并非官方版本。所有更新与支持均由我们团队负责,与 MaiBot 官方无直接关系。
[WARNING] 迁移风险提示
由于我们对数据库结构进行了重构与优化,从官方 MaiBot 直接迁移至 MoFox_Bot 可能导致数据不兼容。请在迁移前务必备份原始数据,以避免信息丢失。
✨ 核心功能
🔧 原版功能(全部保留)
|
🚀 拓展功能
|
🔧 系统要求
💻 基础环境
| 项目 | 要求 |
|---|---|
| 🖥️ 操作系统 | Windows 10/11、macOS 10.14+、Linux (Ubuntu 18.04+) |
| 🐍 Python 版本 | Python 3.10 或更高版本 |
| 💾 内存 | 建议 ≥ 4GB 可用内存 |
| 💿 存储空间 | 建议 ≥ 2GB 可用空间 |
🛠️ 依赖服务
| 服务 | 描述 |
|---|---|
| 🤖 QQ 协议端 | NapCatQQ 或其他兼容协议端 |
| 🗃️ 数据库 | SQLite(默认)或 MySQL(可选) |
| 🔧 管理工具 | Chat2DB(可选,用于数据库可视化管理) |
🏁 快速开始
📦 安装与部署
Note
详细安装与配置指南请参考官方文档:
⚙️ 配置要点
- 📝 核心配置:编辑
config/bot_config.toml,设置 LLM API Key、Bot 名称等基础参数。 - 🤖 协议端配置:确保使用 NapCatQQ 或兼容协议端,建立稳定通信。
- 🗃️ 数据库配置:选择 SQLite(默认)或配置 MySQL 数据库连接。
- 🔌 插件配置:在
config/plugins/目录中启用或配置所需插件。
🙏 致谢
我们衷心感谢以下开源项目为本项目提供的坚实基础:
| 项目 | 描述 | 贡献 |
|---|---|---|
| 🎯 MaiM-with-u/MaiBot | 原版 MaiBot 框架 | 提供核心架构与设计 |
| 🐱 NapNeko/NapCatQQ | 高性能 QQ 协议端 | 实现稳定通信 |
| 🌌 internetsb/Maizone | 魔改空间插件 | 功能借鉴与启发 |
⚠️ 重要提示
Caution
请务必阅读以下内容:
- 本项目使用前,请仔细阅读并同意 用户协议 (EULA.md)。
- 本应用生成的内容由 AI 大模型提供,请谨慎甄别其准确性。
- 请勿将 AI 生成内容用于任何违法、违规或不当用途。
- 所有 AI 输出不代表 MoFox Studio 的立场或观点。
📄 开源协议
本项目基于 GPL-3.0 协议开源。
Copyright © 2025 MoFox Studio
Licensed under the GNU General Public License v3.0
Languages
Python
97.2%
HTML
1.7%
JavaScript
0.9%
CSS
0.2%