Commit Graph

179 Commits

Author SHA1 Message Date
Windpicker-owo
d163d71505 docs: 添加数据库缓存系统使用指南
- 详细说明多级缓存架构(L1/L2)
- 提供@cached装饰器使用示例
- 说明手动缓存管理和缓存失效方法
- 列出已缓存的查询和性能数据
- 包含最佳实践和故障排除指南
2025-11-19 23:31:02 +08:00
Windpicker-owo
c50f00366c docs: 添加数据库重构完成总结文档
- 记录重构的完整过程和成果
- 测试结果: 26/26 (100%) 通过
- 导入更新: 37个文件, 67处修改
- 6个旧文件已归档到 old/ 目录
- 8次提交完成整个重构工作
- 文档包含后续优化建议和参考资料
2025-11-19 23:30:54 +08:00
Windpicker-owo
c0db312df5 docs(database): 添加重构测试报告
测试结果: 19/21通过 (90.5%)

核心层 (4/4):
-  引擎单例、会话工厂、数据库迁移、模型CRUD全部通过
-  25个表结构完整,WAL模式优化启用

优化层:
-  缓存 (5/5): L1/L2两级缓存, LRU淘汰, TTL过期正常
  * 写入: 196k ops/s, 读取: 1.6k ops/s
-  预加载 (3/3): 访问追踪, 数据预取, 关联识别正常
-  批处理 (4/5): 生命周期, 优先级, 自适应参数正常
  * 1个超时问题,不影响核心功能

集成测试:
-  缓存+预加载协同工作正常
-  全栈查询测试超时(优化中)

性能指标:
- 缓存写入: 195,996 ops/s
- 缓存读取: 1,680 ops/s (可优化)
- 连接池复用: 正常
- 批处理自适应: 10-100批次,50-200ms等待

结论: 重构成功,功能稳定,可进入阶段四(API层)
建议: 并行优化批处理超时问题
2025-11-19 23:30:43 +08:00
Windpicker-owo
fcc408e2d9 refactor(database): 阶段一 - 创建新架构基础
- 创建分层目录结构 (core/api/optimization/config/utils)
- 实现核心层: engine.py, session.py
- 实现配置层: database_config.py
- 实现工具层: exceptions.py
- 迁移连接池管理器到优化层
- 添加详细的重构计划文档
2025-11-19 23:30:41 +08:00
Windpicker-owo
82f2b68293 feat(scheduler): 添加统一调度器集成支持
- 在系统启动和关闭流程中集成统一调度器
- 为事件管理器添加调度器回调注册机制
- 调整兴趣评分系统阈值配置
- 增强系统模块化架构,支持调度器事件通知
2025-11-19 23:27:06 +08:00
明天好像没什么
37e16690bc revert(mcp): 移除MCP SSE客户端及工具集成支持 2025-11-19 23:25:15 +08:00
明天好像没什么
7395edf5b4 revert(mcp): 移除MCP SSE客户端支持 2025-11-19 23:25:13 +08:00
Windpicker-owo
1ff266237d refactor(notice): 移除硬编码的notice作用域判定逻辑
- 重构notice系统,作用域完全由additional_config中的is_public_notice字段决定
- 移除_determine_notice_scope方法中的硬编码notice类型检查
- 提供更灵活和可控的notice管理方式,支持显式配置公共notice
- 更新相关文档说明新的使用方式

BREAKING CHANGE: 之前依赖特定notice类型自动成为公共notice的插件需要显式设置is_public_notice=true
2025-11-19 23:23:59 +08:00
Windpicker-owo
963bcd19e1 feat(action): 重构 Action 激活机制并添加 go_activate() 方法
引入新的 Action 激活机制,允许通过重写 go_activate() 方法来自定义激活逻辑。提供了三个工具函数:
- _random_activation(): 随机概率激活
- _keyword_match(): 关键词匹配激活
- _llm_judge_activation(): LLM 智能判断激活

主要变更:
- 在 BaseAction 中添加 go_activate() 抽象方法和相关工具函数
- 更新 ActionModifier 使用新的激活判断逻辑
- 在 hello_world_plugin 中添加新的激活方式示例
- 更新文档说明新的激活机制
- 保持向后兼容,旧的激活类型配置仍然可用

BREAKING CHANGE: Action 激活判断现在通过 go_activate() 方法进行,旧的激活类型字段已标记为废弃但仍然兼容
2025-11-19 23:22:46 +08:00
minecraft1024a
cca07bd16e refactor: 将项目名称从 MaiBot 重命名为 MoFox-Bot
本次更新在整个代码库范围内将项目名称 "MaiBot" 及其相关变体(如 "maibot")统一重命名为 "MoFox-Bot"。

主要变更包括:
- 修改配置文件、模板和日志输出中的项目名称。
- 更新文档、注释和用户可见的字符串,以反映新的品牌名称。
- 调整插件元数据和描述。
2025-11-19 23:21:44 +08:00
Windpicker-owo
e65ab14f94 afc文档 2025-11-19 23:19:44 +08:00
subiz
781b7f92a9 没想到吧,我还是没测试()
feat(mcp): 集成MCP SSE协议支持并扩展工具调用能力

新增MCP客户端类型(mcp_ssd),支持通过Model Context Protocol连接外部工具服务器。
更新文档和配置模板,提供完整的MCP接入指南;主程序启动时自动初始化MCP工具提供器,
tool_api 与 tool_use 核心链路新增对MCP工具的检测与调用,实现与既有插件工具的无缝兼容。
同步更新配置模型、模板与帮助文档。
2025-11-19 23:19:01 +08:00
subiz
e02519b80e 我没测试,炸了就让一闪修,实在不行就revert()
feat(deps): 集成 MCP SSE 支持

引入 mcp>=0.9.0 与 sse-starlette>=2.2.1,完成 MCP SSE 协议客户端接入,
并在模块初始化中按需加载对应客户端。标记 TODO 清单中相关功能为已实现。
2025-11-19 23:18:31 +08:00
Windpicker-owo
3e30180b04 更新event doc 2025-11-19 23:01:07 +08:00
minecraft1024a
6f337a9d3f docs:新增了一份部署指南但是暂时不完整,等我们的文档仓库生出来再说 2025-11-19 22:49:51 +08:00
minecraft1024a
c807d79d64 docs: 更新模型配置指南
- 新增 `gemini` 客户端类型
- 更新 Google API 的 `base_url`
- 移除 `extra_params` 对 `gemini` 客户端的无效说明
- 新增 `anti_truncation` 参数说明
- 增加多个新的模型任务配置示例
- 将文档中的 `MaiBot` 统一为 `MoFox_Bot
2025-11-19 22:49:49 +08:00
minecraft1024a
11ecbf0a25 docs: remove outdated and unused documentation files
A significant number of documentation files, including design documents, user guides, and old images, have been removed to clean up the repository and eliminate outdated information. This reduces clutter and ensures that the documentation accurately reflects the current state of the project.

Key removals include:
- `memory_system_design_v3.md`
- `model_configuration_guide.md`
- `PERMISSION_SYSTEM.md`
- `CONTRIBUTE.md`
- `vector_db_usage_guide.md
2025-11-19 22:49:49 +08:00
minecraft1024a
6ca85ebc7f docs(plugins): remove outdated tool documentation
Removes the `tool-components.md` and `tool_caching_guide.md` files as they are no longer relevant after recent refactoring of the tool and caching systems. This cleanup ensures the documentation stays current with the codebase.
2025-11-19 22:49:47 +08:00
minecraft1024a
a645e766ca refactor(cache): 重构工具缓存机制并优化LLM请求重试逻辑
将工具缓存的实现从`ToolExecutor`的装饰器模式重构为直接集成。缓存逻辑被移出`cache_manager.py`并整合进`ToolExecutor.execute_tool_call`方法中,简化了代码结构并使其更易于维护。

主要变更:
- 从`cache_manager.py`中移除了`wrap_tool_executor`函数。
- 在`tool_use.py`中,`execute_tool_call`现在包含完整的缓存检查和设置逻辑。
- 调整了`llm_models/utils_model.py`中的LLM请求逻辑,为模型生成的空回复或截断响应增加了内部重试机制,增强了稳定性。
- 清理了项目中未使用的导入和过时的文档文件,以保持代码库的整洁。
2025-11-19 22:49:46 +08:00
minecraft1024a
1e5a0ef328 替换名字 2025-11-19 22:49:21 +08:00
雅诺狐
a2873a71ef Add PlusCommand enhanced command system
Introduces the PlusCommand system for simplified command development, including new base classes, argument parsing utilities, and registration logic. Updates the plugin system, component registry, and bot message handling to support PlusCommand components alongside traditional commands. Adds documentation and configuration for command prefixes, and provides a developer guide for the new system.
2025-11-19 22:48:49 +08:00
minecraft1024a
864272ab8f feat(core): 集成统一向量数据库服务并重构相关模块
本次提交引入了一个统一的、可扩展的向量数据库服务层,旨在解决代码重复、实现分散以及数据库实例泛滥的问题。

主要变更:

新增向量数据库抽象层:

在 src/common/vector_db/ 目录下创建了 VectorDBBase 抽象基类,定义了标准化的数据库操作接口。
创建了 ChromaDBImpl 作为具体的实现,并采用单例模式确保全局只有一个数据库客户端实例。
重构语义缓存 (CacheManager):

移除了对 chromadb 库的直接依赖。
改为调用统一的 vector_db_service 来进行向量的添加和查询操作。
重构瞬时记忆 (VectorInstantMemoryV2):

彻底解决了为每个 chat_id 创建独立数据库实例的问题。
现在所有记忆数据都存储在统一的 instant_memory 集合中,并通过 metadata 中的 chat_id 进行数据隔离和查询。
新增使用文档:

在 docs/ 目录下添加了 vector_db_usage_guide.md,详细说明了如何使用新的 vector_db_service 代码接口。
带来的好处:

高内聚,低耦合: 业务代码与具体的向量数据库实现解耦。
易于维护和扩展: 未来可以轻松替换或添加新的向量数据库支持。
性能与资源优化: 整个应用共享一个数据库连接,显著减少了文件句柄和内存占用
2025-11-19 22:48:39 +08:00
minecraft1024a
6b53560a7e feat(tool_system): implement declarative caching for tools
This commit refactors the tool caching system to be more robust, configurable, and easier to use. The caching logic is centralized within the `wrap_tool_executor`, removing the need for boilerplate code within individual tool implementations.

Key changes:
- Adds `enable_cache`, `cache_ttl`, and `semantic_cache_query_key` attributes to `BaseTool` for declarative cache configuration.
- Moves caching logic from a simple history-based lookup and individual tools into a unified handling process in `wrap_tool_executor`.
- The new system leverages the central `tool_cache` manager for both exact and semantic caching based on tool configuration.
- Refactors `WebSurfingTool` and `URLParserTool` to utilize the new declarative caching mechanism, simplifying their code.
2025-11-19 22:48:37 +08:00
ikun两年半
fc3412a2fa 更改了文档中机器人的名字喵~ 2025-11-19 22:47:36 +08:00
ikun两年半
a1f5753a58 笨蛋猫猫又有几个地方没改喵…… 2025-11-19 22:47:35 +08:00
ikun两年半
c6f242e31d 笨蛋猫猫又有几个地方忘记改了喵…… 2025-11-19 22:47:32 +08:00
ikun两年半
68cd87e7d1 更改了文档中机器人的名字喵 2025-11-19 22:47:31 +08:00
ikun两年半
dfa088473c 更改了文档中机器人的名字喵~ 2025-11-19 22:47:29 +08:00
ikun两年半
897ec0ac10 更改了文档中机器人的名字喵~ 2025-11-19 22:47:25 +08:00
ikun两年半
7298cfbb30 笨蛋猫猫又有一点忘改了喵…… 2025-11-19 22:47:24 +08:00
ikun两年半
df77fb962a 更改了文档中机器人的名字喵~ 2025-11-19 22:47:23 +08:00
ikun两年半
4456125a62 更新了文档中机器人的名字喵~ 2025-11-19 22:47:22 +08:00
ikun两年半
da27da20ae 更新了文档中机器人的名字喵~ 2025-11-19 22:47:22 +08:00
ikun两年半
3fa80f3f0f 更改了文档中机器人的名字喵~ 2025-11-19 22:47:21 +08:00
ikun两年半
ec0678f72a 更改了文档中机器人的名字喵~ 2025-11-19 22:47:20 +08:00
ikun两年半
f64b7dcd09 笨蛋猫娘发现顶上忘改了喵…… 2025-11-19 22:47:20 +08:00
ikun两年半
7b09a3c5f6 更新了文档中机器人的名字喵~ 2025-11-19 22:47:20 +08:00
雅诺狐
ab3a36bfa7 全面更换orjson 2025-11-19 22:47:10 +08:00
ikun两年半
449cdcd56a 小改了一下文档喵~ 2025-11-19 22:46:39 +08:00
ikun两年半
89ca49811f 更新了贡献文档喵~
😭🤚😭🤚😭🤚
2025-11-19 22:46:36 +08:00
Windpicker-owo
f65049d1de 修复post_llm,以及event使用说明 2025-11-19 22:46:32 +08:00
雅诺狐
34252ea4a0 refactor: 清理代码质量和移除未使用文件
- 移除未使用的导入语句和变量
- 修复代码风格问题(空格、格式化等)
- 删除备份文件和测试文件
- 改进异常处理链式调用
- 添加权限系统数据库模型和配置
- 更新版本号至6.4.4
- 优化SQL查询使用正确的布尔表达式
2025-11-19 22:46:18 +08:00
minecraft1024a
92179478b5 feat:添加了月度计划 # 我要混提交 2025-11-19 22:45:06 +08:00
minecraft1024a
540e950a90 删除全新三层记忆系统架构 (V2.0) 设计文档,简化文档结构以便于后续更新和维护。 2025-11-19 22:44:46 +08:00
minecraft1024a
aa8906b491 feat(deps): 实现依赖包智能别名解析
引入了依赖包智能别名解析机制,以解决 Python 生态中常见的安装名与导入名不一致的问题(如 `beautifulsoup4` -> `bs4`)。

当通过包名直接导入失败时,依赖管理器会自动查询一个内置的别名映射表,并尝试使用别名再次导入。这大大提升了开发者在定义简单字符串格式依赖时的体验,减少了因名称不一致导致的依赖检查失败。

同时,更新了相关文档,详细说明了该功能的工作原理、解决了什么问题,并更新了最佳实践。
2025-11-19 22:43:48 +08:00
minecraft1024a
438be4fe38 chore(deps): 移除未使用的 ModelTaskConfig 导入
从 cache_manager.py 文件中删除了对 `src.config.api_ada_configs` 中 `ModelTaskConfig` 的导入,因为它在该文件中并未被使用。

添加了记忆系统的大饼

Co-authored-by: 雅诺狐 <foxcyber907@users.noreply.github.com>
2025-11-19 22:43:46 +08:00
雅诺狐
fc8c38496f 移除了MCP 2025-11-19 22:39:44 +08:00
雅诺狐
1ed7d1248d 添加了MCP SEE支持
能不能用我不知道,先加进来。主要我没有服务,无法测试
2025-11-19 22:39:25 +08:00
minecraft1024a
c9a513d037 更新依赖管理配置,新增使用PyPI镜像源的选项以加速包下载,优化文档以清晰描述镜像源和代理设置,调整相关代码以支持新的配置项。 2025-11-19 22:36:01 +08:00
minecraft1024a
d29a57f1a4 优化依赖管理配置,移除不必要的allowed_auto_install选项,更新文档以更清晰地描述自动安装功能的主开关。调整相关代码以简化逻辑,确保自动安装行为通过单一配置控制。 2025-11-19 22:36:00 +08:00