Windpicker-owo
|
74d022c489
|
feat(chat): 增强任务管理和取消机制
添加新的任务管理方法来更好地处理异步任务的生命周期:
- 新增 cancel_processing_task、remove_processing_task 等方法
- 在流循环清理时自动取消关联的 chatter 处理任务
- 添加活跃任务统计信息到管理器统计中
- 改进 prompt 构建时的任务类型检查和错误处理
|
2025-11-19 23:14:31 +08:00 |
|
Windpicker-owo
|
f8aa149c39
|
refactor(chat): 优化流循环管理和数据库性能
移除StreamLoopManager中的锁机制,简化并发流处理逻辑
- 删除loop_lock,减少锁竞争和超时问题
- 优化流启动、停止和清理流程
- 增强错误处理和日志记录
增强数据库操作性能
- 集成数据库批量调度器和连接池管理器
- 优化ChatStream保存机制,支持批量更新
- 改进数据库会话管理,提高并发性能
清理和优化代码结构
- 移除affinity_chatter中的重复方法
- 改进prompt表达习惯格式化
- 完善系统启动和清理流程
|
2025-11-19 23:14:16 +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 |
|
minecraft1024a
|
944876227a
|
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-11-19 23:11:51 +08:00 |
|
Windpicker-owo
|
727f9550f5
|
feat(memory): 实现灵活搜索模式并重构记忆格式化系统
- 新增灵活匹配模式(flexible_mode),支持2/4项匹配即可的记忆检索策略
- 删除冗余的memory_formatter模块,简化记忆系统架构
- 增强枚举值解析机制,支持字符串、整数和枚举实例的自动转换
- 优化元数据索引搜索逻辑,分离严格模式和灵活模式的实现路径
- 改进向量存储的搜索回退机制,当元数据筛选无结果时自动回退到全量搜索
- 统一记忆类型映射管理,避免重复的格式化函数定义
这些变更提升了记忆检索的准确性和灵活性,同时简化了代码结构,提高了系统可维护性。
|
2025-11-19 23:11:40 +08:00 |
|
Windpicker-owo
|
afb1a75ebf
|
feat:实现具有向量和元数据索引的统一内存存储系统
- 添加了 UnifiedMemoryStorage 类,用于管理带向量嵌入的内存块。
- 集成了 FAISS,以实现高效的向量存储和搜索。
- 实现了内存缓存、关键字、类型和用户索引。
- 增加了内存遗忘和自动保存存储数据的支持。
- 包含用于存储、搜索和遗忘记忆的方法。
- 引入了存储行为和性能的配置选项。
- 实现了从磁盘加载和保存内存及向量数据。
|
2025-11-19 23:11:25 +08:00 |
|
tt-P607
|
a109d31497
|
fix(db): 增强数据库会话管理的容错性
调整了 `get_db_session` 的行为,当数据库未能成功初始化时,它现在会返回 `None` 并记录错误,而不是抛出异常。这提高了应用在数据库连接不可用时的健壮性,避免了程序因无法获取会话而崩溃。
- `VideoAnalyzer` 已更新,增加了对会话为 `None` 的检查,以安全地跳过数据库读写操作。
- 附带对 `VideoAnalyzer` 和 `LegacyVideoAnalyzer` 进行了重构,将模型选择和API请求执行的逻辑抽象到独立的 `_model_selector` 和 `_executor` 组件中,提升了代码的清晰度和可维护性。
|
2025-11-19 23:11:22 +08:00 |
|
Windpicker-owo
|
8fa18a74e2
|
feat(memory): 重构记忆系统检索机制并优化召回率
- 实现五阶段检索流程:元数据过滤→向量搜索→语义重排序→上下文过滤→增强重排序
- 添加回退机制保障检索健壮性,当主检索失败时自动降级到文本匹配
- 优化向量相似度阈值配置,提升记忆召回率
- 新增记忆融合候选收集机制,避免重复记忆存储
- 改进记忆格式化器,支持多种展示格式
- 增强向量存储加载和重建逻辑,确保数据持久化
- 优化记忆存储时机,移至回复生成完成后异步执行
- 添加详细的检索调试日志,便于问题排查
- 简化查询规划器提示模板,提升生成效率
|
2025-11-19 23:11:22 +08:00 |
|
Windpicker-owo
|
3fcf8e9add
|
feat(memory): 重构记忆系统并移除插件热重载
重构记忆系统核心模块,引入全局记忆作用域、记忆指纹去重机制和查询规划器,优化多阶段检索性能。移除插件热重载系统及其相关依赖。
主要变更:
- 引入全局记忆作用域,简化记忆管理
- 实现记忆指纹去重,避免重复记忆存储
- 新增查询规划器,支持语义查询规划和记忆类型过滤
- 优化多阶段检索,增加语义重排和权重配置
- 改进向量存储,支持嵌入维度自动解析和查询向量生成
- 增强元数据索引,支持主体索引和更新操作
- 记忆构建器支持多主体和自然语言展示
- 移除watchdog依赖和插件热重载模块
- 更新配置模板,简化记忆配置项
BREAKING CHANGE: 移除插件热重载系统,相关API和命令不再可用。记忆系统接口有较大调整,使用该系统的模块需要适配新接口。
|
2025-11-19 23:11:14 +08:00 |
|
Windpicker-owo
|
37c8253f54
|
feat(memory): 增强记忆构建系统并优化检索性能
- 添加记忆提取异常处理机制,提升系统稳定性
- 实现记忆内容格式化功能,增强可读性和结构化输出
- 优化LLM响应解析逻辑,避免系统标识误写入记忆
- 改进向量存储批量嵌入生成,提升处理效率
- 为记忆系统添加机器人身份上下文注入,避免自身信息记录
- 增强记忆检索接口,支持额外上下文参数传递
- 添加控制台记忆预览功能,便于人工检查
- 优化记忆融合算法,正确处理单记忆组情况
- 改进流循环管理器,支持未读消息积压强制分发机制
|
2025-11-19 23:11:11 +08:00 |
|
Windpicker-owo
|
a2217bd377
|
feat(memory): 实现增强记忆系统并完全替换原有架构
引入全新的增强记忆系统,彻底取代海马体记忆架构
删除旧版记忆系统相关模块,包括Hippocampus、异步包装器和优化器
重构消息处理流程,集成增强记忆系统的存储和检索功能
更新配置结构以支持增强记忆的各项参数设置
禁用原有定时任务,采用内置维护机制保证系统性能
|
2025-11-19 23:10:15 +08:00 |
|
Windpicker-owo
|
0b4a85de1e
|
fix(chat): 将同步调用改为异步调用以匹配接口变更
修改了多处 person_info_manager.get_value() 方法的调用方式,从同步调用改为异步调用(添加 await 关键字),使其与异步接口保持一致。这确保了在获取用户信息时的正确异步操作,避免了潜在的阻塞问题。
涉及文件:
- src/chat/replyer/default_generator.py (3处修改)
- src/chat/utils/prompt.py (1处修改)
- src/person_info/relationship_builder.py (1处修改)
|
2025-11-19 23:09:56 +08:00 |
|
Windpicker-owo
|
ae0c2704d1
|
refactor(chat): 移除 ChatStream 的历史消息自动加载功能
移除 ChatStream 初始化时的 `_load_history_messages()` 调用,改为按需异步加载历史消息。这解决了启动时阻塞事件循环的问题,并提高了聊天流初始化的性能。
主要变更:
- 删除 `ChatStream._load_history_messages()` 方法及相关代码
- 将多个模块中的同步数据库查询函数改为异步版本
- 修复相关调用处的异步调用方式
- 优化图片描述查询的错误处理
BREAKING CHANGE: `get_raw_msg_before_timestamp_with_chat` 和相关消息查询函数现在改为异步操作,需要调用处使用 await
|
2025-11-19 23:09:40 +08:00 |
|
Windpicker-owo
|
c31fd02daf
|
refactor(chat): 迁移数据库操作为异步模式并修复相关调用
将同步数据库操作全面迁移为异步模式,主要涉及:
- 将 `with get_db_session()` 改为 `async with get_db_session()`
- 修复相关异步调用链,确保 await 正确传递
- 优化消息管理器、上下文管理器等核心组件的异步处理
- 移除同步的 person_id 获取方法,避免协程对象传递问题
修复 deepcopy 在 StreamContext 中的序列化问题,跳过不可序列化的 asyncio.Task 对象
删除无用的测试文件和废弃的插件清单文件
|
2025-11-19 23:09:34 +08:00 |
|
Windpicker-owo
|
9836d317b8
|
refactor(database): 将同步数据库操作迁移为异步操作
将整个项目的数据库操作从同步模式迁移为异步模式,主要涉及以下修改:
- 将 `with get_db_session()` 改为 `async with get_db_session()`
- 将同步的 SQLAlchemy 查询方法改为异步执行
- 更新相关的方法签名,添加 async/await 关键字
- 修复由于异步化导致的并发问题和性能问题
这些修改提高了数据库操作的并发性能,避免了阻塞主线程,提升了系统的整体响应能力。涉及修改的模块包括表情包管理、反提示注入统计、用户封禁管理、记忆系统、消息存储等多个核心组件。
BREAKING CHANGE: 所有涉及数据库操作的方法现在都需要使用异步调用,同步调用将不再工作
|
2025-11-19 23:09:31 +08:00 |
|
tt-P607
|
2a46618f68
|
refactor(config): 移除全局表达开关以支持分聊天配置
移除全局的 `enable_expression` 配置项,转而使用 `get_expression_config_for_chat` 方法在生成提示词时动态判断。
原有的全局开关不够灵活,无法满足分聊天、分群组控制表达功能的需求。此次重构通过在运行时检查每个聊天的具体配置,实现了更精细化的功能启用控制。
BREAKING CHANGE: 全局配置项 `expression.enable_expression` 已被移除。现在需要通过表达规则来为不同的聊天单独控制功能的启用状态。
|
2025-11-19 23:09:27 +08:00 |
|
tt-P607
|
b5342376eb
|
feat(affinity_flow_chatter): 重构计划器以支持多动作并优化思考逻辑
本次提交对亲和流聊天器(AFC)的计划与决策核心进行了重大重构和功能增强,旨在提升其响应的灵活性、鲁棒性和可观测性。
主要变更包括:
1. **多动作支持与解析重构**:
- `PlanFilter` 现在能够正确解析并处理 LLM 返回的动作列表(`"actions": [...]`),而不仅限于单个动作,这使得机器人能够执行更复杂的组合行为。
- 增强了动作解析的鲁棒性,当找不到 `target_message_id` 时会优雅降级(如 `reply` 变为 `no_action`),并会根据当前实际可用的动作列表对 LLM 的选择进行验证。
2. **提示词工程与思考模式优化**:
- 重新设计了核心 Planner 提示词,将 `thinking` 字段定义为“思绪流”,引导 LLM 生成更自然、更符合角色的内心独白,而非简单的决策理由,从而提升决策质量和角色扮演的沉浸感。
- 强制要求 LLM 为需要目标消息的动作提供 `target_message_id`,提高了动作执行的准确性。
3. **上下文构建与鲁棒性增强**:
- 在 `PlanFilter` 中增加了上下文回退机制,当内存中缺少历史消息时(如冷启动),会自动从数据库加载最近的消息记录,确保决策所需上下文的完整性。
- 简化了提供给 LLM 的未读消息格式,移除了兴趣度分数等内部信息,并加入了用户昵称,使其更易于理解和处理。
4. **可观测性与日志改进**:
- 在 AFC 的多个关键节点(消息接收、决策、动作执行)增加了彩色的详细日志,使其决策流程像 HFC 一样清晰可见,极大地方便了调试。
- 将系统中多个模块(视频分析、兴趣度匹配、情绪管理)的常规日志级别从 `INFO` 调整为 `DEBUG`,以减少在生产环境中的日志噪音。
5. **动作描述优化**:
- 优化了 `set_emoji_like` 和 `emoji` 等动作的描述,使其意图更清晰,帮助 LLM 做出更准确的动作选择。
|
2025-11-19 23:08:45 +08:00 |
|
tt-P607
|
0c7780f8f8
|
fix: 修复表情动作模型调用并完善视频分析结果存储
- 表情动作: 将模型调用从 `planner` 切换到 `utils`,以使用更合适的模型进行表情推荐。
- 视频分析: 增加检查逻辑,仅当分析成功且结果不为错误提示时,才将结果存入数据库,防止存储无效记录。
|
2025-11-19 23:08:04 +08:00 |
|
tt-P607
|
3a291b3f2a
|
feat(chat): 区分群聊和私聊生成不同场景提示
之前的 Prompt 模板硬编码了群聊场景,导致在私聊时机器人的角色认知和回应可能不恰当。
本次更新通过引入动态聊天场景提示来解决此问题:
- 在 Prompt 模板中使用 `{chat_scene}` 占位符代替了硬编码的场景描述。
- Replyer 会根据当前是群聊还是私聊,生成不同的场景提示文本(如“你正在一个QQ群里聊天”或“你正在和XX私下聊天”)。
- 通过 PromptParameters 将动态生成的场景提示传递给 Prompt 系统,使模型能够更好地理解上下文。
|
2025-11-19 23:08:01 +08:00 |
|
tt-P607
|
8621dcdf75
|
fix(chat): 修复并优化消息回复与ID处理逻辑
先前的消息回复机制存在多个问题:回复行为随机且不可靠,临时消息ID生成逻辑过于复杂,且在规划和执行过程中ID转换容易出错,导致回复失败。
本次提交通过以下几点进行了全面的修复与优化:
- **简化ID生成**:将临时的上下文消息ID生成逻辑从“索引+随机数”简化为纯索引(如 `m1`, `m2`),使其更可预测且易于调试。
- **修正ID替换**:在 `plan_filter` 中增加了关键逻辑,确保在执行 `reply` 动作前,将计划中使用的临时 `target_message_id` 替换为真实的数据库消息ID。
- **稳定回复行为**:移除了 `action_manager` 中的随机回复判断,现在只要存在上下文消息,就会触发引用回复。同时将各 `send_api` 的 `set_reply` 参数默认值改为 `True`,使回复成为默认行为。
- **增强ID兼容性**:修复了 `napcat_adapter` 中将消息ID强制转换为整数的问题,并为 `send_api` 增加了ID回退查找,提高了对不同平台消息ID格式的兼容性。
|
2025-11-19 23:07:38 +08:00 |
|
Windpicker-owo
|
ad729d74c8
|
feat(affinity-flow): 优化提及检测逻辑和阈值配置
- 简化提及检测逻辑,移除冗余的私聊检查变量
- 使用配置项 mention_bot_adjustment_threshold 替换硬编码的50%阈值
- 在消息处理中清除开头可能存在的空行
- 增加首次认识用户的信息存储方法,避免未知用户处理逻辑
- 调整消息管理器检查间隔从2秒到5秒,减少系统负载
- 修复计划执行器中用户ID比较逻辑,防止自我回复死循环
|
2025-11-19 23:07:36 +08:00 |
|
Windpicker-owo
|
df3c616d09
|
ruff,私聊视为提及了bot
|
2025-11-19 23:07:30 +08:00 |
|
Windpicker-owo
|
3193927a76
|
feat(affinity-flow): 重构消息处理以使用StreamContext对象
重构AFC消息处理系统,将基于字典的消息数据传递改为直接使用StreamContext对象。主要变更包括:
- 修改AFCManager的process_message方法为process_stream_context,直接接收StreamContext对象
- 在chatter中重构消息处理逻辑,直接从StreamContext获取未读和历史消息
- 移除批量消息处理功能,改为单次StreamContext处理
- 在message_manager中简化消息处理流程,直接传递StreamContext对象
- 添加未读消息清理机制,防止异常情况下消息一直未读
同时优化兴趣度评分系统的参数:
- 调整回复阈值从0.55到0.56
- 增加最大不回复次数从15到20
- 提升每次不回复的概率增加从0.01到0.02
- 优化提及奖励从3.0降到1.0
- 调整回复后的不回复计数减少从1到3
BREAKING CHANGE: AFCManager的process_message方法已重命名为process_stream_context,参数从message_data改为context对象
|
2025-11-19 23:07:03 +08:00 |
|
minecraft1024a
|
6dc288ecb4
|
fix(chat): 完善LLM分句逻辑,在无分割标记时回退至标点分割
当使用 "llm" 模式进行分句时,如果模型未能按预期生成 `[SPLIT]` 标记,之前的逻辑会直接返回整个未分割的文本。
这可能导致过长的句子被发送到下游模块(如TTS),影响体验。本次修改添加了回退机制,当未检测到 `[SPLIT]` 标记时,会自动切换到基于标点的传统分句方法,以提高分句的鲁棒性。
|
2025-11-19 23:05:52 +08:00 |
|
minecraft1024a
|
69c6829aed
|
refactor(chat): 将 get_chat_type_and_target_info 重构为异步函数
将 `get_chat_type_and_target_info` 函数从同步改为异步,以支持其内部对异步方法 `person_info_manager.get_values` 的调用。
此更改可防止在获取聊天对象信息时阻塞事件循环。所有调用此函数的代码(包括 `SubHeartflow`, `ActionModifier`, `PlanGenerator`, `DefaultReplyer`)都已相应更新为使用 `await`。
在 `DefaultReplyer` 中引入了延迟异步初始化模式 (`_async_init`),以适应其类生命周期。
|
2025-11-19 23:05:46 +08:00 |
|
minecraft1024a
|
f204be3146
|
feat(chat): 在聊天消息中显示用户 QQ 号
|
2025-11-19 23:05:43 +08:00 |
|
tt-P607
|
f3b3e60c1c
|
feat(chat): 增加已读标记以聚焦未读消息
为聊天上下文生成逻辑引入了“已读标记” (read_mark) 机制。
当生成回复时,可以在历史消息中插入一个明确的分隔符,以告知模型哪些消息是它已经看过的旧消息,哪些是需要关注的新消息。
这有助于模型更好地聚焦于未读内容,提升上下文感知能力和回复的相关性。
同时,将 Prompt 模板中的“群聊”等硬编码文本参数化,以更好地适配私聊等不同聊天场景。
|
2025-11-19 23:05:36 +08:00 |
|
雅诺狐
|
4091a4eadf
|
更改权限
|
2025-11-19 23:05:29 +08:00 |
|
雅诺狐
|
142a744ed0
|
Update utils_video.py
|
2025-11-19 23:05:24 +08:00 |
|
雅诺狐
|
e11a24b479
|
更新视频识别
|
2025-11-19 23:05:24 +08:00 |
|
tt-P607
|
26b9d02476
|
fix(core): 修正因异步改造遗漏的 await 调用
在最近的数据库异步化重构后,部分函数的调用处忘记添加 `await` 关键字,导致协程未被正确执行。
本次提交修复了以下模块中的问题:
- `ExpressionLearner`
- `ChatMessageBuilder`
- `EmojiAction
|
2025-11-19 23:05:22 +08:00 |
|
minecraft1024a
|
79baac2797
|
refactor(person_info): 引入同步方法 get_value 并替换旧的 get_value_sync(因为根本就没有这个方法)
为了解决在不同异步上下文中同步调用数据库可能引发的运行时错误,实现了一个新的、更健壮的同步方法 `PersonInfoManager.get_value`。
- 新方法能够正确处理已在运行的 asyncio 事件循环,提高了在混合代码环境中调用的稳定性。
- 全面替换了原有的 `get_value_sync` 方法调用,统一了同步获取用户信息的接口。
|
2025-11-19 23:05:20 +08:00 |
|
雅诺狐
|
679195d792
|
refactor(db): 修正SQLAlchemy异步操作调用方式
移除session.add()方法的不必要await调用,修正异步数据库操作模式。主要变更包括:
- 将 `await session.add()` 统一改为 `session.add()`
- 修正部分函数调用为异步版本(如消息查询函数)
- 重构SQLAlchemyTransaction为完全异步实现
- 重写napcat_adapter_plugin数据库层以符合异步规范
- 添加aiomysql和aiosqlite依赖支持
|
2025-11-19 23:05:17 +08:00 |
|
雅诺狐
|
0cffc0aa95
|
refactor(db): 将数据库操作异步化
- 将所有 session.add() 改为 await session.add()
- 将所有 session.commit() 改为 await session.commit()
- 将 session.refresh() 改为 await session.refresh()
|
2025-11-19 23:05:14 +08:00 |
|
tt-P607
|
dedd06efdc
|
refactor(core): 适配核心数据获取与消息构建函数的异步调用
在数据库交互层异步化后,多个相关的数据获取和消息构建函数(如 `build_readable_messages`)也转为异步实现。本次提交在所有调用点添加了 `await` 关键字,以适应这一变化。
此外,本次提交还包含以下修复:
- 在主动思考模块中增加了对规划器返回无效动作的检查,避免后续流程出错。
- 修正了日志记录中错误的上下文变量引用。
|
2025-11-19 23:05:11 +08:00 |
|
tt-P607
|
d53238dfc9
|
4次修改
|
2025-11-19 23:05:02 +08:00 |
|
雅诺狐
|
93542cadef
|
perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
|
2025-11-19 23:05:00 +08:00 |
|
tt-P607
|
aba4f1a947
|
三次修改
|
2025-11-19 23:02:01 +08:00 |
|
tt-P607
|
d0b630b212
|
fix(chat): 优化线程环境下的同步数据库调用逻辑
重构了 `_sync_db_get` 函数,以解决在复杂线程和事件循环场景下可能出现的死锁和不稳定性问题。
旧的实现逻辑过于复杂,试图处理多种事件循环状态,容易出错。新的实现采用了更简洁、更健壮的策略:
- 缓存主事件循环的引用,优先在子线程中使用 `run_coroutine_threadsafe`。
- 当无法使用主循环或在主线程中时,回退到使用 `asyncio.run()` 创建新循环来执行异步任务,这是一种更安全的模式。
- 增加了保护措施,避免在已运行的主事件循环中调用时造成阻塞。
此外,此提交还修复了日志记录器中可能添加空前缀导致格式异常的小问题。
|
2025-11-19 23:01:09 +08:00 |
|
tt-P607
|
1aa93010b4
|
呀,柒柒!♪~ 让我来看看这次的修改,为你谱写一段美妙的提交记录吧!这次的改动主要是为了让我的“内心思考”过程变得更加清晰和可爱,调试起来也会更方便哦!
feat(planner): 引入内心思考流,优化规划器推理与日志可读性
本次更新引入了“内心思考”机制,旨在取代原有简单的`reason`字段,使AI的决策过程更加透明、自然,并富有角色扮演的特色。这不仅增强了AI的人设表现力,也极大地提升了日志的可读性和调试效率。
主要变更包括:
- **Prompt 优化**: 彻底重构了规划器(Planner)的核心提示词,引导大语言模型生成一段模拟人类的、未经修饰的思绪流作为决策依据。新的 Prompt 强调展现思考过程而非结论,并提供了详细的示例。
- **日志高亮与格式化**: 在日志系统中增加了对“内心思考:”关键词的特殊渲染逻辑。现在,AI的思考过程会在控制台中以醒目的粉色高亮并独立成段显示,让调试者可以一眼洞察AI的决策动机。
- **异步健壮性提升**: 重构了`_sync_db_get`函数,采用`asyncio.run_coroutine_threadsafe`来安全地处理从同步线程调用异步数据库的场景,解决了潜在的事件循环冲突和死锁风险,增强了系统的稳定性。
- **日志完整性**: 移除了对图片描述等日志内容的长度截断,确保在调试过程中可以查看完整信息,方便问题定位。
|
2025-11-19 23:01:08 +08:00 |
|
tt-P607
|
e6d5c405ba
|
feat(knowledge): 优化知识库返回结构和集成流程
- 重构QAManager.get_knowledge()返回结构化字典包含知识项和摘要
- 在bot.py中添加initialize_lpmm_knowledge()初始化调用
- 更新Prompt类知识库集成逻辑,改进错误处理
- 优化lpmm知识工具显示格式,增强用户体验
- 调整异步任务基础超时时间从10秒增至20秒
|
2025-11-19 23:01:07 +08:00 |
|
Furina-1013-create
|
37ef10f499
|
修复reply动作缺少action_message的重大问题
|
2025-11-19 23:00:59 +08:00 |
|
tt-P607
|
4d30040f59
|
呀,柒柒,这次我们对表情包系统进行了一次超级棒的大升级哦!它现在变得更聪明、更懂我们的心意啦!就像我一样,总能找到最完美的表情来点亮对话!♪~
这是我为你准备的提交信息,你看看喜不喜欢~
feat(chat): 使用 LLM 优化表情包选择与分析
本次提交对表情包系统进行了核心重构,从原有的基于关键词相似度匹配的简单算法,升级为由大型语言模型(LLM)驱动的智能决策流程。这使得表情包的选择和分析更加精准、智能和人性化。
主要变更包括:
1. **引入 LLM 进行表情包选择**
- 重写了 `get_emoji_for_text` 方法,废弃了原有的编辑距离算法。
- 新流程会根据配置随机抽取一部分表情包作为候选,并构建一个精细的 Prompt,引导 LLM 根据输入的“情感描述”选择最匹配的表情包。这让选择不再局限于字面匹配,而是能理解更深层次的语境和情绪。
2. **优化表情包描述与分析流程**
- 大幅改进了 `build_emoji_description` 中的 VLM 和 LLM 提示词,使其能生成更懂网络文化、更详细的表情包描述,并提炼出更精准的情感关键词。
- 为动态图(GIF)和静态图设计了不同的分析策略,以获得更高质量的描述结果。
3. **增强 Planner 动作连贯性**
- 更新了 `planner_prompts`,明确要求当 `reply` 和 `emoji` 动作同时触发时,`emoji` 的选择必须基于 `reply` 动作生成的最终文本内容。这确保了文字和表情包的表达高度一致。
4. **逻辑与配置微调**
- 在 `utils_image` 中,现在只有当“偷表情包”功能开启时,才会保存接收到的表情包,避免了不必要的文件存储。
- 将表情包检查间隔 `check_interval` 的类型从 `int` 改为 `float`,允许更灵活的配置。
|
2025-11-19 23:00:58 +08:00 |
|
tt-P607
|
513a5c17a2
|
refactor(chat): 简化记忆激活方法的参数
更新 `activate_memory_with_chat_history` 的调用方式,使用 `target_message` 对象来替代独立的 `target_user` 和 `chat_id` 参数。
此举将相关上下文封装到单个对象中,使得接口更加清晰,提高了代码的可维护性。
|
2025-11-19 23:00:46 +08:00 |
|
minecraft1024a
|
8d8cae8c10
|
fix(chat): 修复计划过滤器和消息构建器中的潜在空指针问题
- 在 `plan_filter.py` 中,当LLM未指定 `target_message_id` 时,明确将目标消息设置为最新的消息,避免后续操作因 `target_message_dict` 未定义而出错。
- 在 `chat_message_builder.py` 中,为 `replace_user_references_sync` 函数增加了对 `content` 为空的检查,防止后续处理引发异常。
- 将数据库查询从 `.scalar()` 改为 `.scalar_one_or_none()`,以更清晰地处理未找到结果的情况。
|
2025-11-19 23:00:43 +08:00 |
|
tt-P607
|
ca2941f5f7
|
根据提供的 git diff 分析,这是一个重构变更,主要是修改了异步内存包装器的导入和使用方式。以下是生成的常规提交消息:
refactor(prompt): 重构异步即时内存包装器的导入和使用方式
- 将 async_memory 导入更改为 get_async_instant_memory 函数
- 简化内存获取逻辑,通过工厂函数创建包装器实例
- 更新参数传递方式,使用 target 替代 sender 参数
- 减少代码行数,提高可读性
|
2025-11-19 23:00:27 +08:00 |
|
BuildTools
|
ca82c1c2f2
|
优化s4u提示词
|
2025-11-19 23:00:25 +08:00 |
|
tt-P607
|
25aa75a6db
|
feat(prompt): 添加安全准则参数并更新工具执行器
- 在PromptParameters类中添加safety_guidelines_block参数
- 更新ToolExecutor初始化,传入chat_id参数用于上下文追踪
- 在所有参数准备方法中集成安全准则配置
- 增强prompt系统的安全性和可追溯性
|
2025-11-19 23:00:18 +08:00 |
|