minecraft1024a
|
4a4175c246
|
feat(plugin_system): 实现组件的局部启用与禁用功能
新增了 `/system plugin enable_local` 和 `/system plugin disable_local` 命令,允许管理员在指定的会话(群聊或私聊)中动态地启用或禁用插件组件。
- 通过 stream_id 对组件状态进行局部覆盖,提供了更精细的控制粒度。
- 引入新的 `plugin.manage.local` 权限节点以控制此高级功能。
- 在 API 层面增加了对组件存在性的检查,增强了系统的健壮性。
|
2025-11-22 20:22:46 +08:00 |
|
minecraft1024a
|
7b8660bb69
|
refactor(plugin_system): 统一插件卸载逻辑到注册中心
将 `PluginManager.unload_plugin` 中的卸载逻辑移至 `component_registry`。现在 `PluginManager` 直接调用 `component_registry.unregister_plugin` 来处理所有组件和插件的注销,简化了插件管理器的职责,使卸载过程更加集中和一致。
|
2025-11-22 16:59:41 +08:00 |
|
minecraft1024a
|
94b4123039
|
refactor(plugin_system): 废弃旧版Command系统并重构注册中心
本次提交完全移除了对旧版 `BaseCommand` 系统的支持,统一使用 `PlusCommand`。所有旧版命令现在通过一个兼容性适配器在加载时自动转换为 `PlusCommand`,简化了命令处理流程和代码库。
主要变更:
- **移除旧版命令处理**: 删除了 `ChatBot` 中专门处理旧版 `BaseCommand` 的方法 (`_process_commands_with_new_system`) 和相关逻辑,现在所有命令都通过 `PlusCommand` 的处理流程。
- **重构组件注册中心**: 对 `ComponentRegistry` 进行了大规模重构和清理:
- 添加了大量文档字符串和类型提示,显著提升了代码的可读性和可维护性。
- 废弃了特定于 `BaseCommand` 的注册表和查找方法 (`_command_registry`, `_command_patterns`, `find_command_by_text`)。
- 实现了 `unregister_plugin` 和 `remove_component` 方法,支持插件和组件在运行时的动态卸载。
- 统一并简化了各类组件的注册、查询和状态管理逻辑,使其更加一致和健壮。
BREAKING CHANGE: 废弃了 `BaseCommand` 类。所有自定义命令现在必须继承自 `PlusCommand`。虽然系统提供了向后兼容的适配器,但强烈建议将现有命令迁移到 `PlusCommand` 以获得全部功能和最佳性能。直接依赖旧版 `BaseCommand` 注册和查找机制的代码将无法工作。
|
2025-11-22 12:35:37 +08:00 |
|
minecraft1024a
|
f3ae22d622
|
refactor(plugin_system): 移除对部分组件的局部状态支持
根据新的设计,某些组件类型,如 ROUTER、EVENT_HANDLER 和 PROMPT,不应再支持局部启用/禁用状态。这些组件的状态应该在全局范围内进行管理。
此更改包括:
- 在 `ComponentRegistry` 中引入 `_no_local_state_types` 集合,明确指定不支持局部状态的组件类型。
- 移除 `get_enabled_event_handlers` 和 `get_enabled_prompt_registry` 方法中的 `stream_id` 参数和局部状态检查逻辑,使其只返回全局启用的组件。
这一重构简化了状态管理逻辑,并使组件行为与设计意图保持一致。
|
2025-11-22 11:24:26 +08:00 |
|
minecraft1024a
|
30bf1f68b1
|
refactor(plugin_system): 重构 Prompt 注入逻辑以实现动态化
本次重构的核心目标是将 Prompt 注入规则的处理方式从系统启动时的一次性加载,转变为在每次需要注入时实时、动态地构建。这解决了之前静态加载机制下,运行时启用/禁用 Prompt 组件无法影响其注入行为的问题。
主要变更包括:
- **PromptComponentManager 动态化**:
- 移除了 `load_static_rules` 和 `_initialized` 标志,规则不再在启动时预加载到 `_dynamic_rules` 中。
- `_dynamic_rules` 现在只存储通过 API 动态添加的纯运行时规则。
- 新增 `_build_rules_for_target` 方法,该方法在 `apply_injections` 时被调用,实时从 `component_registry` 获取所有已启用的静态组件规则,并与 `_dynamic_rules` 中的运行时规则合并,确保规则集始终反映当前系统状态。
- **依赖 ComponentRegistry**:
- `PromptComponentManager` 现在直接依赖 `component_registry` 来获取组件的最新启用状态和信息,而不是依赖自己预加载的缓存。
- `get_registered_prompt_component_info`, `get_injection_info`, `get_injection_rules` 等多个 API 方法被修改为 `async`,并重写了内部逻辑,以动态查询和构建信息,确保返回的数据准确反映了当前所有可用组件(包括静态和纯动态)的注入配置。
- **ComponentRegistry 增强**:
- 增加了对 Prompt 组件在禁用时从内部启用的注册表中移除的逻辑。
- 扩展了 `is_component_available` 的逻辑,使其能正确处理不支持局部(stream-specific)状态的组件类型。
|
2025-11-22 11:15:45 +08:00 |
|
minecraft1024a
|
affd70b165
|
refactor(chat): 简化Action和PlusCommand的调用预处理
移除 `ChatBot` 和 `ActionModifier` 中用于过滤禁用组件的模板代码。
这两个模块现在直接从 `ComponentRegistry` 获取为当前聊天会话(`stream_id`)定制的可用组件列表。所有关于组件是否启用的判断逻辑都已下沉到 `plugin_system` 核心中,使得上层调用代码更清晰,且不再需要依赖 `global_announcement_manager` 来进行手动过滤。
|
2025-11-22 09:51:31 +08:00 |
|
minecraft1024a
|
3e927f45bb
|
chore: 更新启动信息中的项目地址
|
2025-11-21 21:28:57 +08:00 |
|
minecraft1024a
|
515d6ee62b
|
refactor(maizone): 移除调度器中的随机主题生成逻辑
移除 `SchedulerService` 中直接调用LLM生成随机说说主题的功能。
现在,当没有日程安排时,调度器会发送一个通用的指令(“随意发挥”),将具体内容的生成职责完全委托给 `QzoneService`。
这一改动简化了调度器的职责,使其专注于任务调度,提高了模块的内聚性。
|
2025-11-21 21:27:13 +08:00 |
|
minecraft1024a
|
695a6b7319
|
feat(plugin_system): 增加对最后一个启用 Chatter 的禁用保护
为了确保每个 stream 至少有一个可用的 Chatter 组件,此更改引入了一项保护机制。
在尝试禁用一个 Chatter 组件时,系统现在会检查它是否是当前 stream 中唯一启用的 Chatter。如果是,则禁用操作将被阻止,以避免导致该 stream 无法响应。
|
2025-11-21 21:21:21 +08:00 |
|
minecraft1024a
|
ca83e7b228
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-11-21 21:05:08 +08:00 |
|
minecraft1024a
|
a0618fb3c4
|
feat(plugin_system): 引入组件局部状态管理并重构插件API
引入了基于 `stream_id` 的组件局部状态管理机制。这允许在不修改全局配置的情况下,为特定会话临时启用或禁用组件,提供了更高的灵活性。
全面重构了 `plugin_manage_api`,提供了更强大和稳定的插件管理功能:
- 新增 `reload_all_plugins` 和 `get_system_report` API,方便进行批量重载和系统状态诊断。
- 增强了组件卸载逻辑,确保在插件移除时能更彻底地清理资源,特别是对 `EventHandler` 的订阅。
- 重写了内置的 `/system plugin` 命令,以利用新的API,并为相关操作添加了权限控制。
组件注册中心(ComponentRegistry)中的多个 `get_enabled_*` 方法现在可以接受 `stream_id`,以正确反映局部状态。
BREAKING CHANGE: `plugin_manage_api` 中的多个函数已被移除或替换。例如 `list_loaded_plugins` 和 `remove_plugin` 已被移除,加载插件的逻辑已整合到 `register_plugin_from_file` 中。内置的 `/system plugin` 命令的子命令也已更改。
|
2025-11-21 21:05:02 +08:00 |
|
yishan
|
01d26ca018
|
Merge pull request #2 from LuisKlee/patch-2
移除技术群群号
|
2025-11-21 19:04:43 +08:00 |
|
yishan
|
2666eb405b
|
Merge branch 'dev' into patch-2
|
2025-11-21 19:03:06 +08:00 |
|
Windpicker-owo
|
ccfe17c986
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-11-20 22:51:15 +08:00 |
|
Windpicker-owo
|
ff1321e017
|
refactor(tool_executor): 移除串行执行模式,优化工具执行性能
|
2025-11-20 22:50:52 +08:00 |
|
Windpicker-owo
|
ddc68b9257
|
feat(similarity): 添加异步和批量相似度计算功能,优化性能
feat(graph_store): 增强图存储管理,添加边的注册和注销功能
feat(memory_tools): 支持批量生成嵌入向量
feat(unified_manager): 优化感知记忆和短期记忆的检索逻辑
|
2025-11-20 22:40:53 +08:00 |
|
LuiKlee
|
52ccbfd395
|
Merge pull request #3 from LuisKlee/patch-3
是的,这是关于一键部署的文档
|
2025-11-20 22:33:59 +08:00 |
|
Windpicker-owo
|
8dc754e562
|
fix(config): 更新 MMC_VERSION 至 0.13.0-alpha.2
|
2025-11-20 18:40:07 +08:00 |
|
Windpicker-owo
|
bd4e36b1cf
|
feat(replyer): 添加最近消息支持以构建记忆块和查询文本
|
2025-11-20 18:06:23 +08:00 |
|
Windpicker-owo
|
e46a900f10
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-11-20 16:48:50 +08:00 |
|
Windpicker-owo
|
6ecf5a36f2
|
增强聊天管理器和数据库API,添加自动注册和异步清理功能,优化模型转换为字典的逻辑
|
2025-11-20 16:48:18 +08:00 |
|
tt-P607
|
bf4f9bf353
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-11-20 14:39:40 +08:00 |
|
tt-P607
|
5a93867417
|
fix(config): 临时修复 master_users 加载失败问题
问题描述:
由于未明原因,配置文件(bot_config.toml)中的 `permission.master_users` 字段在加载过程中被意外清空,导致权限系统无法正确识别 Master 用户。初步排查指向复杂的配置版本自动更新与迁移逻辑。
解决方案:
在 `config.py` 的 `load_config` 函数中,于 Pydantic 模型验证完成后,增加了一段临时修复代码。该代码会从 `tomlkit` 解析出的原始配置数据中,重新读取 `master_users` 的值,并将其强制赋给最终的 `config` 对象。
具体实现:
1. 使用 `config_data.unwrap()` 将 `tomlkit` 对象安全地转换为标准 Python 字典。
2. 从字典中提取 `permission.master_users` 的值。
3. 将提取到的值直接赋给 `config.permission.master_users`。
4. 添加了详细的日志,以便追踪此修复操作的执行情况。
影响:
- **正面**:立即恢复了 Master 用户的识别功能,解决了权限检查失效的核心问题。
- **注意**:这是一个临时性的解决方案(workaround),并未从根本上解决配置更新逻辑中可能存在的缺陷。后续仍需对该逻辑进行深入排查和重构。
|
2025-11-20 14:39:27 +08:00 |
|
LuiKlee
|
fe0dcbc369
|
是的,这是关于一键部署的文档
一键部署看这里~
|
2025-11-20 12:29:07 +08:00 |
|
Windpicker-owo
|
03c80a08fb
|
优化缓存条目大小估算,添加向量存储标记,清理待处理消息逻辑
|
2025-11-20 12:17:43 +08:00 |
|
Windpicker-owo
|
6f69df9225
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-11-20 11:45:36 +08:00 |
|
LuiKlee
|
a462cc1d22
|
移除技术群群号
Removed link to the technical department QQ group.
|
2025-11-20 09:49:10 +08:00 |
|
拾风
|
0da349e73b
|
Merge pull request #1 from LuisKlee/patch-1
移除技术部群号
|
2025-11-20 09:47:41 +08:00 |
|
LuiKlee
|
c73bebee19
|
移除技术部群号
|
2025-11-20 09:43:48 +08:00 |
|
tt-P607
|
5374c26732
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-11-20 00:59:34 +08:00 |
|
Windpicker-owo
|
e398e297be
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-11-20 00:13:27 +08:00 |
|
LuiKlee
|
e7064f8baa
|
修改配置要求
实际测试时,完整部署需要至少需要3.2G的可用空间
|
2025-11-19 23:58:52 +08:00 |
|
LuiKlee
|
37fa234ac1
|
Add initial documentation for OneKey-Plus
准备放关于一键包的文档
|
2025-11-19 23:58:52 +08:00 |
|
Furina-1013-create
|
937f6a81ec
|
与MaiBot开发团队交流了一下并进一步改了Readme,增加了几处强调是Fork项目的说明
>> 补要拷打我当时真的不是我把之前的都init的😭😭😭
|
2025-11-19 23:58:52 +08:00 |
|
Furina-1013-create
|
5bef909a2e
|
与MaiBot开发团队交流了一下并进一步改了Readme,增加了几处强调是Fork项目的说明
补要拷打我当时真的不是我把之前的都init的😭😭😭
|
2025-11-19 23:58:52 +08:00 |
|
tt-P607
|
fa59ad7ce9
|
feat(config): 为清晰起见添加 use_anti_truncation 别名
在 `ModelInfo` Pydantic 模型的 `anti_truncation` 字段中添加了别名 `use_anti_truncation`。
此更改提高了配置文件的可读性和明确性,使其更清楚地表明这是一个用于启用该功能的布尔标志,同时不改变内部属性名称。
|
2025-11-19 23:58:52 +08:00 |
|
Furina-1013-create
|
0739a1a06e
|
(你知道吗?阿范其实并不喜欢喜欢被切成臊子😡, 10)
|
2025-11-19 23:58:52 +08:00 |
|
tt-P607
|
75c0cb8d0e
|
feat(prompt): 指示模型使用更自然的用户昵称
在核心聊天提示中添加了一条新规则,以改善对用户的称呼方式。
这条规则指示模型避免直接重复复杂或含有符号的用户名。相反,它鼓励使用更自然的昵称或缩写,使对话感觉更像人与人之间的交流。
|
2025-11-19 23:58:52 +08:00 |
|
Windpicker-owo
|
4c30388f18
|
feat: 强制注册长期记忆目标ID,支持中文描述作为ID映射
|
2025-11-19 23:58:51 +08:00 |
|
Windpicker-owo
|
ff3d2f5ef3
|
feat: 更新长期记忆管理器文档,添加ID引用规则和临时ID使用说明
|
2025-11-19 23:58:51 +08:00 |
|
Windpicker-owo
|
47a062a738
|
feat: 移除记忆图系统插件,优化记忆管理器的初始化和数据目录配置
|
2025-11-19 23:58:51 +08:00 |
|
Windpicker-owo
|
d9caee13ab
|
feat: 更新模型配置,替换短期记忆构建和决策模型,调整长期记忆构建模型
|
2025-11-19 23:58:51 +08:00 |
|
Windpicker-owo
|
e70779347a
|
feat: 重构记忆系统配置,移除三层记忆相关配置,优化全局记忆管理逻辑,支持批量生成文本向量
|
2025-11-19 23:58:51 +08:00 |
|
Windpicker-owo
|
8f7b695b74
|
feat: 优化长期记忆转移间隔和最大延迟,增强短期记忆清理逻辑,改进三级记忆系统属性处理
|
2025-11-19 23:58:50 +08:00 |
|
Windpicker-owo
|
fb112ada2f
|
feat: 批量生成文本embedding,优化兴趣匹配计算逻辑,支持消息兴趣值的批量更新
|
2025-11-19 23:58:50 +08:00 |
|
Windpicker-owo
|
ea164ca74e
|
feat: 添加三级记忆系统提示词格式化器,优化记忆块和短期记忆的格式化逻辑
|
2025-11-19 23:58:49 +08:00 |
|
Windpicker-owo
|
f685ea9fa8
|
feat: 添加历史消息长度限制,优化上下文管理和消息处理逻辑
|
2025-11-19 23:58:49 +08:00 |
|
Windpicker-owo
|
4c7bc1928e
|
feat: 优化长期记忆检索和合并操作,支持图结构扩展和智能合并
|
2025-11-19 23:58:49 +08:00 |
|
Windpicker-owo
|
f3ea6a692e
|
feat: 添加工具调用状态缓存和标准化工具历史记录管理器
|
2025-11-19 23:58:49 +08:00 |
|
Windpicker-owo
|
8c6242026d
|
feat: 优化事件管理,添加事件处理超时和并发限制功能
|
2025-11-19 23:58:49 +08:00 |
|