Windpicker-owo
64b8636e9e
feat(memory-graph): 增强时间解析器,支持周/月/年和组合时间表达
...
- 新增周级别支持: X周前/后(如:2周前、3周后)
- 新增月级别支持: X个月前/后(如:1个月前、3月后)
- 新增年级别支持: X年前/后(如:1年前、2年后)
- 新增组合时间表达: 日期+时间段(如:今天下午、昨天晚上)
- 优化解析顺序,组合表达优先匹配
- 新增测试套件: 44种时间表达式全部通过
- 集成测试无'无法解析时间'警告
Changes:
- src/memory_graph/utils/time_parser.py: 增强 _parse_days_ago, 新增 _parse_combined_time
- tests/memory_graph/test_time_parser_enhanced.py: 完整测试套件(44个测试用例)
- docs/changelogs/time_parser_enhancement.md: 详细的增强说明文档
2025-11-05 18:31:13 +08:00
Windpicker-owo
1884a2029b
docs(memory-graph): 添加 Phase 1 完成总结文档
2025-11-05 16:54:14 +08:00
Windpicker-owo
47af755805
feat(memory-graph): Phase 1 基础架构实现
...
- 定义核心数据模型 (MemoryNode, MemoryEdge, Memory)
- 实现配置管理系统 (MemoryGraphConfig)
- 实现向量存储层 (VectorStore with ChromaDB)
- 实现图存储层 (GraphStore with NetworkX)
- 创建设计文档大纲
- 添加基础测试并验证通过
待完成:
- 持久化管理
- 节点去重逻辑
- 记忆构建器
- 记忆检索器
2025-11-05 16:46:53 +08:00
Windpicker-owo
ca70ae1563
refactor: 将流循环管理器替换为调度器分发器以处理消息
...
- 引入SchedulerDispatcher以通过统一调度器管理消息分发。
- 更新了MessageManager以使用新的调度器,移除了旧的流循环管理功能。
- 增强了 add_message 方法,以便在接收消息时通知调度器。
- 已移除废弃的中断处理方法,将其逻辑整合至调度器中。
- 修改了action_manager,改为等待数据库操作而非使用asyncio.create_task以实现更精细的控制。
- 优化了统一调度器,支持并发任务执行及运行中任务的取消。
- 为重构流程和新架构添加了全面的文档说明。
2025-11-04 23:13:52 +08:00
Windpicker-owo
a6d2aee781
feat(affinity-flow): 通过标签扩展与提及分类增强兴趣匹配
...
- 实施扩展标签描述以实现更精确的语义匹配
- 增加强/弱提及分类,并附带独立的兴趣评分
- 重构机器人兴趣管理器,采用动态嵌入生成与缓存机制
- 通过增强的@提及处理功能优化消息处理
- 更新配置以支持回帖提升机制
- 将亲和力流量聊天重新组织为模块化结构,包含核心、规划器、主动响应和工具子模块
- 移除已弃用的规划器组件并整合功能
- 为napcat适配器插件添加数据库表初始化功能
- 修复元事件处理器中的心跳监控
2025-11-03 22:24:51 +08:00
Windpicker-owo
4e2b598164
feat(cache): 提升内存管理与监控能力
...
- 在CacheManager中添加健康监控系统,并提供详细的内存统计信息
- 使用新的memory_utils模块实现精确的内存估算
- 添加基于大小的缓存条目限制,以防止过大项目
- 通过去重内存计算优化缓存统计
- 在MultiLevelCache中添加过期条目的自动清理功能
- 增强批处理调度器缓存功能,支持LRU驱逐策略和内存追踪
- 更新配置以支持最大项目大小限制
- 添加全面的内存分析文档和工具
重大变更:CacheManager 的默认 TTL 参数现改为 None 而非 3600。数据库兼容层默认禁用缓存,以防止旧版代码过度使用缓存。
2025-11-03 15:18:00 +08:00
Windpicker-owo
d1c3d2196a
refactor(json_parser): 统一 LLM 响应的 JSON 解析逻辑,简化代码并提高解析成功率
2025-11-02 12:18:53 +08:00
Windpicker-owo
1d236caf53
refactor: 迁移PersonInfo和关系查询到优化后的API
...
PersonInfo查询优化 (person_info.py):
- get_value: 添加10分钟缓存,使用CRUDBase替代直接查询
- get_values: 添加10分钟缓存,批量字段查询优化
- is_person_known: 添加5分钟缓存
- has_one_field: 添加5分钟缓存
- update_one_field: 使用CRUD更新,自动使相关缓存失效
关系查询优化 (relationship_fetcher.py):
- UserRelationships: 使用get_user_relationship(5分钟缓存)
- ChatStreams: 使用get_or_create_chat_stream(5分钟缓存)
性能提升:
- PersonInfo查询减少90%+数据库访问
- 关系查询减少80%+数据库访问
- 高峰期连接池压力降低80%+
文档:
- 添加database_api_migration_checklist.md迁移清单
2025-11-01 15:46:27 +08:00
Windpicker-owo
40c73e779b
docs: 添加数据库缓存系统使用指南
...
- 详细说明多级缓存架构(L1/L2)
- 提供@cached装饰器使用示例
- 说明手动缓存管理和缓存失效方法
- 列出已缓存的查询和性能数据
- 包含最佳实践和故障排除指南
2025-11-01 15:40:52 +08:00
Windpicker-owo
58c84f8f72
docs: 添加数据库重构完成总结文档
...
- 记录重构的完整过程和成果
- 测试结果: 26/26 (100%) 通过
- 导入更新: 37个文件, 67处修改
- 6个旧文件已归档到 old/ 目录
- 8次提交完成整个重构工作
- 文档包含后续优化建议和参考资料
2025-11-01 14:31:14 +08:00
Windpicker-owo
aae84ec454
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-01 13:06:16 +08:00
Windpicker-owo
fbe6fb759d
refactor(database): 阶段一 - 创建新架构基础
...
- 创建分层目录结构 (core/api/optimization/config/utils)
- 实现核心层: engine.py, session.py
- 实现配置层: database_config.py
- 实现工具层: exceptions.py
- 迁移连接池管理器到优化层
- 添加详细的重构计划文档
2025-11-01 12:35:39 +08:00
Windpicker-owo
033e1fecb4
feat(scheduler): 添加统一调度器集成支持
...
- 在系统启动和关闭流程中集成统一调度器
- 为事件管理器添加调度器回调注册机制
- 调整兴趣评分系统阈值配置
- 增强系统模块化架构,支持调度器事件通知
2025-10-28 12:41:29 +08:00
明天好像没什么
0381320859
revert(mcp): 移除MCP SSE客户端及工具集成支持
2025-10-25 16:16:23 +08:00
明天好像没什么
91021275c7
revert(mcp): 移除MCP SSE客户端支持
2025-10-25 16:11:22 +08:00
Windpicker-owo
ca14904076
refactor(notice): 移除硬编码的notice作用域判定逻辑
...
- 重构notice系统,作用域完全由additional_config中的is_public_notice字段决定
- 移除_determine_notice_scope方法中的硬编码notice类型检查
- 提供更灵活和可控的notice管理方式,支持显式配置公共notice
- 更新相关文档说明新的使用方式
BREAKING CHANGE: 之前依赖特定notice类型自动成为公共notice的插件需要显式设置is_public_notice=true
2025-10-19 23:34:38 +08:00
Windpicker-owo
f22e6365cc
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-10-17 20:16:15 +08:00
minecraft1024a
3040000531
refactor: 将项目名称从 MaiBot 重命名为 MoFox-Bot
...
本次更新在整个代码库范围内将项目名称 "MaiBot" 及其相关变体(如 "maibot")统一重命名为 "MoFox-Bot"。
主要变更包括:
- 修改配置文件、模板和日志输出中的项目名称。
- 更新文档、注释和用户可见的字符串,以反映新的品牌名称。
- 调整插件元数据和描述。
2025-10-11 20:46:00 +08:00
Windpicker-owo
a5fe062577
afc文档
2025-10-06 10:34:22 +08:00
subiz
43fe6046b4
没想到吧,我还是没测试()
...
feat(mcp): 集成MCP SSE协议支持并扩展工具调用能力
新增MCP客户端类型(mcp_ssd),支持通过Model Context Protocol连接外部工具服务器。
更新文档和配置模板,提供完整的MCP接入指南;主程序启动时自动初始化MCP工具提供器,
tool_api 与 tool_use 核心链路新增对MCP工具的检测与调用,实现与既有插件工具的无缝兼容。
同步更新配置模型、模板与帮助文档。
2025-10-05 19:24:57 +08:00
subiz
3b7034f63e
我没测试,炸了就让一闪修,实在不行就revert()
...
feat(deps): 集成 MCP SSE 支持
引入 mcp>=0.9.0 与 sse-starlette>=2.2.1,完成 MCP SSE 协议客户端接入,
并在模块初始化中按需加载对应客户端。标记 TODO 清单中相关功能为已实现。
2025-10-05 17:42:26 +08:00
Windpicker-owo
b697af4d3a
更新event doc
2025-09-15 11:50:34 +08:00
minecraft1024a
9cf6cc4910
docs:新增了一份部署指南但是暂时不完整,等我们的文档仓库生出来再说
2025-08-28 21:03:52 +08:00
minecraft1024a
78e78e71ba
docs: 更新模型配置指南
...
- 新增 `gemini` 客户端类型
- 更新 Google API 的 `base_url`
- 移除 `extra_params` 对 `gemini` 客户端的无效说明
- 新增 `anti_truncation` 参数说明
- 增加多个新的模型任务配置示例
- 将文档中的 `MaiBot` 统一为 `MoFox_Bot
2025-08-28 20:47:49 +08:00
minecraft1024a
add68fcf58
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-08-28 20:41:44 +08:00
minecraft1024a
77bad4891d
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-08-28 20:21:53 +08:00
minecraft1024a
eb1feeeb0b
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-08-28 20:10:32 +08:00
minecraft1024a
5153d8f60f
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-28 17:59:46 +08:00
minecraft1024a
41e862281d
替换名字
2025-08-28 17:58:08 +08:00
雅诺狐
1d48478e79
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-08-27 22:21:03 +08:00
minecraft1024a
4ced72010b
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-08-27 19:18:28 +08:00
minecraft1024a
af17290595
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-08-27 18:45:59 +08:00
雅诺狐
0e815779b7
Merge branch 'master' of https://github.com/MaiBot-Plus/MaiMbot-Pro-Max
2025-08-26 14:20:32 +08:00
雅诺狐
4a44ba9866
全面更换orjson
2025-08-26 14:20:26 +08:00
ikun两年半
83ff158dd8
更改了文档中机器人的名字喵~
2025-08-25 23:30:43 +08:00
ikun两年半
a55bdfd0e3
笨蛋猫猫又有几个地方没改喵……
2025-08-25 23:27:57 +08:00
ikun两年半
8ae4ce3e1b
笨蛋猫猫又有几个地方忘记改了喵……
2025-08-25 23:23:25 +08:00
ikun两年半
07b03970b5
更改了文档中机器人的名字喵
2025-08-25 23:21:21 +08:00
ikun两年半
1b129b6bd7
更改了文档中机器人的名字喵~
2025-08-25 23:14:39 +08:00
ikun两年半
2512983f77
更改了文档中机器人的名字喵~
2025-08-25 23:13:29 +08:00
ikun两年半
68191ba090
笨蛋猫猫又有一点忘改了喵……
2025-08-25 23:10:43 +08:00
ikun两年半
c00b087a7f
更改了文档中机器人的名字喵~
2025-08-25 23:10:01 +08:00
ikun两年半
9a91bba6f3
更新了文档中机器人的名字喵~
2025-08-25 23:07:41 +08:00
ikun两年半
52bfa6b731
更新了文档中机器人的名字喵~
2025-08-25 23:06:40 +08:00
ikun两年半
619f263f28
更改了文档中机器人的名字喵~
2025-08-25 23:05:18 +08:00
ikun两年半
48215173bb
更改了文档中机器人的名字喵~
2025-08-25 23:02:56 +08:00
ikun两年半
55a4076e23
笨蛋猫娘发现顶上忘改了喵……
2025-08-25 23:01:09 +08:00
ikun两年半
b031b9a06b
更新了文档中机器人的名字喵~
2025-08-25 23:00:15 +08:00
ikun两年半
7ad600220b
小改了一下文档喵~
2025-08-25 21:04:39 +08:00
ikun两年半
f89af443fb
更新了贡献文档喵~
...
✋ 😭 🤚 ✋ 😭 🤚 ✋ 😭 🤚
2025-08-25 19:30:50 +08:00