Commit Graph

7907 Commits

Author SHA1 Message Date
tt-P607
e7cd20e3f9 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-28 00:47:13 +08:00
tt-P607
252379db52 refactor(prompt): 通过移除新话题生成简化主动聊天逻辑
从群聊和私聊的主动互动决策提示中移除了“开启新话题”选项。此更改使机器人行为更加简化,专注于继续现有对话和表达关心,避免引入可能不相关或突兀的话题。

“新话题头脑风暴”步骤已被移除,`throw_topic` 的适用场景现在仅限于继续对话或表达关心。此外,推荐的消息长度已缩短至15-25个字符,以鼓励更简洁自然的互动。
2025-11-28 00:47:03 +08:00
Windpicker-owo
ac017986fd feat: 添加重置 PostgreSQL 序列值的脚本,自动检测并重置所有序列以避免主键冲突 2025-11-28 00:29:44 +08:00
Windpicker-owo
c9c6a11593 fix: 修复数据迁移中的事务处理,确保每张表的迁移在独立事务中进行 2025-11-28 00:08:51 +08:00
Windpicker-owo
86e04638a2 fix: 移除迁移数据中的 NUL 字符并记录警告 2025-11-27 23:18:05 +08:00
喵吃鸟
79a85e74b6 Merge branch 'MoFox-Studio:dev' into dev 2025-11-27 23:14:13 +08:00
Windpicker-owo
8287d11c49 fix: 移除不必要的后置钩子注册,简化消息处理逻辑 2025-11-27 23:08:54 +08:00
Windpicker-owo
a06510b9b6 feat: 添加通知消息处理功能,支持戳一戳、禁言等事件,并更新相关逻辑 2025-11-27 22:54:58 +08:00
喵吃鸟
60057b5283 Merge branch 'MoFox-Studio:dev' into dev 2025-11-27 22:48:31 +08:00
Windpicker-owo
3538716515 fix: 更新版本号至 0.13.0,增强数据库迁移功能,注册通知事件处理 2025-11-27 22:37:50 +08:00
Windpicker-owo
73aaedaca6 fix: 更新硬编码的版本号至 0.13.0-alpha.4 2025-11-27 22:09:29 +08:00
Windpicker-owo
92c4c43d39 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-27 22:08:27 +08:00
Windpicker-owo
25571bf0ec fix: 修复返回的 embedding 为空时的处理逻辑 2025-11-27 22:08:22 +08:00
Windpicker-owo
26520c123a feat: 添加通知处理功能,支持戳一戳、表情回复、群禁言等事件 2025-11-27 22:08:08 +08:00
tt-P607
fd628bbee0 fix(chat):为 reply_to 提供回退以防止崩溃
在处理 `reply_to` 目标时,为 `platform` 和 `user_id` 提供回退值。这解决了当 `user_id` 未明确存在时(例如在涉及 QQ 空间插件的场景中)出现的 `UnboundLocalError`。
2025-11-27 21:55:05 +08:00
tt-P607
a0d0a71b63 feat(napcat): 支持直接和反向 WebSocket 模式
Napcat 适配器现在支持“直接”(客户端)和“反向”(服务器)两种 WebSocket 连接模式。可以通过插件配置中的 `napcat_server.mode` 设置进行配置。

此外,此次提交修复了群组和私信消息过滤中的一个错误,即配置中的数字 ID 未能正确与消息中的字符串 ID 进行比较。现在所有列表 ID 都会被转换为字符串,以确保过滤可靠。
2025-11-27 21:34:11 +08:00
喵吃鸟
c2ebe54e42 Merge branch 'MoFox-Studio:dev' into dev 2025-11-27 21:26:56 +08:00
LuiKlee
bea0d033cf 修复退出机制
修复wait_for_user_input()中使用了shutdown_event.wait(),但没有触发set()
2025-11-27 19:21:27 +08:00
Windpicker-owo
ee39ba0fd2 feat: 添加黑白名单过滤系统以控制消息处理 2025-11-27 18:55:16 +08:00
喵吃鸟
11161b5f06 Merge branch 'MoFox-Studio:dev' into dev 2025-11-27 18:46:41 +08:00
Windpicker-owo
43483b934e feat: 更新机器人配置并添加数据库迁移脚本
- 将bot_config_template.toml中的版本升级至7.9.0
- 增强数据库配置选项以支持PostgreSQL
- 引入一个新脚本,用于在SQLite、MySQL和PostgreSQL之间迁移数据
- 实现一个方言适配器,用于处理特定于数据库的行为和配置
2025-11-27 18:45:01 +08:00
mcn1630
f718149845 update 2025-11-27 17:16:09 +08:00
mcn1630
166f1f9ef5 update 2025-11-27 16:42:31 +08:00
喵吃鸟
ad60627826 Merge branch 'MoFox-Studio:dev' into dev 2025-11-27 16:33:50 +08:00
mcn1630
abfc808859 update 2025-11-27 16:30:22 +08:00
Windpicker-owo
369639a8f1 feat: 添加守护线程版本的队列监听器以避免阻塞退出,优化配置初始化逻辑,改进消息构建中的用户信息处理 2025-11-27 14:06:17 +08:00
Windpicker-owo
4af6a5ec0c fix: 修复组件移除时的错误处理逻辑,确保日志记录和返回值一致 2025-11-26 23:17:27 +08:00
拾风
ec7a2c5e50 Merge pull request #8 from MoFox-Studio/mofox-bus
正式使用Mofox Wire代替maim message
2025-11-26 22:52:38 +08:00
拾风
94b889f34e Merge branch 'dev' into mofox-bus 2025-11-26 22:52:06 +08:00
拾风
545a5656f7 Merge pull request #9 from MoFox-Studio/copilot/sub-pr-8
fix: 代码质量修复 - 未使用导入、asyncio任务引用、类型注解
2025-11-26 22:48:57 +08:00
copilot-swe-agent[bot]
1ca3aa6a07 fix: 修复代码质量和隐形问题 - 移除未使用导入、修复asyncio任务引用、修复类型注解
Co-authored-by: Windpicker-owo <221029311+Windpicker-owo@users.noreply.github.com>
2025-11-26 14:43:44 +00:00
copilot-swe-agent[bot]
1c5028e719 Initial plan 2025-11-26 14:35:08 +00:00
tt-P607
6200108391 feat(chatter):引入可配置的单回复和多回复模式
此提交引入了一个新的配置选项 `chat.enable_multiple_replies`,允许对聊天机器人的对话行为进行更大的控制。

之前,规划器的回复策略是硬编码以支持多回复的。此更改将提示生成重构为根据新的配置设置动态生成。

- 当 `enable_multiple_replies` 为 `true`(默认行为)时,机器人可以在单轮对话中生成多个 `reply` 动作,同时处理多条消息或多个用户。
- 设置为 `false` 时,提示会指示机器人遵循“单目标原则”,强制其仅选择最重要的一条消息进行回复。

这是通过将回复策略和输出格式说明从静态的 `planner_prompts.py` 移动到 `plan_filter.py` 实现的,在那里它们会在被注入主提示模板之前根据条件生成。
2025-11-26 22:30:32 +08:00
Windpicker-owo
9f82671972 Merge branch 'dev' into mofox-bus 2025-11-26 22:25:39 +08:00
Windpicker-owo
cb7b9bba9f feat(requirements): 添加 mofox-wire 依赖 2025-11-26 22:11:02 +08:00
Windpicker-owo
3f02804d9d chore(config): 更新版本号至0.13.0-alpha.3 2025-11-26 22:05:13 +08:00
Windpicker-owo
0dc41bc839 refactor(emoji_manager): 使用异步任务处理表情描述生成,优化错误处理逻辑
refactor(graph_store): 移除冗余日志信息,简化内存边同步逻辑
refactor(affinity_chatter): 将信息日志级别更改为调试级别
2025-11-26 21:38:46 +08:00
Windpicker-owo
0908fb50a0 优化日志 2025-11-26 21:16:16 +08:00
Windpicker-owo
e0157256b1 feat(napcat_adapter): 添加请求处理程序、发送处理程序、视频处理程序以及实用函数
- 实现了request_handler.py来处理对核心的请求。
- 创建了send_handler.py文件,用于处理并向Napcat发送消息。
- 添加了video_handler.py文件,用于从QQ消息中下载和处理视频文件。
- 开发了utils.py,用于缓存和实现与Napcat操作相关的实用函数。
- 为群组、成员和自身信息引入了带有生存时间(TTL)设置的缓存机制。
- 新模块中增强了错误处理和日志记录功能。
2025-11-26 20:09:41 +08:00
Windpicker-owo
46a98fefc4 重构:更新聊天流中打断计数的重置逻辑,简化元事件处理器的实现 2025-11-26 17:58:31 +08:00
Windpicker-owo
d28ba27f26 重构:统一平台字段命名,更新相关数据模型和消息处理逻辑 2025-11-26 17:34:25 +08:00
Windpicker-owo
8fc4cd4c3b 重构:移除过时的napcat_adapter_plugin组件
- 从napcat_adapter_plugin中删除了stream_router.py、utils.py、video_handler.py、websocket_manager.py和todo.md文件。
- 在napcat_cache.json中为组和成员信息引入了一种新的缓存结构。
- 通过移除未使用的模块和整合功能,简化了插件的架构。
2025-11-26 16:40:31 +08:00
Windpicker-owo
8a6b141017 重构代码以使用 mofox_wire 替代 mofox_bus,更新相关文档和示例 2025-11-25 22:45:57 +08:00
tt-P607
fd65d8c4eb feat(person_info): 实施基于稳健 ID 的用户信息同步。本次提交重构了用户识别和信息检索系统,使其基于稳定的平台和用户 ID,不再依赖脆弱的姓名解析机制。同时引入了自动后台进程,以保持用户信息的实时更新。主要变更包括:
- 在 `PersonInfoManager` 中新增 `sync_user_info` 方法,根据 `platform` 和 `user_id` 来创建和更新用户记录。
- `ChatManager` 现在会在处理消息时触发该同步作为非阻塞后台任务,确保用户数据(如昵称)保持最新。
- 提示生成逻辑,特别是关系和上下文信息的生成,已重构为使用稳定的 `user_id`,而非从回复消息内容中解析姓名。
- `PromptParameters` 已被扩展,以在整个回复生成流程中传递 `platform` 和 `user_id`。
- 弃用依赖名称到 ID 查找的脆弱方法。
2025-11-25 22:01:41 +08:00
Windpicker-owo
b6de9b5a9c 重构聊天系统中的消息发送与处理
- 更新了`uni_message_sender.py`,使用`MessageEnvelope`来发送消息,取代了之前的`MessageSending`结构。
- 引入了`send_envelope`函数,通过改进日志记录和错误处理来简化消息发送流程。
- 修改了`HeartFCSender`以直接处理`MessageEnvelope`,确保与新消息结构的兼容性。
- 重构了`default_generator.py`,以构建`MessageEnvelope`而不是`MessageSending`,从而增强了消息构建逻辑。
- 调整了`utils.py`中的效用函数,以使用`DatabaseUserInfo`来处理用户信息。
- 更新了`send_api.py`以构建和发送`MessageEnvelope`,从而改进了消息分发逻辑。
- 从插件系统中移除了已弃用的`MaiMessages`类,清理了未使用的代码。
- 增强了`napcat_adapter_plugin`以适应新的消息结构,确保消息的正确处理和发送。
- 对代码进行整体清理和整理,以提高可维护性和可读性。
2025-11-25 21:54:27 +08:00
Windpicker-owo
c268ea2fb2 修复ChatStream循环导入问题 2025-11-25 20:29:48 +08:00
Windpicker-owo
6b3b2a8245 重构并增强Napcat适配器的功能
- 更新了`BaseAdapter`以简化子进程处理。
- 对`AdapterManager`进行了重构,以便根据适配器的`run_in_subprocess`属性来管理适配器。
- 增强了`NapcatAdapter`,以利用新的`CoreSinkManager`实现更优的进程管理。
- 在`utils.py`中实现了针对群组和成员信息的缓存机制。
- 改进了`message_handler.py`中的消息处理,以支持各种消息类型和格式。
- 已将插件配置版本更新至7.8.3。
2025-11-25 19:55:36 +08:00
Windpicker-owo
1ebdc37b22 重构ChatStream和StreamContext:移除context_manager引用
- 在ChatStream及相关类中,将所有context_manager的实例替换为直接上下文访问。
- 更新方法,利用新的上下文结构来管理聊天状态和消息。
- 增强的StreamContext,增加了用于消息处理、统计和历史管理的方法。
- 在重构过程中改进了错误处理和日志记录。
2025-11-25 12:01:26 +08:00
Windpicker-owo
d30b0544b5 重构消息处理和信封转换
- 从代码库中移除了EnvelopeConverter类及其相关方法,因为它们已不再需要。
- 更新了主系统,使其能够直接处理MessageEnvelope对象,而无需将其转换为旧格式。
- 增强了MessageRuntime类,以支持多种消息类型并防止重复注册处理程序。
引入了一个新的MessageHandler类来管理消息处理,包括预处理和数据库存储。
- 改进了整个消息处理工作流程中的错误处理和日志记录。
- 更新了类型提示和数据模型,以确保消息结构的一致性和清晰度。
2025-11-24 22:36:33 +08:00
tt-P607
714bef7c2b feat(chatter): 优化主动聊天的决策和话题生成
优化主动聊天的提示,以提高决策质量。

- 为“do_nothing”选项添加了高优先级规则,以防止机器人在最后一次发送消息后再次发言。
- 引入了结构化的“三级方法”来生成新话题,确保话题与最近的对话相关,并且感觉更自然、更像人类。
2025-11-24 15:58:52 +08:00