Commit Graph

590 Commits

Author SHA1 Message Date
minecraft1024a
0ea8d16ff4 feat(chat): 在亲和流对话中触发表达学习
每次亲和流对话器处理消息时,都会异步触发一次表达学习任务。这有助于模型根据最近的对话内容,持续优化其表达方式。
2025-09-24 20:57:12 +08:00
minecraft1024a
7607b08cc2 杀掉一部分日志 2025-09-24 18:13:46 +08:00
minecraft1024a
159a7f7e9d fix(napcat_adapter): 确保回复消息的目标 ID 始终为字符串 2025-09-24 18:06:13 +08:00
minecraft1024a
693392add9 chore(napcat_adapter): 增加回复消息段数据日志 2025-09-24 18:01:14 +08:00
minecraft1024a
efd8414985 chore(napcat_adapter): 增加待处理消息段的日志 2025-09-24 17:34:16 +08:00
minecraft1024a
e7dd4f2c31 chore(napcat_adapter): 增加回复消息的目标 ID 日志 2025-09-24 17:32:46 +08:00
minecraft1024a
62ba8c3bfb 我是打日志先人 2025-09-24 16:53:44 +08:00
minecraft1024a
c7f8760b2d chore(napcat_adapter): 增加消息发送与回复处理的详细日志
为了方便排查消息发送失败或引用回复行为不符合预期的问题,在消息发送和回复处理的关键路径上增加了详细的日志输出。

- 在调用 NapCat 发送接口前,记录准备发送的完整消息体。
- 在 `handle_reply_message` 方法中,记录获取被引用消息详情、判断是否 @ 用户以及最终返回的消息段等步骤。
2025-09-24 16:24:16 +08:00
tt-P607
1a24233b86 feat(core): 实现消息异步处理并引入LLM驱动的智能表情回应
本次更新对系统核心处理流程和插件功能进行了重要升级,主要包含以下两方面:

1.  **消息处理异步化**:
    - 在 `main.py` 中引入了 `asyncio.create_task` 机制,将每条消息的处理过程包装成一个独立的后台任务。
    - 这解决了长时间运行的AI或插件操作可能阻塞主事件循环的问题,显著提升了机器人的响应速度和系统稳定性。
    - 为后台任务添加了完成回调,现在可以详细地记录每个消息处理任务的成功、失败或取消状态及其耗时,便于监控和调试。

2.  **`set_emoji_like` 插件智能化**:
    - 为 `set_emoji_like` 插件增加了LLM驱动的表情选择功能。当动作指令未指定具体表情时,插件会自动构建包含聊天上下文、情绪和人设的提示,请求LLM选择一个最合适的表情进行回应。
    - 为支持此功能,对AFC规划器的提示词进行了优化,为LLM提供了更清晰的参数示例和规则,提高了动作生成的准确性。

此外,为了统一日志规范,将 `[所见]` 消息接收日志集中到 `bot.py` 中,确保在任何过滤逻辑执行前记录所有收到的消息,并移除了插件中重复的日志。
2025-09-24 15:43:12 +08:00
Windpicker-owo
37f9b46bcf feat(affinity_flow_chatter): 增强动作思考过程在回复生成中的集成
添加了将动作思考过程集成到回复生成流程的功能:
- 在 generator_api 中新增逻辑,将 action_data 中的 thinking 字段内容添加到 extra_info
- 优化 plan_filter 中对 thinking 字段的处理逻辑,避免添加无意义的默认值
- 更新默认生成器提示词,移除冗余的关系信息块重复
- 在 planner 提示词中添加不对表情包消息回应的限制
2025-09-24 13:53:54 +08:00
Windpicker-owo
9ca8d5d1c0 perf(logging): 将信息级别日志降级为调试级别以优化性能
减少日志输出量,将两个模块中的非关键信息日志从INFO级别调整为DEBUG级别,提升运行效率并减少日志噪音。
2025-09-24 12:48:37 +08:00
tt-P607
d666773f1f feat(affinity_flow_chatter): 优化动作提示词,为 LLM 提供完整 JSON 范例
为了提升语言模型在选择和执行动作时的稳定性和格式准确性,对动作提示词的生成方式进行了重构。

旧的实现仅提供动作和参数的文本描述,这使得模型在生成动作 JSON 时容易出错。

新的实现为每个可用动作动态构建一个完整的 JSON 使用范例,包含 `action_type`、附带示例值的参数和 `reason` 字段。这种更明确的格式指导旨在显著降低模型输出格式错误的风险。
2025-09-24 03:17:11 +08:00
tt-P607
ce7d0dead4 feat(affinity_flow_chatter): 优化戳一戳动作以更精准地回应原始消息
当LLM在执行 poke_user 动作时未指定 target_message_id,系统现在会主动在消息历史中寻找触发该动作的“戳一戳”通知,以实现更具上下文的回应。如果未找到对应的通知消息,则会回退到使用最新的消息作为目标。

此外,本次更新包含以下修复:
- 修复了在计划过滤器中错误地引用 `self.available_actions` 的问题,现已更正为 `plan.available_actions`。
- 修复了 `ActionModifier` 中动作列表在多阶段过滤时未及时更新的问题,确保了动作筛选的准确性。
2025-09-24 01:59:28 +08:00
tt-P607
1b8876c4bb 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-09-24 01:41:04 +08:00
tt-P607
9135bd72e4 Merge branch 'afc' of https://github.com/MoFox-Studio/MoFox_Bot into afc 2025-09-23 23:20:31 +08:00
tt-P607
7a05312672 fix(affinity_flow_chatter): 修复私聊上下文构建时对目标信息的访问方式
在近期的重构中,`plan.target_info` 的数据结构已从对象变更为字典。此提交将对应的属性访问方式(`.`)更新为字典键访问(`.get()`),以防止在构建私聊上下文描述时出现 `AttributeError`。
2025-09-23 23:20:18 +08:00
Windpicker-owo
d2abd92a44 feat(affinity_flow_chatter): 添加情绪状态获取接口
为 AffinityChatter 和 ChatterActionPlanner 添加情绪状态相关方法:
- get_current_mood_state() 获取当前情绪状态描述
- get_mood_stats() 获取情绪状态统计信息
- 在规划器中集成情绪管理器更新逻辑

这些接口允许外部模块获取聊天过程中的情绪状态数据,增强了情感交互能力。
2025-09-23 23:14:11 +08:00
Windpicker-owo
ebc4feebd9 refactor(affinity_flow): 重构规划器架构并简化日志输出
- 移除ChatterManager中不必要的ActionPlanner实例化
- 在MessageManager中设置默认聊天模式为FOCUS
- 重构BaseChatter构造函数,移除planner依赖
- 统一ChatMode枚举定义,移除GROUP/PRIVATE模式
- 重构AffinityChatter内部planner初始化逻辑
- 大幅简化兴趣评分系统的日志输出
- 修复plan_filter中的动作解析逻辑,支持新格式
- 更新planner_prompts提示词模板,移除私聊限制
- 优化关系追踪器的错误处理和日志输出
2025-09-23 22:18:03 +08:00
minecraft1024a
ae738ef8cb perf(memory): 优化记忆系统数据库操作并修复并发问题
将消息记忆次数的更新方式从单次写入重构为批量更新,在记忆构建任务结束时统一执行,大幅减少数据库写入次数,显著提升性能。

此外,为 `HippocampusManager` 添加了异步锁,以防止记忆巩固和遗忘操作并发执行时产生竞争条件。同时,增加了节点去重逻辑,在插入数据库前检查重复的概念,确保数据一致性。
2025-09-23 19:15:58 +08:00
Windpicker-owo
68bf0972df refactor(plugins): 将亲和力流模块重构为插件架构并移除旧代码
本次重构将亲和力流(Affinity Flow)模块从核心聊天系统迁移到插件架构中,主要变更包括:

- 删除 src/chat/planner_actions/ 目录下的 plan_executor.py、plan_filter.py 和 planner.py
- 更新插件系统组件类型,将 FOCUS 聊天模式改为 GROUP 和 PRIVATE 模式
- 调整亲和力流插件中的模式引用,确保与新的聊天模式枚举保持一致
- 统一亲和力流模块的导入路径,使其完全作为插件运行

BREAKING CHANGE: 移除原有的 FOCUS 聊天模式,改为 GROUP 和 PRIVATE 模式,需要更新相关配置和代码引用
2025-09-23 14:13:41 +08:00
Windpicker-owo
c08998c585 refactor(plugins): 统一亲和力流模块导入路径
将 chatter 子模块重命名为 affinity_flow_chatter 后,更新相关导入路径以保持一致性:
- individuality.py 中的兴趣评分系统导入路径
- plan_filter.py 中的兴趣评分系统导入路径

这些更改确保模块引用与新的目录结构保持一致,避免导入错误。
2025-09-23 13:38:55 +08:00
Windpicker-owo
e2ca1c7131 refactor(plugins): 统一亲和力流模块导入路径
将 chatter 模块重命名为 affinity_flow_chatter 后,更新相关文件的导入路径以保持一致性:
- chatter_manager.py 中的 ActionPlanner 导入路径
- default_generator.py 中的 interest_scoring 和 relationship_tracker 导入路径
- planner.py 中的内部模块导入路径

这些更改确保模块重构后的代码能够正确引用 affinity_flow_chatter 插件中的组件。
2025-09-23 13:22:06 +08:00
Windpicker-owo
31d3ec45d0 refactor(plugins): 重构亲和力流模块的导入路径
将 chatter 模块重命名为 affinity_flow_chatter 以明确功能区分,
更新 main.py、base_chatter.py、affinity_chatter.py 和 planner.py
中的相关导入语句,确保模块引用正确性。
2025-09-23 13:18:23 +08:00
Windpicker-owo
c3a16fda8d Merge branch 'afc' of https://github.com/MoFox-Studio/MoFox_Bot into afc 2025-09-23 13:14:44 +08:00
Windpicker-owo
a218b932fb refactor(chat): 移除亲和力流模块并将其重构为插件架构
BREAKING CHANGE: 原有的亲和力流相关模块(src/chat/affinity_flow/)已被完全移除,相关功能已重构为插件形式。需要更新配置文件和相关依赖。

- 删除 src/chat/affinity_flow/ 目录下的所有文件
- 将 AFC 管理器功能移至 chatter 插件中实现
- 更新相关导入路径和引用
- 重构关系追踪器和兴趣评分系统的初始化逻辑
- 调整聊天管理器和消息管理器以适应新的插件架构
2025-09-23 13:14:38 +08:00
Windpicker-owo
ddcae01612 Merge branch 'afc' of https://github.com/MoFox-Studio/MoFox_Bot into afc 2025-09-23 00:19:35 +08:00
Windpicker-owo
e1683ee9e6 feat: 在插件系统中添加 Chatter 组件
- 在 component_types.py 中新增了用于 CHATTER 的 ComponentType。
- 实现了 ChatterInfo 类,用于存储 Chatter 组件的相关信息。
- 增强了 ComponentRegistry,以支持 Chatter 组件的注册与管理。
- 创建了 ChatterManager,用于管理 Chatter 实例并处理聊天流。
- 开发了 BaseChatter 抽象类,用于定义 Chatter 的行为规范。
- 实现了 AffinityChatter,作为具备兴趣评分与关系构建功能的具体 Chatter 组件。
- 添加了一个内置的 Chatter 插件,并附带完整文档与使用示例。
- 更新了 PluginManager,在插件概览中加入 Chatter 组件的统计信息。
2025-09-23 00:17:32 +08:00
tt-P607
56b42defdd feat(poke): 优化戳一戳功能,优先使用 user_id 定位用户
之前的戳一戳功能仅依赖 `user_name` 来查找用户,这在某些情况下可能导致识别不准确或失败。

本次更新对计划执行器 (`PlanExecutor`) 进行了增强,使其在处理 `poke_user` 动作时,能直接从目标消息中提取 `user_id`。`PokeAction` 插件现在会优先使用这个更可靠的 `user_id`。如果 `user_id` 不存在,则回退到使用 `user_name` 作为备用方案。

这显著提高了戳一戳功能的准确性和稳定性。
2025-09-22 22:52:28 +08:00
tt-P607
9ab0857d89 fix: 修复表情动作模型调用并完善视频分析结果存储
- 表情动作: 将模型调用从 `planner` 切换到 `utils`,以使用更合适的模型进行表情推荐。
- 视频分析: 增加检查逻辑,仅当分析成功且结果不为错误提示时,才将结果存入数据库,防止存储无效记录。
2025-09-22 15:44:51 +08:00
Windpicker-owo
be9de3868c refactor(napcat_adapter): 移除消息缓冲功能及相关配置
删除消息缓冲功能,包括:
- 移除 message_buffer.py 完整实现
- 清理插件配置中的消息缓冲相关字段
- 删除 message_handler.py 中的缓冲处理逻辑
- 移除 send_handler.py 中的缓冲消息ID特殊处理
- 删除不再使用的模板配置文件

此功能因稳定性问题和实际需求较少而被移除,简化了代码结构并减少维护负担。
2025-09-21 18:14:24 +08:00
雅诺狐
df809b6dc3 更改权限 2025-09-21 13:09:29 +08:00
tt-P607
ceb4d2d7bb 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-09-21 08:46:59 +08:00
Windpicker-owo
444f1ca315 ruff,私聊视为提及了bot 2025-09-20 22:34:22 +08:00
tt-P607
0286d75228 fix(emoji): 修正对同步函数的 await 调用
`get_recent_emojis` 和 `add_emoji_to_history` 函数已被重构为同步方法。本次提交移除了对这两个函数不必要的 `await` 调用,以修复由此引发的 `TypeError`。
2025-09-20 22:12:07 +08:00
Windpicker-owo
006f9130b9 feat(affinity-flow): 增强关系追踪系统的人设集成和逻辑严谨性
- 在关系追踪器中集成bot人设信息,从性格视角分析用户互动
- 添加严格的关系分数档次定义和现实发展逻辑约束
- 改进提示词工程,要求详细的性格观察和互动记忆记录
- 单次互动加分限制在合理范围内(0.05-0.1),防止跳跃式关系提升
- 优化关系印象描述要求(100-200字),包含用户性格特点和深刻记忆

refactor(planner): 简化消息数据处理流程

- 使用StreamContext对象替代原始的message_data字典
- 移除冗余的消息数据准备步骤,直接从context获取未读消息
- 统一规划器接口,提高代码可读性和维护性

fix(person-info): 添加napcat到qq平台的用户ID迁移机制

- 为qq平台生成person_id时检查是否存在napcat平台的相同用户
- 如果存在则自动迁移记录并更新平台信息
- 确保用户身份在不同平台间的正确识别和延续

fix(plan-executor): 修复自我回复检测逻辑

- 使用action_message.user_info.user_id替代原始字典访问
- 防止因消息格式变化导致的自我回复检测失效

chore(config): 更新默认平台配置为qq

- 将napcat_adapter插件的默认平台名称从napcat改为qq
- 保持与现有部署环境的一致性
2025-09-20 22:11:38 +08:00
tt-P607
ca780919a8 fix(core): 修正因异步改造遗漏的 await 调用
在最近的数据库异步化重构后,部分函数的调用处忘记添加 `await` 关键字,导致协程未被正确执行。

本次提交修复了以下模块中的问题:
- `ExpressionLearner`
- `ChatMessageBuilder`
- `EmojiAction
2025-09-20 22:04:43 +08:00
雅诺狐
832743249d refactor(db): 修正SQLAlchemy异步操作调用方式
移除session.add()方法的不必要await调用,修正异步数据库操作模式。主要变更包括:

- 将 `await session.add()` 统一改为 `session.add()`
- 修正部分函数调用为异步版本(如消息查询函数)
- 重构SQLAlchemyTransaction为完全异步实现
- 重写napcat_adapter_plugin数据库层以符合异步规范
- 添加aiomysql和aiosqlite依赖支持
2025-09-20 17:26:28 +08:00
雅诺狐
55717669dd refactor(db): 将数据库操作异步化
- 将所有 session.add() 改为 await session.add()
- 将所有 session.commit() 改为 await session.commit()
- 将 session.refresh() 改为 await session.refresh()
2025-09-20 14:35:31 +08:00
tt-P607
e2e0d3c30a refactor(core): 适配核心数据获取与消息构建函数的异步调用
在数据库交互层异步化后,多个相关的数据获取和消息构建函数(如 `build_readable_messages`)也转为异步实现。本次提交在所有调用点添加了 `await` 关键字,以适应这一变化。

此外,本次提交还包含以下修复:
- 在主动思考模块中增加了对规划器返回无效动作的检查,避免后续流程出错。
- 修正了日志记录中错误的上下文变量引用。
2025-09-20 13:52:37 +08:00
雅诺狐
898208f425 perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
2025-09-20 10:55:06 +08:00
Windpicker-owo
812e4d76f8 feat(affinity-flow): 实现回复后关系追踪系统集成
- 在relationship_tracker.py中添加数据库支持的回复后关系追踪功能
- 新增UserRelationships数据库模型存储用户关系数据
- 集成全局关系追踪器到planner和interest_scoring系统
- 优化兴趣度评分系统的关系分获取逻辑,优先使用数据库存储的关系分
- 在plan_executor中执行回复后关系追踪,分析用户反应并更新关系
- 添加LLM响应清理功能确保JSON解析稳定性
- 更新模型配置模板添加relationship_tracker模型配置
2025-09-19 11:28:37 +08:00
tt-P607
437d804efd feat(napcat): 支持音乐分享卡片并增强消息兼容性
新增对 NapCat 框架音乐分享类型消息的解析支持。现在可以正确识别并提取音乐卡片中的歌曲、歌手、来源和封面等信息,并将其格式化为图文消息进行展示。

此外,增强了消息接收的兼容性。对于缺少 `post_type` 字段但包含 `message_type` 的普通消息,会自动补充 `post_type` 字段,确保其能被正常路由和处理,避免消息丢失。
2025-09-18 15:06:55 +08:00
tt-P607
bd8859ed82 回退“feat: 实现KEYWORD_OR_LLM_JUDGE激活类型” 2025-09-17 22:43:01 +08:00
tt-P607
722790d830 feat(plugins): 新增网易云音乐点歌插件
新增一个内置的音乐点歌插件,允许用户通过自然语言或特定命令搜索和分享来自网易云音乐的歌曲。

- **双模触发**: 支持通过关键词(如“点歌”、“来首歌”)自动激活的 Action 组件和通过 `/music <歌曲名>` 命令精确触发的 Command 组件。
- **API集成**: 集成了第三方网易云音乐API,用于搜索歌曲信息,并包含重试机制以提高稳定性。
- **丰富的消息类型**: 能够将搜索结果以标准的音乐卡片形式发送给用户,提升交互体验。
- **高度可配置**: 插件提供了详细的配置文件,允许用户自定义API地址、超时时间、功能开关(如是否显示专辑封面、是否以语音形式发送)等。
- **完整的插件结构**: 包含了 `_manifest.json`、`README.md` 和 `LICENSE` 文件,符合插件规范,提供了清晰的文档和许可证信息。
2025-09-17 20:59:31 +08:00
tt-P607
9f1b62a63a feat(reminder): 增强自然语言时间解析的智能化
更新了用于时间转换的LLM提示词,增加了更智能的推断规则,以更准确地处理模糊的时间表述。

主要改进:
- 根据当前时间上下文推断上午/下午。例如,在下午说“8点”,将被理解为当晚20:00。
- 当解析出的时间早于当前时间时,自动将提醒设置为第二天,避免创建无效的过去提醒。
2025-09-16 15:34:01 +08:00
tt-P607
31ede52be9 fix(reminder): 修复多条提醒消息重复@用户的问题
当提醒消息被分割成多段发送时,旧的逻辑会导致每一段消息都@目标用户。

本次修改调整了消息构造逻辑,确保只有第一段消息会包含@提醒,避免在群聊中造成不必要的刷屏。
2025-09-16 15:27:54 +08:00
tt-P607
2fba610bb7 feat(reminder): 使用 LLM 生成个性化提醒消息
将提醒插件中的确认消息和提醒通知改为通过 `generator_api` 调用 LLM 生成,以提供更具个性和符合人设的互动体验。

- **动态确认消息**: 在用户成功设置提醒后,调用 LLM 生成一条生动的确认回复,取代了原有的固定文本。
- **动态提醒内容**: 在提醒任务触发时,调用 LLM 根据提醒内容、设置者和被提醒者信息生成一条定制化的提醒消息。
- **回退机制**: 为确保核心功能的稳定性,在 LLM 调用失败或未返回有效内容时,系统将自动回退到原有的硬编码模板消息。
2025-09-16 15:12:25 +08:00
tt-P607
3603d5ec61 feat(reminder): 提升提醒功能的用户识别与意图理解
为提升提醒插件的可用性和准确性,进行了两项主要增强:

1.  **优化意图提取Prompt**:向LLM提供了Bot自身名称,并增加了示例,指导其更准确地识别提醒的真正目标,避免将Bot误认为被提醒人。
2.  **引入多级用户匹配机制**:在原有的精确名称匹配基础上,增加了子字符串包含匹配和基于`difflib`的模糊匹配,大幅提高了在用户名称输入不完全或有误时成功设置提醒的概率。
2025-09-16 14:37:34 +08:00
tt-P607
890cedc1ed feat(planner): 重构动作决策逻辑与参数提取机制
本次提交对动作规划器(Planner)和动作(Action)的执行流程进行了重大重构,旨在提高决策的准确性和可靠性,使机器人能更精确地响应用户指令。

核心变更:
- **决策与参数提取分离**: 规划器(Planner)现在专注于根据用户意图选择最合适的动作,不再负责提取动作参数。
- **动作参数自解析**: `RemindAction` 等动作现在通过内部调用 LLM,从用户消息中自行解析所需参数,使其更加独立和健壮。
- **优化决策Prompt**: 引入“最高优先级检查”和“互斥原则”,强制优先执行由明确意图触发的特定动作(如 `set_reminder`),并在此情况下禁止选择 `reply`,避免重复响应。
- **增强调试**: 在处理循环中增加了日志,以清晰地记录LLM最终选择的动作组合,方便调试。
2025-09-16 14:00:33 +08:00
tt-P607
c87827f5d3 111,目前不可用 2025-09-15 23:54:15 +08:00