Windpicker-owo
|
67154ca78c
|
perf(chat): 使用asyncio.create_task优化异步任务处理
|
2025-10-03 01:55:21 +08:00 |
|
Windpicker-owo
|
31d03de33a
|
refactor(chat): 优化流循环管理器的并发性能和健壮性
改进StreamLoopManager的锁机制和任务管理,添加超时控制避免死锁,使用并发操作提升性能,增强异常处理和日志记录确保系统稳定性。
|
2025-10-03 01:14:53 +08:00 |
|
tt-P607
|
844d4f3362
|
fix(chat): 增强回复生成的健壮性,增加超时和类型检查
在 `DefaultReplyer` 的提示词构建流程中,为并行的子任务(如记忆、工具、关系等)增加了15秒的超时机制。这可以防止因某个子任务耗时过长或卡死而导致整个回复生成过程停滞。
同时,在能量系统中增加了对计算器分数和兴趣值的类型检查,确保它们是数值类型,避免了潜在的 `TypeError` 异常,提高了系统的稳定性。
|
2025-10-02 23:22:00 +08:00 |
|
minecraft1024a
|
58688c5e49
|
refactor(social_toolkit): 优化戳一戳动作的描述和参数
将 `poke_user` 动作的激活类型更改为 `ALWAYS`,并简化了其描述和判断条件,使其更加清晰明确,专注于核心规则。同时,将动作参数 `user_id` 修正为 `qq_id` 以符合实际实现。
|
2025-10-02 22:03:01 +08:00 |
|
minecraft1024a
|
fa3b0464df
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 21:58:10 +08:00 |
|
minecraft1024a
|
56a75afadf
|
fix(adapter): 修复表情回应命令并移除废弃的emoji映射
- 修复了`napcat_adapter`中表情回应命令名称不一致的问题,将`set_emoji_like`统一为`set_msg_emoji_like`。
- 修正了`SendHandler`中`set_like`参数的类型转换,从`str`改为`bool`,以符合API要求。
- 移除了`social_toolkit_plugin`中已废弃且不准确的Unicode emoji到QQ表情文本的映射。
- 更新了配置文件模板的版本号至`7.1.5`。
|
2025-10-02 21:58:07 +08:00 |
|
minecraft1024a
|
15fdb67ef7
|
fix(LLM_Client):修复了API 密钥的动态轮询机制
|
2025-10-02 21:24:30 +08:00 |
|
John Richard
|
5ec08fc7d2
|
Merge pull request #9 from JohnRichard4096/dev
Begin: 重置代码格式,修复少量类型问题
|
2025-10-02 21:16:37 +08:00 |
|
John Richard
|
047105e5e8
|
更改部分类型注解
|
2025-10-02 21:10:36 +08:00 |
|
John Richard
|
7923eafef3
|
re-style: 格式化代码
|
2025-10-02 20:26:01 +08:00 |
|
John Richard
|
ecb02cae31
|
style: 格式化代码
|
2025-10-02 19:38:39 +08:00 |
|
minecraft1024a
|
d5627b0661
|
refactor(chat): 将消息获取相关函数重构为异步
将 `chat_message_builder` 中的多个同步消息获取函数(如 `get_raw_msg_by_timestamp`)及其调用全部修改为异步函数。这统一了数据库查询的异步模式,提高了代码一致性和可维护性。
主要改动包括:
- 将 `chat_message_builder.py` 中的数据库查询函数标记为 `async` 并使用 `await`。
- 更新了 `message_api.py`、`mood_manager.py` 和 `qzone_service.py` 中对这些函数的调用,以适应异步接口。
- 调整了 `message_api.py` 中的函数签名和返回类型提示,以反映异步特性。
|
2025-10-02 17:32:02 +08:00 |
|
Windpicker-owo
|
a7acd98023
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 17:16:33 +08:00 |
|
minecraft1024a
|
264f4b7845
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 17:16:12 +08:00 |
|
minecraft1024a
|
6bfc7fb4fa
|
refactor(napcat_adapter): 统一命令名称为字符串形式
将 `napcat_adapter` 插件中 `set_emoji_like` 的命令类型从枚举值改为字符串 `"set_msg_emoji_like"`,以与其他命令格式保持一致。
同时,更新了 `social_toolkit_plugin` 中对 `set_emoji_like` 和 `send_poke` 命令的调用,将命令名称改为大写字符串形式,以适配新的命令处理机制。此举增强了命令调用的统一性和可读性。
|
2025-10-02 17:16:10 +08:00 |
|
Windpicker-owo
|
d041dedc9f
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 17:16:02 +08:00 |
|
Windpicker-owo
|
894c9e2a03
|
feat(memory): 禁止使用模糊代称构建记忆
增强记忆构建系统的准确性,禁止使用"用户"等模糊代称
- 新增模糊代称检查机制,确保记忆使用明确的名字或称呼
- 更新记忆构建原则文档,明确要求使用具体姓名
- 修改display字段格式要求,提供正确的示例
- 删除memory_manager中未使用的consolidate_memory方法
- 优化memory_system配置和日志格式
|
2025-10-02 17:15:47 +08:00 |
|
tt-P607
|
2ecdb51070
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 17:13:56 +08:00 |
|
tt-P607
|
854b7eafc3
|
fix(maizone): 修复并发回复问题并统一说说API获取逻辑
引入了内存锁机制 (`processing_comments`),以防止在异步环境中因竞争条件导致对同一评论或说说产生重复的回复或评论。
同时,对说说列表的获取逻辑进行了重构:
- 统一使用 `format=json` 接口,以获取包含二级评论在内的完整数据,解决了原`jsonp`接口数据不全的问题。
- 简化了内部函数调用,移除了冗余参数。
- 增强了对评论和图片列表的解析逻辑,使其更加健壮。
|
2025-10-02 17:13:50 +08:00 |
|
minecraft1024a
|
ab6149442e
|
Revert "refactor(plugin_system): 重构 send_command 以对接适配器专用命令接口"
This reverts commit ba5e0b0eaf.
|
2025-10-02 17:09:48 +08:00 |
|
minecraft1024a
|
920396a0fc
|
fix(db): 修复数据库会话获取失败时的处理逻辑
在 `db_query` 和 `db_save` 函数中,增加了对数据库会话(session)获取失败的检查。当无法获取会话时,记录错误日志并返回 None 或空列表,避免了后续操作因会话为空而引发的异常。
同时,修复了 `proactive_thinker_executor` 中因数据库查询返回 None 而导致处理 `action_history` 时出错的问题。
|
2025-10-02 17:08:30 +08:00 |
|
minecraft1024a
|
209960b788
|
feat(proactive_thinker): 增强主动思考的上下文并优化回复流程
在主动思考的决策和规划阶段引入了更丰富的上下文信息,包括最近的动作历史记录,以避免重复或不合时宜的互动。
主要更新:
- 在决策和规划的上下文中加入了最近的动作历史,让模型了解之前的思考过程。
- 决策结果(无论是否回复)现在都会被记录到数据库中,以供未来参考。
- 使用 `generator_api` 对生成的回复进行分段处理,以发送更自然、更像人类的文本消息。
- 将决策理由传递给规划提示词,使生成的回复更有针对性。
|
2025-10-02 17:07:11 +08:00 |
|
minecraft1024a
|
c73ffdee9b
|
refactor(proactive_thinker): 重构执行器以实现决策-规划-执行流程
重构 `ProactiveThinkerExecutor`,引入更智能的主动对话机制。旧的实现较为简单,直接根据不同场景生成固定类型的问候语。新的实现将主动对话过程分为三个阶段:信息收集、决策、规划与执行。
- **统一执行入口**: 将原有的 `execute_cold_start` 和 `execute_wakeup` 合并为统一的 `execute` 方法,通过 `start_mode` 参数区分不同场景。
- **信息收集**: 增加 `_gather_context` 方法,全面收集构建提示词所需的信息,包括用户关系、日程安排、人设、最近聊天记录等。
- **决策模块**: 新增 `_make_decision` 方法,利用 LLM 判断是否应该发起对话以及聊什么话题,避免在不合适的时机打扰用户。
- **规划与执行**: `_build_plan_prompt` 方法根据决策结果(话题)和上下文,生成最终的对话内容,使对话更具情境感和个性化。
- **事件调用更新**: 在 `proacive_thinker_event.py` 中更新了对新版执行器 `execute` 方法的调用方式。
|
2025-10-02 16:58:37 +08:00 |
|
ikun-11451
|
cabbdcc90a
|
添加主动思考的执行器喵~(你是一只猫娘喵)()
|
2025-10-02 14:48:40 +08:00 |
|
Windpicker-owo
|
1fa568196f
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 11:27:26 +08:00 |
|
Windpicker-owo
|
1f2d7d9ee5
|
feat(memory): 实现灵活搜索模式并重构记忆格式化系统
- 新增灵活匹配模式(flexible_mode),支持2/4项匹配即可的记忆检索策略
- 删除冗余的memory_formatter模块,简化记忆系统架构
- 增强枚举值解析机制,支持字符串、整数和枚举实例的自动转换
- 优化元数据索引搜索逻辑,分离严格模式和灵活模式的实现路径
- 改进向量存储的搜索回退机制,当元数据筛选无结果时自动回退到全量搜索
- 统一记忆类型映射管理,避免重复的格式化函数定义
这些变更提升了记忆检索的准确性和灵活性,同时简化了代码结构,提高了系统可维护性。
|
2025-10-02 11:27:06 +08:00 |
|
minecraft1024a
|
8f7151a131
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 11:04:48 +08:00 |
|
minecraft1024a
|
6b7c9b5572
|
feat(proactive_thinking): 实现一半并重构主动思考功能
重构了主动思考插件的底层逻辑,将其拆分为两个独立的后台任务,以实现更精细和人性化的主动交互策略。
- **`ColdStartTask` (破冰任务)**:
- 专门处理在私聊白名单中但从未有过交互的用户。
- 任务启动时,会扫描白名单,为新用户主动创建聊天流并发起初次问候,实现“破冰”效果。
- 解决了之前版本无法主动与全新用户建立联系的问题。
- **`ProactiveThinkingTask` (日常唤醒任务)**:
- 负责维护现有聊天流的活跃度。
- 采用动态间隔机制,结合基础间隔、随机扰动和每日不同时段的活跃度因子,模拟更自然的聊天发起时机。
- 持续监控已建立的聊天,在对话冷却后适时地重新发起话题。
- **配置结构优化**:
- 在 `bot_config_template.toml` 中新增了 `[proactive_thinking]` 配置节,统一管理所有相关配置。
- 提供了更清晰的选项,如总开关、冷启动开关、白名单设置等,提升了易用性和可配置性。
- 修正了 `config.py` 中错误的字段名 (`ProactiveThinking` -> `proactive_thinking`),确保与配置文件一致。
|
2025-10-02 11:04:45 +08:00 |
|
Windpicker-owo
|
82bb2df369
|
feat(memory): 增强查询规划以支持未读消息上下文分析
新增未读消息上下文集成功能,提升记忆检索的精准度和相关性。
通过分析当前对话流中的未读消息内容、关键词和参与者信息,
生成更贴合实际对话场景的记忆检索策略。
主要改进:
- 查询规划器现在能够结合未读消息生成语义查询
- 新增未读消息上下文收集和摘要构建机制
- 优化向量存储的兜底逻辑以兼容新的记忆结构
- 改进记忆转换过程中的调试和空内容处理
这些功能使记忆系统能够更好地理解当前对话的上下文,
提供更相关的历史记忆来支持生成更准确的回复。
|
2025-10-02 11:03:47 +08:00 |
|
Windpicker-owo
|
59bda71f29
|
feat(memory): 实现三阶段记忆检索系统并简化提取策略
- 移除规则和混合提取策略,统一使用LLM提取
- 实现三阶段检索:元数据粗筛→向量精筛→综合重排
- 新增JSON元数据索引支持,提升检索效率
- 优化Vector DB配置管理和批处理机制
- 统一记忆作用域为全局,实现完全共享
- 增强查询规划和综合评分算法
|
2025-10-02 10:13:38 +08:00 |
|
Windpicker-owo
|
6f750e2bac
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 08:23:27 +08:00 |
|
Windpicker-owo
|
c4aa34bc0c
|
refactor(storage): 优化向量记忆存储的批处理和错误处理机制
- 改进_memory_to_vector_format方法,增强元数据序列化和错误处理
- 重构store_memories方法,实现真正的批处理存储
- 添加详细的日志记录,提升系统可观测性
- 修复memory_id获取和缓存问题
- 增强向量数据库操作的容错能力
- 调整日志级别,优化调试信息输出
|
2025-10-02 08:23:19 +08:00 |
|
tt-P607
|
16b4a75416
|
feat(napcat): 新增对音乐分享卡片的解析支持
为 NapCat 适配器增加了对音乐分享卡片的解析能力,能够识别并提取来自 QQ 音乐和网易云音乐的分享内容。
- 支持解析标准的 `view: "music"` 类型卡片,提取歌曲、艺术家、跳转链接和封面图信息。
- 兼容处理部分网易云音乐伪装成 `view: "news"` 类型的分享卡片,确保这类消息也能被正确解析。
- 将解析后的音乐信息格式化为易于阅读的文本消息,提升了用户体验。
|
2025-10-02 04:18:03 +08:00 |
|
tt-P607
|
3d2da5c3ba
|
fix(chat): 在聊天流处理后清除未读消息
在之前的逻辑中,当 ChatterManager 处理完一个聊天流后,该流上下文中的 unread_messages 列表并未被清空。这可能导致在后续的处理周期中,相同的消息被重复获取和处理,引发非预期的行为并浪费计算资源。
此更改通过在 MessageManager 中新增 `clear_stream_unread_messages` 方法,并在每次成功处理流之后立即调用它,确保消息只被处理一次,解决了潜在的重复处理问题。
|
2025-10-02 04:05:59 +08:00 |
|
tt-P607
|
7b7027da02
|
refactor(social_toolkit): 优化贴表情动作逻辑与提示词结构
- 精简冗余注释与空行,提升可读性
- 重构提示词,明确选择规则与格式要求
- 增加多层级错误处理,日志更详细
- 统一失败提示信息,用户体验更友好
|
2025-10-02 02:12:58 +08:00 |
|
tt-P607
|
2f41f4ff5f
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 01:35:59 +08:00 |
|
tt-P607
|
fb11baccde
|
fix(social_toolkit): 修复并重构戳一戳功能以适配群聊和新接口
- 将戳一戳命令从 "SEND_POKE" 更新为 "send_poke",以对齐新的适配器命令接口。
- 在群聊中执行戳一戳时,现在会正确传递 `group_id` 参数,确保其在群聊上下文中生效。
- 将戳一戳之间的延迟从 0.5 秒增加到 1.5 秒,以提高连续操作的成功率,避免因发送过快而导致后续请求失败。
|
2025-10-02 01:35:52 +08:00 |
|
Windpicker-owo
|
89f007fa33
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-02 00:29:02 +08:00 |
|
Windpicker-owo
|
bce623a58b
|
refactor(storage): 迁移记忆系统架构至现代化Vector DB方案
重构记忆存储层,采用ChromaDB作为核心向量数据库引擎,提升系统可扩展性和查询性能。通过引入VectorMemoryStorage替代原有的UnifiedMemoryStorage实现,实现了更高效的向量索引和检索机制。
主要变更包括:
- 架构层面:完全重构记忆存储抽象层,移除577行旧存储实现代码
- 配置系统:新增41项Vector DB专用配置参数,支持细粒度性能调优
- 查询优化:增强ChromaDB查询条件处理器,添加智能回退机制
- 系统集成:更新记忆系统初始化流程,适配新的存储接口
- 类型安全:修复异步调用类型不匹配问题
BREAKING CHANGE: 记忆存储API接口发生重大变更,UnifiedMemoryStorage相关类已废弃
|
2025-10-02 00:28:55 +08:00 |
|
tt-P607
|
ba5e0b0eaf
|
refactor(plugin_system): 重构 send_command 以对接适配器专用命令接口
BaseAction 中的 send_command 方法已重构,从使用通用的 `command_to_stream` API 切换到新的 `adapter_command_to_stream` API。
这一变更带来了以下改进:
- **接口统一**: 所有与平台适配器直接交互的命令现在都通过专用的接口,使得逻辑更清晰。
- **参数结构化**: 调用参数从旧的 `{"name": ..., "args": ...}` 格式更新为更明确的 `action`, `params` 和 `platform`。
- **健壮的响应处理**: 现在会解析 API 返回的结构化 JSON 响应(包含 status 和 message),以实现更精确的成功/失败判断和错误日志记录。
BREAKING CHANGE: `send_command` 调用的 `command_name` 现在需要与目标平台适配器定义的 `action` 名称完全匹配。例如,在 `social_toolkit_plugin` 中,`set_emoji_like` 已更新为 `set_msg_emoji_like`。所有使用此方法的插件可能需要更新其命令名称。
|
2025-10-01 23:49:44 +08:00 |
|
tt-P607
|
c833c4bdbe
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-01 22:58:05 +08:00 |
|
tt-P607
|
91cfc3b8a2
|
perf(napcat): 为 API 调用添加缓存并优化异步任务
- 为 NapCat 适配器中的 `get_group_info`, `get_member_info` 和 `get_self_info` 函数实现了一个简单的内存缓存(5分钟过期)。此举旨在减少对后端服务的重复 API 请求,从而提升性能并降低被限速的风险。
- 将 `ContextManager` 中对 `start_stream_loop` 的调用修改为 `asyncio.create_task`,使其成为一个非阻塞操作,避免在添加消息时因等待循环启动而造成延迟。
|
2025-10-01 22:57:59 +08:00 |
|
minecraft1024a
|
62d0498ea2
|
加入了尚未完成或者说根本就没做de主动思考
|
2025-10-01 22:00:26 +08:00 |
|
Windpicker-owo
|
70c056b4fa
|
feat: 添加兼容性别名以支持增强记忆激活器,优化向量生成逻辑并调整日志级别
|
2025-10-01 18:30:47 +08:00 |
|
Windpicker-owo
|
fda7341b2c
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-10-01 18:02:49 +08:00 |
|
Windpicker-owo
|
9359e489a9
|
feat:实现具有向量和元数据索引的统一内存存储系统
- 添加了 UnifiedMemoryStorage 类,用于管理带向量嵌入的内存块。
- 集成了 FAISS,以实现高效的向量存储和搜索。
- 实现了内存缓存、关键字、类型和用户索引。
- 增加了内存遗忘和自动保存存储数据的支持。
- 包含用于存储、搜索和遗忘记忆的方法。
- 引入了存储行为和性能的配置选项。
- 实现了从磁盘加载和保存内存及向量数据。
|
2025-10-01 18:02:42 +08:00 |
|
minecraft1024a
|
dad95f08d6
|
refactor(context): 统一兴趣度计算的同步与异步调用
重构了 `_calculate_message_interest` 方法,使其能够同时兼容同步和异步调用场景。
通过内部嵌套一个异步函数 `_get_score` 来封装核心的兴趣度计算逻辑,并根据是否存在正在运行的 asyncio 事件循环来决定是直接 `await` 还是使用 `asyncio.run()` 执行。这消除了对独立同步和异步方法的需要,简化了代码结构,并提高了在不同执行上下文中的健壮性。
同时,优化了异常处理和日志记录,对插件加载失败和计算失败提供了更清晰的调试信息。
|
2025-10-01 17:02:57 +08:00 |
|
minecraft1024a
|
b0bd060c20
|
修改了激活类型
|
2025-10-01 16:21:13 +08:00 |
|
minecraft1024a
|
a14ac31ca0
|
feat(social): 限制戳一戳动作的次数并优化提示
为防止滥用和骚扰,将单次"戳一戳"动作的最大次数限制为3次。
同时,更新了动作的使用指南,强调其为强打扰、高消耗行为,并禁止在模糊情境下使用,以引导模型更审慎地调用该功能。
|
2025-10-01 16:20:50 +08:00 |
|
minecraft1024a
|
b6d3ed110c
|
feat(napcat): 增强发送处理程序的日志记录和错误处理
为 Napcat 适配器中的 `send_handler` 增加了更详细的日志记录,以便更好地跟踪命令的发送和响应过程。同时,改进了表情回应命令的错误处理,以捕获并记录参数缺失或类型错误,提高了调试效率和系统的健壮性。
|
2025-10-01 15:44:35 +08:00 |
|