雅诺狐
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
雅诺狐
9189010c56
修复权限系统
2025-08-27 20:15:01 +08:00
tt-P607
ff1007049d
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-27 20:00:18 +08:00
tt-P607
00dc0ce5a8
refactor: rename project from MaiMbot-Pro-Max to MoFox_Bot
...
This commit renames the project from "MaiMbot-Pro-Max" to "MoFox_Bot" across the entire codebase. The change reflects the new project identity and ownership under the MoFox-Studio organization.
Key changes include updating:
- EULA and README documentation
- Project URLs and repository links
- Startup messages and display names
- Plugin manifest metadata
2025-08-27 19:59:10 +08:00
minecraft1024a
826147e0b2
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-27 19:46:10 +08:00
minecraft1024a
d06cfe3a36
refactor(schedule): 重构日程与月度计划管理模块
...
将 `schedule_manager` 和 `monthly_plan_manager` 从 `src/manager` 移动到 `src/schedule` 目录,以更好地组织与日程和计划相关的功能。
主要变更:
- 将 `schedule_manager` 和 `monthly_plan_manager` 移动到新的 `src/schedule` 目录。
- 更新了所有对这两个模块的导入路径,以反映新的文件位置。
- 删除了旧的 `src/manager` 目录下的模块文件。
- `monthly_plan_manager` 内部实现被重构,取代了原有的 `plan_generator.py`,简化了计划生成逻辑。
2025-08-27 19:46:01 +08:00
tt-P607
44527c50a7
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-27 19:35:37 +08:00
tt-P607
68e1e1e046
chore(chat): 增加临时表情缓存上限
2025-08-27 19:34:26 +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
27dfc32fdf
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-27 18:46:37 +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
Furina-1013-create
b4e83c448b
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-27 18:28:41 +08:00
tt-P607
0a277c656e
fix(chat): 处理截断消息时message为None的情况
...
在 `truncate_message` 函数中,如果传入的 `message` 参数为 `None`,会导致 `len(message)` 抛出 `TypeError`。本次提交增加了对 `None` 值的检查,确保在处理 `None` 时函数能正常返回空字符串,从而提高代码的健壮性。
2025-08-27 18:21:35 +08:00
minecraft1024a
1fd1c76a84
ruff这一块
2025-08-27 18:03:07 +08:00
minecraft1024a
be114223b4
fix(memory_system): 修复即时记忆的 orjson 编码与解码问题
...
`orjson.dumps` 返回 `bytes` 类型,在存入数据库前需要解码为 `str`。
同时,将关键词的反序列化库从标准 `json` 统一为 `orjson`,以保持序列化和反序列化操作的一致性。
2025-08-27 18:01:12 +08:00
minecraft1024a
5076410a00
Reapply "【迁移】工具系统再完善:工具缓存、ttl支持、自动记录、长期保存、自动清理缓存、将记录与执行分离、api记录查询、时间聊天工具筛选查询..."
...
This reverts commit 3d93bc4079 .
2025-08-27 17:58:18 +08:00
Windpicker-owo
c360f016dd
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-27 17:39:32 +08:00
Windpicker-owo
bbbb9df112
修复空回复检测,同时修复tool_call
2025-08-27 17:39:28 +08:00
Furina-1013-create
9fca087b2c
feat(plugin_system): 增加工具执行日志记录
...
feat(plugin_system): 增加工具执行日志记录
在工具执行前添加一行日志,用于记录正在调用的工具名称和参数,方便调试和追踪。
2025-08-27 17:10:56 +08:00
Windpicker-owo
6c885afe9d
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-27 12:46:38 +08:00
Windpicker-owo
3d93bc4079
Revert "【迁移】工具系统再完善:工具缓存、ttl支持、自动记录、长期保存、自动清理缓存、将记录与执行分离、api记录查询、时间聊天工具筛选查询..."
...
This reverts commit 80ab0c687c .
2025-08-27 12:46:00 +08:00
雅诺狐
dec88bf20d
Update instant_memory.py
2025-08-27 12:09:14 +08:00
Windpicker-owo
80ab0c687c
【迁移】工具系统再完善:工具缓存、ttl支持、自动记录、长期保存、自动清理缓存、将记录与执行分离、api记录查询、时间聊天工具筛选查询...
2025-08-27 11:04:20 +08:00
Furina-1013-create
434c174dcc
chore(deps): 导入 json 模块
2025-08-27 10:00:52 +08:00
minecraft1024a
51cb1688f8
chore(llm_models): 在 LLMRequest 初始化中定义 model_name 变量,來修复某些神秘的bug
2025-08-26 21:54:20 +08:00
minecraft1024a
531232b8ea
refactor(config): 移除主动思考提示词模板以简化配置
...
主动思考的提示词 (`proactive_thinking_prompt_template`) 已从配置文件中移除。此举旨在简化用户的配置过程,现在该提示词将由内部动态管理,以确保更佳的适应性和效果。
此外,为支持未来的功能扩展,本次更新在日志系统中为多个新模块(如计划生成器、权限管理、网页搜索插件、反注入系统等)添加了颜色和别名配置,提高了日志输出的可读性。
BREAKING CHANGE: 配置项 `proactive_thinking_prompt_template` 已被废弃并移除。请从您的配置文件中删除此项,主动思考功能将自动使用新的内部提示词逻辑。
2025-08-26 21:38:23 +08:00
minecraft1024a
5f3329e7c9
refactor(llm_models): 移除官方Gemini客户端并改用aiohttp实现
...
官方的 `google-generativeai` 库存在一些问题且似乎已不再积极维护,导致依赖关系和稳定性方面存在风险。
为提高稳定性和可维护性,现已移除基于该官方库的 `gemini_client.py` 实现。相应地,在配置文件模板中,`client_type` 已从 "gemini" 更新为 "aiohttp_gemini",以引导用户使用新的、基于 `aiohttp` 的异步客户端。
2025-08-26 21:14:07 +08:00
minecraft1024a
2db42292d2
refactor(config): 整合搜索服务配置并移除废弃选项
...
将原先独立的 Exa 和 Tavily 搜索引擎配置项合并到 `web_search` 配置块中,以实现更统一的管理。同时,移除了已废弃的 `Telemetry` 和部分 `Experimental` 功能配置,简化了整体配置文件结构。
主要变更:
- `ExaConfig` 和 `TavilyConfig` 被移除,其 API 密钥设置已迁移至 `WebSearchConfig`。
- 删除了 `TelemetryConfig` 及其在主配置中的引用。
- 简化了 `planner` 的自定义提示词逻辑,现在仅通过内容是否为空来判断是否启用。
- 更新了配置文件模板,以反映上述结构调整并移除过时的注释和配置项。
2025-08-26 21:10:06 +08:00
minecraft1024a
d64cfc651f
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-26 20:45:11 +08:00
minecraft1024a
c63de5ddd5
refactor(config): 将反截断设置移至模型配置 #真的能算refactor吗
...
反截断(anti-truncation)功能与特定模型的行为和能力更为相关,而不是任务本身的属性。
此更改将该设置从 `TaskConfig` 移动到 `ModelInfo`,以实现更合理的配置分组和更精细的控制。代码逻辑和配置文件模板也已相应更新。
BREAKING CHANGE: `anti_truncation` 配置项已从 `[model_task_config]` 部分移动到 `[[models]]` 下的具体模型配置中。用户需要更新其配置文件以适配新结构。
2025-08-26 20:45:04 +08:00
Windpicker-owo
6bf312e043
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-26 20:21:28 +08:00
minecraft1024a
1e037e5ce9
feat(maizone): 新增QQ空间互通组功能,根据聊天上下文生成说说
...
引入了全新的“QQ空间互通组”功能。用户可以配置多个群聊为一个互通组。
在通过指令发布说说时,系统会自动获取这些群聊的近期聊天记录作为上下文,从而生成与当前讨论话题更相关的说说内容。
- 在 `config.toml` 中新增了 `[maizone_intercom]` 配置项用于定义互通组。
- 重构并增强了动态(说说)的拉取逻辑,提高了对不同数据格式的兼容性和解析的稳定性。
- 对项目中的多个文件进行了代码清理,移除了未使用的导入,使代码更加整洁。
2025-08-26 20:20:54 +08:00
Windpicker-owo
38fba02e36
修复双引号问题
2025-08-26 20:20:25 +08:00
minecraft1024a
cbd115efdb
feat(monthly_plan): 增强月度计划系统,引入状态管理和智能抽取
...
对月度计划系统进行了全面的重构和功能增强,以提供更智能、更可持续的计划管理体验。
主要变更包括:
- **引入状态生命周期**: 废弃了原有的 `is_deleted` 软删除标记,引入了更明确的 `status` 字段 (`active`, `completed`, `archived`),用于管理计划的整个生命周期。
- **增加使用统计与自动完成**: 新增 `usage_count` 和 `last_used_date` 字段来跟踪计划的使用情况。当计划使用次数达到可配置的阈值后,会自动标记为 `completed`。
- **实现智能计划抽取**: 为每日日程生成实现了新的智能抽取算法。该算法会优先选择使用次数较少且近期未被使用的计划,以增加计划的多样性并避免重复。
- **更新配置选项**: 移除了旧的概率删除相关配置,增加了 `completion_threshold`、`avoid_repetition_days` 等新选项以支持新逻辑。
- **数据库模型更新**: 更新了 `MonthlyPlan` 的数据库模型和索引,以支持新功能并优化查询性能。保留 `is_deleted` 字段以兼容旧数据。
2025-08-26 19:19:53 +08:00
雅诺狐
a31df44e09
Update README.md
2025-08-26 15:13:10 +08:00
雅诺狐
ec9601710d
Update README.md
2025-08-26 15:10:22 +08:00
雅诺狐
d85436d670
精简readme
2025-08-26 14:52:51 +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两年半
a265926ac4
更新了文档中机器人的名字喵~
2025-08-26 12:26:25 +08:00
ikun两年半
8e6cb5b00b
更改了文档中机器人的名字喵~
2025-08-26 12:24:58 +08:00
ikun两年半
8b8a657096
更改了文档中机器人的名字喵~
2025-08-26 12:23:00 +08:00
ikun两年半
d870e0a24b
更改了文档中机器人的名字喵~
2025-08-26 12:21:50 +08:00
tt-P607
1ca365168a
fix(maizone_refactored): 修复获取cookie时响应为空导致的错误
2025-08-26 12:11:08 +08:00
tt-P607
e5d6b6979b
fix(chat): 修复关键词非列表形式时导致的解析错误
...
在处理记忆关键词时,旧代码使用 `ast.literal_eval` 来解析存储为字符串的关键词列表。当关键词字段为空或格式不正确时,这会引发 `ValueError` 或 `SyntaxError`。
本次修改将解析方式更换为 `json.loads`,并增加了 `try-except` 块来处理可能的 `json.JSONDecodeError`。同时,在添加记忆时,使用 `json.dumps` 来确保关键词列表被正确地序列化为 JSON 字符串,从而保证了数据存储和读取的健壮性和一致性。
2025-08-26 12:07:30 +08:00
tt-P607
9cea223c13
Merge branch 'master' of https://github.com/MaiBot-Plus/MaiMbot-Pro-Max
2025-08-26 12:03:07 +08:00
tt-P607
45ccab6033
fix(llm_models): 修复模型信息不存在时引发的属性错误
...
在处理模型信息 `model_info` 为 `None` 的情况下,直接访问 `model_info.name` 会导致 `AttributeError`。
此提交通过以下方式修复了该问题:
- 在 `_select_model` 调用后立即将 `model_info.name` 赋值给 `model_name` 变量,确保后续使用时该变量已定义。
- 在 `_handle_error` 方法中,当 `model_info` 可能为 `None` 时,增加了一个条件检查,如果 `model_info` 不存在,则将 `model_name` 设为 "unknown",从而避免了潜在的 `AttributeError`。
2025-08-26 12:01:39 +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