tt-P607
|
94a8a74464
|
feat(chat): 过滤表情包消息以避免触发聊天
硬编码增加了一个过滤器,在消息处理的入口处(MessageManager.add_message)对以 [表情包 开头的消息进行拦截。
此举旨在防止纯表情包消息进入聊天流程,从而避免决策模型因无法理解“抽象”内容而作出不当回应或浪费资源。
|
2025-11-19 23:32:02 +08:00 |
|
Windpicker-owo
|
959143155f
|
refactor: 将流循环管理器替换为调度器分发器以处理消息
- 引入SchedulerDispatcher以通过统一调度器管理消息分发。
- 更新了MessageManager以使用新的调度器,移除了旧的流循环管理功能。
- 增强了 add_message 方法,以便在接收消息时通知调度器。
- 已移除废弃的中断处理方法,将其逻辑整合至调度器中。
- 修改了action_manager,改为等待数据库操作而非使用asyncio.create_task以实现更精细的控制。
- 优化了统一调度器,支持并发任务执行及运行中任务的取消。
- 为重构流程和新架构添加了全面的文档说明。
|
2025-11-19 23:32:01 +08:00 |
|
minecraft1024a
|
12c2b806a2
|
ruff
|
2025-11-19 23:30:34 +08:00 |
|
Windpicker-owo
|
a5ce23e854
|
refactor(logging): 将多个info日志级别的记录更改为debug级别,以减少日志输出
|
2025-11-19 23:30:30 +08:00 |
|
明天好像没什么
|
5638076328
|
refactor: 统一类型注解风格并优化代码结构
- 将裸 except 改为显式 Exception 捕获
- 用列表推导式替换冗余 for 循环
- 为类属性添加 ClassVar 注解
- 统一 Union/Optional 写法为 |
- 移除未使用的导入
- 修复 SQLAlchemy 空值比较语法
- 优化字符串拼接与字典更新逻辑
- 补充缺失的 noqa 注释与异常链
BREAKING CHANGE: 所有插件基类的类级字段现要求显式 ClassVar 注解,自定义插件需同步更新
|
2025-11-19 23:30:26 +08:00 |
|
minecraft1024a
|
2ee6aa3951
|
refactor(core): 优化类型提示与代码风格
本次提交对项目代码进行了广泛的重构,主要集中在以下几个方面:
1. **类型提示现代化**:
- 将 `typing` 模块中的 `Optional[T]`、`List[T]`、`Dict[K, V]` 等旧式类型提示更新为现代的 `T | None`、`list[T]`、`dict[K, V]` 语法。
- 这提高了代码的可读性,并与较新 Python 版本的风格保持一致。
2. **代码风格统一**:
- 移除了多余的空行和不必要的空格,使代码更加紧凑和规范。
- 统一了部分日志输出的格式,增强了日志的可读性。
3. **导入语句优化**:
- 调整了部分模块的 `import` 语句顺序,使其符合 PEP 8 规范。
这些更改不涉及任何功能性变动,旨在提升代码库的整体质量、可维护性和开发体验。
|
2025-11-19 23:30:12 +08:00 |
|
Windpicker-owo
|
97006301a3
|
feat(message-manager): 改进流生命周期管理和消息对象处理
-通过适当的任务取消为流循环添加强制重启功能
-通过更安全的删除和适当的任务终止来增强流清理
-改进亲和流聊天插件中的消息对象转换
-用DatabaseMessages对象替换基于字典的消息处理
-为任务取消添加超时处理,以防止死锁
-简化计划执行中的用户ID提取和消息ID处理
|
2025-11-19 23:30:07 +08:00 |
|
Windpicker-owo
|
2acd0a0830
|
refactor(message-manager): 删除自适应流管理器并优化上下文加载
-从distribution_manager和message_manager中删除adaptive_stream_manager.py及其集成
-删除过时的message_recv_backup.py,因为MessageRecv已被DatabaseMessages完全替换
-在context_manager中添加异步历史初始化,以便在启动时从数据库加载消息
-优化default_generator以使用内存中的消息,而不是重复的数据库查询
-修复message.py中的回复消息段处理,以处理DatabaseMessages格式
-从chat_stream.py中删除deepcopy并改进context_manager初始化
-清理bot.py和适配器响应方法中未使用的通知处理
突破性变化:自适应流管理系统已被完全删除。所有消息处理现在都依赖于DatabaseMessages格式。上下文管理器现在在创建时从数据库异步初始化历史记录。
|
2025-11-19 23:30:07 +08:00 |
|
Windpicker-owo
|
1b3a2342ce
|
重构消息处理并用DatabaseMessages替换MessageRecv
-更新PlusCommand以使用DatabaseMessages而不是MessageRecv。
-将消息处理逻辑重构到一个新模块message_processor.py中,以处理消息段并从消息字典中创建DatabaseMessages。
-删除了已弃用的MessageRecv类及其相关逻辑。
-调整了各种插件以适应新的DatabaseMessages结构。
-增强了消息处理功能中的错误处理和日志记录。
|
2025-11-19 23:30:06 +08:00 |
|
Windpicker-owo
|
f6aa923f06
|
feat(chat): 优化流处理逻辑与Normal模式性能
- 在StreamLoopManager中添加流能量更新机制,在处理消息前更新能量值用于间隔计算
- 为消息打断系统添加allow_reply_interruption配置选项,控制是否允许在回复时打断
- 重构AffinityFlowChatter规划器,为Normal模式添加简化流程,显著降低延迟
- 实现Normal模式与Focus模式间的智能切换机制,基于focus_energy概率退出Normal模式
- 移除冗余的兴趣度批量更新逻辑,优化数据库写入性能
- 更新配置模板版本至7.5.0
BREAKING CHANGE: 配置文件中新增allow_reply_interruption选项,需要更新配置
|
2025-11-19 23:27:06 +08:00 |
|
Windpicker-owo
|
90c5eb1274
|
feat(chat): 添加Chatter处理状态跟踪机制
在StreamLoopManager中添加is_chatter_processing标志来精确跟踪Chatter处理状态,优化消息打断检查逻辑。
- 在distribution_manager中设置和清除Chatter处理标志
- 在message_manager中基于处理状态进行打断检查
- 在数据模型中添加is_chatter_processing字段
|
2025-11-19 23:27:05 +08:00 |
|
tt-P607
|
ff73f7c0e8
|
fix(chat): 修复消息打断后的重复处理并优化回复逻辑
本次提交包含两项关键更改:
1. 将 `triggering_user_id` 的设置逻辑从 `ChatterManager` 迁移至 `StreamLoopManager` 的处理循环初期。这确保了触发用户ID能够更早、更可靠地被设置,为回复保护机制提供了正确的上下文,避免了潜在的逻辑错误。
2. 在消息成功打断正在执行的任务后,立即调用 `clear_all_unread_messages`。此举修复了当新消息打断旧任务时,旧消息队列未被清空,导致机器人可能在之后重新处理这些过时消息的缺陷,从而防止了重复响应。
|
2025-11-19 23:27:04 +08:00 |
|
Windpicker-owo
|
4d8fce1fe1
|
refactor(chat): 简化任务管理架构,移除多重回复支持
- 移除 ChatterManager 中的复杂任务追踪逻辑(_processing_tasks)
- 将流循环任务管理从 StreamLoopManager 转移到 StreamContext
- 简化消息打断机制,通过取消 stream_loop_task 实现
- 移除多重回复相关功能,统一使用单一任务管理
- 优化错误处理和资源清理逻辑
BREAKING CHANGE: 移除了多重回复功能,所有流处理现在使用单一任务架构
|
2025-11-19 23:27:00 +08:00 |
|
minecraft1024a
|
7a797a1de6
|
refactor(core): 移除睡眠系统
由于睡眠系统存在设计缺陷、实现复杂且维护成本高,并且实际使用效果不佳,常常导致非预期的行为(如错过重要消息或在不应睡眠时睡眠),现决定将其从核心代码中完全移除。
移除内容包括:
- 删除了整个 `sleep_system` 模块及其所有相关逻辑、状态管理和定时任务。
- 清理了配置文件 `config.py` 和 `official_configs.py` 中的 `SleepSystemConfig`。
- 移除了 `main.py` 中关于睡眠系统的初始化调用。
- 清理了 `message_manager` 和 `proactive_thinker` 中对睡眠状态的检查。
- 更新了 `bot_config_template.toml` 模板文件,移除了所有睡眠系统相关的配置项。
此举旨在简化项目架构,提高系统的稳定性和可预测性。未来的相关功能可能会以更健壮、更模块化的插件形式重新实现。
|
2025-11-19 23:24:50 +08:00 |
|
minecraft1024a
|
e7f431392a
|
refactor(sleep_system): 重构睡眠系统为单例模式并优化启动逻辑
将睡眠系统的核心组件 `SleepStateManager` 从全局变量实例化改为通过 `get_sleep_state_manager()` 函数获取的单例模式。这一改变解决了模块间的循环导入问题,并提升了代码的组织性和可维护性。
主要变更:
- 引入 `get_sleep_state_manager` 函数以惰性加载方式创建和返回 `SleepStateManager` 单例。
- 将 `sleep_logic.py` 中重复的作息时间计算逻辑提取到新的 `utils.py` 模块中,以实现代码复用。
- 在 `SleepStateManager` 初始化时增加 `_refresh_sleep_state` 方法,用于在程序启动时校准睡眠状态,确保状态与当前时间一致,防止因程序重启导致的状态错乱。
- 更新所有调用点,使用新的 `get_sleep_state_manager()` 函数来访问状态管理器。
|
2025-11-19 23:24:48 +08:00 |
|
minecraft1024a
|
92f5f9bbd9
|
feat(plugin_system): 引入高级Prompt注入规则系统以取代旧注入点机制
引入了一套全新的、基于规则的Prompt注入系统,以取代原有的 `injection_point` 机制。这套新系统提供了更强大、更灵活的Prompt内容注入能力。
主要变更包括:
- **引入 `InjectionRule` 和 `InjectionType`**:定义了注入规则的数据结构和注入类型(如 `PREPEND`, `APPEND`, `REPLACE`, `REMOVE`, `INSERT_AFTER`),允许插件开发者精确控制注入行为。
- **重构 `PromptComponentManager`**:核心逻辑从简单地拼接字符串 (`execute_components_for`) 重构为按优先级应用注入规则 (`apply_injections`),支持正则表达式匹配和更复杂的注入操作。
- **向后兼容**:`PromptInfo` 中增加了兼容逻辑,能自动将旧的 `injection_point` 定义转换为新的 `injection_rules`,确保现有插件无需立即修改即可正常工作。
- **更新 `BasePrompt`**:废弃了 `injection_point` 属性,并推荐使用新的 `injection_rules` 属性。
- **更新示例插件**:`hello_world_plugin` 已更新,展示了新注入规则的使用方法。
BREAKING CHANGE: `BasePrompt` 中的 `injection_point` 属性已被废弃。虽然目前存在向后兼容逻辑,但未来版本将移除该属性。所有Prompt组件都应迁移至使用 `injection_rules` 以获得更强的控制力和未来的兼容性。
|
2025-11-19 23:24:45 +08:00 |
|
minecraft1024a
|
f1dfe64f88
|
chore: 代码格式化与类型注解优化
对项目中的多个文件进行了代码风格调整和类型注解更新。
- 使用 ruff 工具对代码进行自动格式化,主要包括:
- 统一 import 语句的顺序和风格。
- 移除未使用的 import。
- 调整代码间距和空行。
- 将部分 `Optional[str]` 和 `List[T]` 等旧式类型注解更新为现代的 `str | None` 和 `list[T]` 语法。
- 修复了一些小的代码风格问题,例如将 `f'...'` 更改为 `f"..."`。
|
2025-11-19 23:24:42 +08:00 |
|
tt-P607
|
fcb11e464d
|
fix(chat): 修复戳一戳等notice事件无法触发聊天流程的问题
该修复解决了机器人对“戳一戳”等 notice 事件没有响应的 bug。
问题根源在于 MessageManager 在处理 notice 消息时,仅将其添加到全局通知管理器后便直接返回,导致消息无法进入后续的聊天处理流程,即使相关配置已开启。
主要变更:
修改 Elysia/Bot/src/chat/message_manager/message_manager.py,在处理 notice 消息时,增加对 bot_config.toml 中 enable_notice_trigger_chat 配置的判断。只有在该配置为 false 时才中断流程,否则将消息继续送入聊天上下文。
修复了 _get_notice_ttl 函数中因 notice_type 可能为 None 而引发的潜在 TypeError。
将 Bot/src/config/official_configs.py 中 enable_notice_trigger_chat 的默认值从 False 修改为 True,以提供更合理的开箱即用体验。
|
2025-11-19 23:24:36 +08:00 |
|
Windpicker-owo
|
87e0a7f079
|
feat(chat): 改进异步任务管理和取消处理
- 在 StreamLoopManager、MessageManager 和 DefaultReplyer 中增加子任务跟踪机制
- 统一处理 asyncio.CancelledError 异常,确保任务取消时能正确清理子任务
- 使用 child_tasks 集合管理子任务生命周期,防止任务泄漏
- 优化记忆存储等后台任务的创建方式,支持优雅取消
- 改进错误处理逻辑,确保异常情况下也能清理子任务资源
|
2025-11-19 23:24:30 +08:00 |
|
tt-P607
|
90d010f1f0
|
fix(chat): 防止在生成回复时触发消息打断
通过在聊天流上下文中引入 `is_replying` 状态标志,解决了在LLM生成回复期间可能被新消息错误打断的问题。
- 在调用LLM生成内容前将 `is_replying` 设置为 `True`。
- 在消息打断检查逻辑中,如果 `is_replying` 为 `True` 则跳过检查。
- 使用 `finally` 块确保无论生成成功或失败,`is_replying` 状态都会被重置为 `False`。
这确保了回复生成的原子性,防止了因用户快速连续发送消息而导致的自我打断。
|
2025-11-19 23:24:18 +08:00 |
|
tt-P607
|
54cfbacefa
|
feat(chat): 优化消息打断逻辑,仅限触发用户
为了防止群聊中其他用户的消息意外中断正在进行的AI多重回复,引入了“触发用户”机制。
- 现在,只有发起该轮对话的用户发送的新消息才可能触发打断。
- 此外,表情包和Emoji等非文本消息将被忽略,不再触发打断,以提高交互的流畅性。
|
2025-11-19 23:24:16 +08:00 |
|
Windpicker-owo
|
1ff266237d
|
refactor(notice): 移除硬编码的notice作用域判定逻辑
- 重构notice系统,作用域完全由additional_config中的is_public_notice字段决定
- 移除_determine_notice_scope方法中的硬编码notice类型检查
- 提供更灵活和可控的notice管理方式,支持显式配置公共notice
- 更新相关文档说明新的使用方式
BREAKING CHANGE: 之前依赖特定notice类型自动成为公共notice的插件需要显式设置is_public_notice=true
|
2025-11-19 23:23:59 +08:00 |
|
Windpicker-owo
|
1eda54cb8f
|
feat(notice): 实现全局notice消息管理系统
添加全局notice管理器,将notice消息与普通消息分离处理。主要功能包括:
- 创建 GlobalNoticeManager 单例类,支持公共和特定聊天流作用域
- 在 message_manager 中集成notice检测和处理逻辑
- 扩展数据库模型和消息类,添加notice相关字段
- 在提示词生成器中添加notice信息块展示
- 配置系统支持notice相关参数设置
- 适配器插件增强notice类型识别和配置
notice消息特点:
- 默认不触发聊天流程,只记录到全局管理器
- 可在提示词中展示最近的系统通知
- 支持按类型设置不同的生存时间
- 支持公共notice(所有聊天可见)和流特定notice
BREAKING CHANGE: 数据库消息表结构变更,需要添加 is_public_notice 和 notice_type 字段
|
2025-11-19 23:23:55 +08:00 |
|
minecraft1024a
|
2e1ca1ac78
|
ruff ci
|
2025-11-19 23:23:02 +08:00 |
|
minecraft1024a
|
73a40ad830
|
feat(chat): 引入睡眠系统,在睡眠状态下拦截消息
在消息处理的最前端 (`MessageManager`) 增加了对睡眠状态的检查。当系统处于 `SLEEPING` 状态时,将直接拦截所有新消息,不再进行后续处理。
同时,为了配合睡眠系统的正常运作:
- 将睡眠系统的定时任务初始化移至 `main.py`,确保其在应用启动时正确加载。
- 在主动思维插件 (`proactive_thinker`) 的定时任务(冷启动和日常唤醒)中增加了睡眠状态检查,避免在睡眠期间触发主动行为。
|
2025-11-19 23:22:38 +08:00 |
|
minecraft1024a
|
ce5fc64228
|
refactor(chat): 从 MessageManager 中移除睡眠和唤醒管理器的残留代码
在之前的提交 (cb51446) 中,睡眠管理器模块已被移除。本次提交清除了 `MessageManager` 中与之相关的残留代码,包括导入语句、实例初始化以及启动/停止逻辑,完成了整个重构过程。
|
2025-11-19 23:22:35 +08:00 |
|
minecraft1024a
|
0510ce9d55
|
Revert "实现了新的睡眠系统喵~",我看了不如我回去自己写一个()
This reverts commit e1dde64fc6.
|
2025-11-19 23:22:33 +08:00 |
|
ikun-11451
|
6827b740b5
|
实现了新的睡眠系统喵~
|
2025-11-19 23:22:29 +08:00 |
|
tt-P607
|
34701e34f1
|
feat(chat): 实现延迟重处理并修复并发问题
本次提交为聊天处理逻辑带来了两项关键改进:
1. **中断后的延迟重处理:**
当机器人被新消息打断时,系统现在会等待一个短暂的延迟(例如0.5秒)再重新处理。这允许多条快速连续发送的消息被合并到同一次处理中,避免了因消息轰炸导致的多次、零碎的处理流程,提高了效率和响应的连贯性。
2. **为聊天器添加并发锁:**
在 `AffinityChatter` 中引入了 `asyncio.Lock`,以确保每个实例一次只处理一个流上下文。这可以防止在并发场景下可能出现的竞争条件,保证了数据处理的原子性和状态的一致性。
|
2025-11-19 23:22:18 +08:00 |
|
tt-P607
|
3ae6761cbf
|
revert: 回退 commit 94e34c9370
|
2025-11-19 23:21:12 +08:00 |
|
tt-P607
|
2e2691c8d5
|
fix(chat): 修复消息打断会取消正在进行的回复任务的问题
之前的消息打断逻辑会无差别地取消处理流中的所有任务。这会导致一个问题:当用户在机器人生成回复期间快速发送新消息时,回复任务会被意外中断,导致机器人无法正常完成回复。
本次修改通过引入 `is_replying` 状态来解决此问题:
1. 在 `StreamContext` 中新增 `is_replying` 状态标志,用于追踪回复生成过程。
2. 当开始生成回复时,设置该标志为 `True`,并在回复完成或取消后通过 `finally` 块确保其恢复为 `False`。
3. `MessageManager` 的打断检查逻辑现在会首先检查此标志,如果为 `True` 则跳过打断,从而保护正在进行的回复。
4. `cancel_all_stream_tasks` 也增加了 `exclude_reply` 选项,确保即使触发打断,也不会取消回复任务。
|
2025-11-19 23:21:10 +08:00 |
|
Windpicker-owo
|
bdf0035034
|
refactor(chat): 重构关系系统并优化消息打断处理机制
- 移除独立的RelationshipConfig,将关系追踪参数整合到AffinityFlowConfig
- 实现消息打断后立即重新处理流程,提升交互响应性
- 优化关系追踪系统,添加概率筛选和超时保护机制
- 改进机器人自引用处理,确保消息内容正确显示
- 增强用户信息提取逻辑,兼容多种消息格式
- 添加异步后台任务处理,避免阻塞主回复流程
- 调整兴趣评分阈值和权重参数,优化消息匹配精度
|
2025-11-19 23:20:49 +08:00 |
|
Windpicker-owo
|
11e50b6521
|
refactor(chat): 优化任务管理机制支持多重回复
重构聊天管理器的任务处理系统,将单一任务追踪改为支持多重回复的任务列表管理。
主要变更:
- 将 `_processing_tasks` 从单任务字典改为任务列表字典
- 新增 `add_processing_task` 和 `get_all_processing_tasks` 方法
- 增强 `cancel_all_stream_tasks` 方法支持批量取消
- 修复消息打断机制,确保取消所有相关任务
- 优化任务清理逻辑,自动移除已完成任务
这些改进使系统能够更好地处理并发回复场景,提高任务管理的灵活性和可靠性。
|
2025-11-19 23:20:33 +08:00 |
|
Windpicker-owo
|
2448f83373
|
refactor(chat): 重构消息处理流程引入缓冲队列机制
通过引入消息缓冲队列,解决了高频消息场景下的竞态条件和消息丢失问题。
新的处理机制将消息暂存于缓冲区,仅在流处理空闲时才释放到未读队列,
确保了消息处理的原子性和一致性。
核心变更:
- 为每个聊天流创建独立的消息缓冲队列
- 实时跟踪流的处理状态,避免并发访问冲突
- 在处理开始前和完成后自动刷新缓冲区
- 仅在成功执行后清空未读消息,失败时保留消息
- 增加对取消任务和异常情况的容错处理
- 集成缓存统计和监控功能
此优化显著提升了消息处理的可靠性和性能表现。
|
2025-11-19 23:20:27 +08:00 |
|
Windpicker-owo
|
a3e08e591f
|
feat(chat): 重构消息打断系统为线性概率模型
将复杂的指数衰减概率模型简化为线性概率模型,提高可预测性和可配置性
- 新增最低打断概率配置,确保始终有打断机会
- 移除复杂的概率因子计算,改用简单的线性递减公式
- 增加最大打断次数默认值从3提升到10
- 保留废弃配置项以确保向后兼容
- 更新配置模板和文档说明新的概率计算方式
|
2025-11-19 23:20:16 +08:00 |
|
tt-P607
|
2e45a251d6
|
refactor(chat): 重构消息打断逻辑以从 ChatterManager 获取任务
将正在处理的任务跟踪从 ContextManager 转移到 ChatterManager。
此举旨在集中管理聊天任务,降低 MessageManager 与 ContextManager 之间的耦合。现在,中断处理逻辑直接查询 ChatterManager 以获取并取消当前活动任务,使任务状态管理更加清晰和可靠。
|
2025-11-19 23:20:06 +08:00 |
|
sunbiz1024
|
950b086063
|
ruff
|
2025-11-19 23:19:53 +08:00 |
|
minecraft1024a
|
2a89efe47a
|
ruff fix但指定了--unsafe-fixes
|
2025-11-19 23:19:42 +08:00 |
|
minecraft1024a
|
7c89dcd625
|
fix(api): 修复机器人消息统计计数器逻辑
chore(logging): 移除 message_manager 各模块多余的启动日志
- 修复了 `get_bot_message_stats_by_chat` 接口中错误地将计数器重置为1而不是递增的问题。
- 清理了 `message_manager` 及其子模块中重复或不必要的启动日志,以减少日志冗余。
|
2025-11-19 23:17:52 +08:00 |
|
Windpicker-owo
|
481252d660
|
refactor(chat): 异步化聊天系统并重构兴趣值计算机制
将同步调用改为异步调用以提升性能,重构兴趣值计算流程以支持更灵活的组件化架构。主要改进包括:
- 异步化ChatManager相关方法,避免阻塞主线程
- 重构兴趣值计算系统,从插件内部计算改为通过兴趣管理器统一处理
- 新增should_act字段支持更细粒度的动作决策
- 优化初始化逻辑,避免构造函数中的异步操作
- 扩展插件系统支持兴趣计算器组件注册
- 更新数据库模型以支持新的兴趣值相关字段
这些改进提升了系统的响应性能和可扩展性,同时保持了API的向后兼容性。
|
2025-11-19 23:15:31 +08:00 |
|
Windpicker-owo
|
a5a16971e9
|
refactor(memory): 移除废弃的记忆系统备份文件,优化消息管理器架构
移除了deprecated_backup目录下的所有废弃记忆系统文件,包括增强记忆适配器、钩子、集成层、重排序器、元数据索引、多阶段检索和向量存储等模块。同时优化了消息管理器,集成了批量数据库写入器、流缓存管理器和自适应流管理器,提升了系统性能和可维护性。
|
2025-11-19 23:14:42 +08:00 |
|
minecraft1024a
|
e02af208c4
|
ruff
|
2025-11-19 23:14:28 +08:00 |
|
Windpicker-owo
|
2fc8e26d3c
|
refactor(chat): 优化异步任务处理和参数传递机制
- 重构ExpressionSelector初始化,添加chat_id参数支持
- 优化StreamLoopManager中异步任务的创建和管理方式
- 简化MessageManager中的消息添加流程
- 调整Prompt中表情选择器的参数传递结构
|
2025-11-19 23:14:08 +08:00 |
|
John Richard
|
a79253c714
|
re-style: 格式化代码
|
2025-11-19 23:13:20 +08:00 |
|
John Richard
|
00ba07e0e1
|
style: 格式化代码
|
2025-11-19 23:12:18 +08:00 |
|
tt-P607
|
22dc9374fd
|
fix(chat): 在聊天流处理后清除未读消息
在之前的逻辑中,当 ChatterManager 处理完一个聊天流后,该流上下文中的 unread_messages 列表并未被清空。这可能导致在后续的处理周期中,相同的消息被重复获取和处理,引发非预期的行为并浪费计算资源。
此更改通过在 MessageManager 中新增 `clear_stream_unread_messages` 方法,并在每次成功处理流之后立即调用它,确保消息只被处理一次,解决了潜在的重复处理问题。
|
2025-11-19 23:11:37 +08:00 |
|
Windpicker-owo
|
8844bcf17a
|
fix(message_manager): 修复全局消息管理器实例创建时的拼写错误
|
2025-11-19 23:11:12 +08:00 |
|
Windpicker-owo
|
37c8253f54
|
feat(memory): 增强记忆构建系统并优化检索性能
- 添加记忆提取异常处理机制,提升系统稳定性
- 实现记忆内容格式化功能,增强可读性和结构化输出
- 优化LLM响应解析逻辑,避免系统标识误写入记忆
- 改进向量存储批量嵌入生成,提升处理效率
- 为记忆系统添加机器人身份上下文注入,避免自身信息记录
- 增强记忆检索接口,支持额外上下文参数传递
- 添加控制台记忆预览功能,便于人工检查
- 优化记忆融合算法,正确处理单记忆组情况
- 改进流循环管理器,支持未读消息积压强制分发机制
|
2025-11-19 23:11:11 +08:00 |
|
Windpicker-owo
|
0a3c908654
|
feat(memory): 增强记忆构建上下文处理能力并优化兴趣度批量更新机制
- 在记忆构建过程中允许检索历史记忆作为上下文补充
- 改进LLM响应解析逻辑,增强JSON提取兼容性
- 优化消息兴趣度计算和批量更新机制,减少数据库写入频率
- 添加构建状态管理,支持在BUILDING状态下进行记忆检索
- 修复stream_id拼写错误处理和历史消息获取逻辑
|
2025-11-19 23:11:10 +08:00 |
|
Windpicker-owo
|
fc429228b5
|
fix(chat): 增强消息查找功能并添加未读消息自动清理机制
- 重构 `_find_message_by_id` 方法,支持多种消息ID格式和模糊匹配
- 在动作执行后自动清理未读消息,防止消息堆积
- 为 `reply` 动作添加目标消息查找失败时的降级处理
- 将消息计数和关系查询方法改为异步调用以保持一致性
|
2025-11-19 23:09:53 +08:00 |
|