tt-P607
8f1dc4c70b
feat(napcat):增加 websocket 连接重试次数
...
此更改将建立 websocket 连接的最大重试次数从 3 次提高到 10 次。此调整有助于提高适配器的稳定性,以及在网络不稳定的环境中建立连接的能力。
2025-11-23 19:30:03 +08:00
tt-P607
9d1ebba373
feat(proactive_thinking): 优化主动思考功能,实现场景化响应
...
本次更新针对主动思考(Proactive Thinking)功能进行了多项重要优化,旨在提升其智能化、灵活性和稳定性。
主要变更:
1. **新增聊天场景区分**:
* 在 `proactive_thinking_executor.py` 中增加了对群聊(group)和私聊(private)场景的判断逻辑。
* 为两种场景分别创建了独立的、更具针对性的决策和回复提示词模板(`_group` 和 `_private` 后缀),使主动发言更贴合不同聊天氛围。
2. **上下文长度配置化**:
* 移除了原先在代码中硬编码的上下文长度(`limit=40`)。
* 现在,功能会直接读取 `bot_config.toml` 中 `[chat]` 部分的 `max_context_size` 配置,实现了与全局配置的统一,增强了灵活性。
3. **优化触发机制,减少跳过**:
* 针对群聊等繁忙场景下,因 `chatter` 正在处理消息而导致主动思考被频繁跳过的问题,增加了一个短暂的等待和重试机制。
* 现在,当检测到 `chatter` 忙碌时,会等待3秒后再次检查,提高了主动思考的成功触发率。
此次修改使得主动思考功能更加智能、可配置,并能更好地适应复杂的聊天环境。
```
2025-11-23 10:53:06 +08:00
tt-P607
19fefeb284
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
2025-11-23 02:24:35 +08:00
tt-P607
f464befe66
fix(planner): 当缺少 target_id 时确保设置动作消息
...
当 LLM 规划器没有为某个动作指定 `target_message_id` 时,系统现在将默认使用上下文中的最新消息。这确保了需要消息上下文的动作(如引用或回复)有一个有效的 `action_message` 对象,从而防止潜在的 `None` 引用错误。
2025-11-23 02:24:23 +08:00
minecraft1024a
725df21215
feat(plugin): 简化局部组件管理命令,自动检测组件类型
...
移除了 `enable_local` 和 `disable_local` 命令中的组件类型参数,改为通过组件名称自动搜索。这简化了用户操作,无需记忆组件的具体类型。
- 当找到多个同名组件时,将提示用户并中止操作,避免歧义。
- 新增保护机制,防止用户局部禁用路由、提示词等核心类型的组件,以增强系统稳定性。
2025-11-22 21:29:08 +08:00
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
515d6ee62b
refactor(maizone): 移除调度器中的随机主题生成逻辑
...
移除 `SchedulerService` 中直接调用LLM生成随机说说主题的功能。
现在,当没有日程安排时,调度器会发送一个通用的指令(“随意发挥”),将具体内容的生成职责完全委托给 `QzoneService`。
这一改动简化了调度器的职责,使其专注于任务调度,提高了模块的内聚性。
2025-11-21 21:27:13 +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
Windpicker-owo
80c1464ba7
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-11-19 20:19:10 +08:00
Windpicker-owo
14133410e6
feat: 批量生成文本embedding,优化兴趣匹配计算逻辑,支持消息兴趣值的批量更新
2025-11-19 16:30:44 +08:00
Windpicker-owo
d227e37a98
feat: 优化事件管理,添加事件处理超时和并发限制功能
2025-11-19 01:26:23 +08:00
Furina-1013-create
5873467d9c
与MaiBot开发团队交流了一下并进一步改了Readme,增加了几处强调是Fork项目的说明
...
补要拷打我当时真的不是我把之前的都init的😭 😭 😭
2025-11-18 13:12:36 +08:00
Windpicker-owo
b5cfa41d36
feat:实现短期内存管理器和统一内存管理器
...
- 添加了ShortTermMemoryManager来管理短期记忆,包括提取、决策和记忆操作。
- 集成大型语言模型(LLM),用于结构化记忆提取和决策过程。
- 基于重要性阈值,实现了从短期到长期的内存转移逻辑。
- 创建了UnifiedMemoryManager,通过统一接口整合感知记忆、短期记忆和长期记忆的管理。
- 通过法官模型评估来增强记忆提取过程的充分性。
- 增加了自动和手动内存传输功能。
- 包含内存管理操作和决策的全面日志记录。
2025-11-18 11:12:05 +08:00
Windpicker-owo
50acb70131
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-11-16 21:18:30 +08:00
Windpicker-owo
d6b5842d06
feat(napcat_adapter): 添加服务器地址和端口配置选项,优先使用插件配置
...
feat(tts_plugin): 优化TTS处理逻辑,支持生成回复并处理文本格式
2025-11-16 15:34:59 +08:00
tt-P607
aba7af4396
refactor(maizone): 重构数据迁移以尽早关闭文件句柄
...
数据迁移逻辑已更新为先将整个文件读入内存,然后立即关闭文件句柄。
这可以防止旧数据文件在随后的 JSON 解析、验证和写入新存储的过程中保持打开状态,从而提高迁移过程的稳健性。
2025-11-15 20:07:48 +08:00
tt-P607
35c3f18f5d
feat(chatter): 支持按聊天类型和模式灵活过滤操作
...
`ChatterPlanGenerator` 中的操作过滤逻辑得到了增强,以支持更灵活的操作配置。现在,操作可以通过提供列表来启用多个聊天类型或模式,或者使用 `ChatType.ALL` 和 `ChatMode.ALL` 来启用所有类型/模式。
为此,`ChatterPlanGenerator` 被重构为通过依赖注入接受 `ActionManager` 实例,从而提高了解耦性并使组件更易于测试。
2025-11-15 18:01:43 +08:00
minecraft1024a
6f62073630
chore: perform widespread code cleanup and formatting
...
Perform a comprehensive code cleanup across multiple modules to improve code quality, consistency, and maintainability.
Key changes include:
- Removing numerous unused imports.
- Standardizing import order.
- Eliminating trailing whitespace and inconsistent newlines.
- Updating legacy type hints to modern syntax (e.g., `List` -> `list`).
- Making minor improvements for code robustness and style.
2025-11-15 17:12:46 +08:00
minecraft1024a
bd45899dce
docs(maizone): 为回复跟踪服务添加详细文档和注释
...
为 ReplyTrackerService 类及其所有方法添加了全面的文档字符串(docstrings)和内联注释。
此次更新旨在提高代码的可读性和可维护性,详细阐明了以下方面:
- 服务的核心职责和初始化流程。
- 从旧文件系统到新存储API的一次性数据迁移逻辑。
- 各个公共和私有方法的具体功能、参数及作用。
2025-11-15 17:05:55 +08:00
minecraft1024a
79ff981776
refactor(maizone): 迁移回复跟踪服务以使用插件存储API
...
该重构将 ReplyTrackerService 从手动管理本地JSON文件的方式迁移到使用新的插件本地存储API。
此举旨在统一数据持久化方式,提高代码的可维护性和健壮性。
主要变更包括:
- 引入 `get_local_storage` API,将数据存储逻辑委托给通用的存储服务。
- 新增一次性自动数据迁移功能,可将旧 `replied_comments.json` 文件中的数据无缝迁移至新存储。
- 简化了服务内部的数据加载、保存和错误处理逻辑,代码更清晰。
- 迁移成功后,旧数据文件将被备份,以确保数据安全。
2025-11-15 16:57:48 +08:00
minecraft1024a
5df71d9023
fix(maizone): 修复说说处理循环意外结束的潜在错误
...
为 `process_feeds_from_file` 方法添加了在循环意外结束后返回错误信息的逻辑,以防止函数在某些边缘情况下不返回值。
此外,移除了 `_process_comments` 方法中一个未使用的列表推导式。
2025-11-15 16:47:14 +08:00
minecraft1024a
493c5847d5
chore(maizone): 调整默认随机发送间隔
...
将默认的随机发送间隔从 5-15 分钟调整为 120-135 分钟。
原有的默认间隔过短,可能会导致发送过于频繁,新的默认值更加合理。
2025-11-15 16:26:23 +08:00
minecraft1024a
8a34a625e7
feat(maizone): 新增无日程时随机生成主题并发送说说
...
当没有预设日程活动时,定时发送服务现在能够利用小型LLM动态生成一个随机主题,并自动发布说说。
为避免过于频繁地发布,该功能被限制为每小时最多执行一次。此项更新旨在提高账号在日程空闲期间的活跃度,使自动发布的动态看起来更加自然和多样化。
2025-11-15 16:25:55 +08:00
minecraft1024a
0d8e13419a
refactor(tts): 重命名动作参数 text 为 tts_voice_text
...
BREAKING CHANGE: TTS 语音动作的 `text` 参数已重命名为 `tts_voice_text`,以避免与其他工具或参数潜在的命名冲突。所有调用此动作的提示词或代码都需要更新为新的参数名称。
2025-11-15 13:06:10 +08:00
minecraft1024a
8d1142bbce
feat(prompt): 为提示词管理添加调试与预览功能
...
增强了 `/system prompt` 命令,引入了多个用于调试和检查提示词注入系统的新子命令。
新增功能包括:
- `preview <目标名> [JSON参数]`: 预览指定核心提示词在注入参数后的最终效果,便于调试复杂的注入逻辑。
- `raw <目标名>`: 查看核心提示词的原始内容,有助于了解注入前的基础模板。
- `component_info <组件名>`: 显示特定组件的详细信息,包括其来源、描述和所有注入规则。
这些工具旨在提高提示词系统的透明度,并简化开发和故障排查过程。
2025-11-14 14:19:46 +08:00
Windpicker-owo
2bbb03b5b0
fix(planner): 更新动作过滤逻辑以确保回复动作在未达到阈值时被排除
2025-11-13 20:10:58 +08:00
Windpicker-owo
ef724b748e
fix(affinity_interest_calculator): 修复回复后阈值调整逻辑并移除弃用方法
2025-11-13 19:45:31 +08:00
Windpicker-owo
028bcf7fbc
fix(planner): 修复 Focus 模式下的回复动作处理逻辑
2025-11-13 19:34:16 +08:00
minecraft1024a
38ec114c81
feat(system): 为 system 命令添加 prompt 子命令
2025-11-13 18:46:36 +08:00
minecraft1024a
ce2d1acc7c
refactor(prompt): 简化和统一提示词注入查询方法
...
将多个功能重叠的查询方法整合为两个核心方法,以提供更清晰、更灵活的 API,方便获取注入信息和规则。
- `get_injection_info` 方法取代了原有的 `get_full_injection_map` 和 `get_injections_for_prompt`。它现在支持按目标提示词进行筛选,并能通过 `detailed` 参数控制返回信息的详细程度。
- `get_injection_rules` 方法整合了 `get_all_dynamic_rules`、`get_rules_for_target` 和 `get_rules_by_component` 的功能。现在可以通过一个方法,灵活地按目标、按组件或按两者的组合来筛选注入规则。
- 已更新 `system_management` 插件中的相关命令以适配新的 API。
BREAKING CHANGE: `PromptComponentManager` 的公共 API 已更改。
移除了 `get_full_injection_map`, `get_injections_for_prompt`, `get_all_dynamic_rules`, `get_rules_for_target`, `get_rules_by_component` 方法。
请分别使用新的 `get_injection_info` 和 `get_injection_rules` 方法进行替代。
2025-11-13 17:17:48 +08:00
Windpicker-owo
9c136e141b
feat: 更新 action_type 为 'reply' 并添加 action_parameters 的 JSON 示例
2025-11-13 15:54:08 +08:00
Windpicker-owo
d67b15deae
refactor: 延迟导入 StreamContext 以提高类型检查性能
2025-11-13 15:28:18 +08:00
Windpicker-owo
41e8a17e58
refactor(planner): 移除Normal模式下的引用回复设置以保持对话流畅
2025-11-13 15:14:55 +08:00
Windpicker-owo
bc7228cb3c
feat(planner): 使用标准化的JSON格式重构动作规划系统
...
- 将聊天流和消息管理器中的默认聊天模式从“normal”更改为“focus”
- 从ActionPlannerInfo数据模型中移除已弃用的should_quote_reply字段
- 通过移除回复可用性检查和基于兴趣的过滤,简化计划过滤逻辑
- 采用新的标准化JSON操作格式,并强制使用操作列表结构
- 更新规划器提示,以强制执行一致的动作输出格式
- 移除遗留操作参数过滤,简化消息目标解析
- 清理计划过滤器中未使用的导入和已弃用的代码路径
2025-11-13 15:10:08 +08:00
Windpicker-owo
1d92f16ce2
feat(plan_filter): 优化动作过滤逻辑,增强对reply和respond动作的可用性检查
2025-11-13 12:51:58 +08:00
Windpicker-owo
61d86875ad
更新机器人配置模板,并添加路径扩展算法规范
...
- 将bot_config_template.toml中的版本号从7.6.7更新为7.6.8。
- 在bot_config_template.toml中添加了用于控制多个回复的配置选项。
- 引入了一份全面的路径扩展算法规范文档,详细介绍了算法概述、核心数据结构、算法流程、性能优化、接口定义和测试用例。
2025-11-12 19:06:11 +08:00
Windpicker-owo
c2dca8cb2a
refactor(person_info): 移除内存缓存逻辑,统一使用数据库缓存系统
...
refactor(plugin): 使用数据库查询替代内存缓存进行用户信息匹配
refactor(message_sender): 优化消息添加到流上下文的逻辑
2025-11-12 17:58:26 +08:00
Windpicker-owo
80736a0deb
refactor(distribution_manager): 优化流循环管理逻辑,减少重复代码并改进异常处理
...
refactor(action_manager): 将异步存储操作改为非阻塞任务,提升性能
refactor(default_generator): 简化回复生成器中的消息处理逻辑
refactor(generator_api): 更新类型提示,增强代码可读性
refactor(affinity_chatter): 清理异常处理中的冗余代码,确保处理标记的正确清理
refactor(affinity_interest_calculator): 重命名阈值调整方法,提升代码一致性
refactor(plan_executor): 移除冗余的已读消息处理逻辑
refactor(planner): 优化规划器中的异常处理,确保正常模式的退出检查
2025-11-12 16:08:52 +08:00
minecraft1024a
66c23e1ba1
style(system): 修正提示词帮助命令的代码格式
2025-11-12 13:51:14 +08:00
minecraft1024a
ac4c592590
refactor(scheduler): 将统一调度器移动至插件系统API
...
将统一调度器模块从 `src/schedule/` 目录重构至 `src/plugin_system/apis/` 目录下。
这次调整旨在将调度器明确地定位为插件系统的核心API之一,从而改善代码的组织结构和架构清晰度。所有引用该模块的内部导入路径均已同步更新。
2025-11-12 13:47:00 +08:00
Windpicker-owo
d3ffe1c47a
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-11-12 13:38:12 +08:00
Windpicker-owo
c9ee50aed8
feat(user_profile_tool): 更新好感分数描述,增加评分注意事项以提升用户理解
2025-11-12 13:38:03 +08:00
minecraft1024a
5dbeebda6b
feat(system): 为提示词注入系统提供内省与调试能力
...
新增 `/system prompt` 命令模块,旨在提升提示词注入系统的透明度,并为管理员提供强大的诊断工具。现在可以深入探查提示词的最终构成方式,这对于追踪非预期的 AI 行为和验证插件注入配置非常有帮助。
该模块提供了一系列查询功能,允许管理员:
- 查看完整的注入依赖图谱
- 枚举所有可注入的目标提示词
- 检索所有已注册的提示词组件及其来源
- 分析特定目标的详细注入信息
所有查询操作均受 `system.prompt.view` 权限保护。
2025-11-12 13:20:50 +08:00
minecraft1024a
0e1e9935b2
style: 统一代码风格并采用现代化类型注解
...
对整个代码库进行了一次全面的代码风格清理和现代化改造,主要包括:
- 移除了所有文件中多余的行尾空格。
- 将类型提示更新为 PEP 585 和 PEP 604 引入的现代语法(例如,使用 `list` 代替 `List`,使用 `|` 代替 `Optional`)。
- 清理了多个模块中未被使用的导入语句。
- 移除了不含插值变量的冗余 f-string。
- 调整了部分 `__init__.py` 文件中的 `__all__` 导出顺序,以保持一致性。
这些改动旨在提升代码的可读性和可维护性,使其与现代 Python 最佳实践保持一致,但未修改任何核心逻辑。
2025-11-12 12:49:40 +08:00
Windpicker-owo
9b68d7d995
feat(heart_fc_sender): 修复Send API消息不入流上下文的问题,确保消息可引用并添加转换为数据库消息的功能
2025-11-11 21:42:17 +08:00
Windpicker-owo
13fb86394b
feat(replyer): 使用全局配置替换默认记忆检索参数,提升灵活性和可配置性
...
feat(memory_tools): 优化记忆过滤逻辑,增强日志记录和过滤统计
feat(plan_filter): 调整AFC场景的记忆检索数量,减少干扰
2025-11-11 21:34:11 +08:00
Windpicker-owo
c38f086fd2
feat(affinity_interest_calculator): 添加回复冷却减少功能,移除兴趣和关系分数上限
2025-11-11 14:57:09 +08:00
Windpicker-owo
e79494d3c2
feat(exa_engine): 更新Exa搜索方法,优化搜索参数格式,增强结果处理逻辑
...
feat(url_parser): 精简Exa客户端参数,优化结果摘要处理逻辑
2025-11-10 22:17:58 +08:00
Windpicker-owo
f3af3caf71
feat(distribution_manager): 在处理成功后添加短暂等待,确保清理操作完成
...
feat(message_manager): 简化清除未读消息逻辑,移除冗余注释
feat(action_manager): 移除自动清空未读消息的逻辑,改为手动处理
feat(plan_executor): 扩展回复类动作的分类,包含 respond 动作
2025-11-10 21:38:55 +08:00
Windpicker-owo
69ee2d30de
feat(context_manager): 添加消息处理日志,优化消息标记为已读的逻辑
2025-11-10 19:18:30 +08:00