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
66f9b9b84f
refactor(chat): 重构消息管理器以使用集中式聊天流API
...
移除对context.chat_stream的直接依赖,改为通过get_chat_manager().get_stream()统一获取聊天流实例。这提高了模块独立性,符合"高内聚、低耦合"原则。
- 在MessageManager中统一使用chat_api获取stream实例
- 移除mood_manager中直接更新chat_stream的逻辑
- 在affinity_flow_chatter中统一处理兴趣度更新
- 消除直接属性访问带来的强耦合依赖
2025-11-19 23:09:14 +08:00
Windpicker-owo
a67b78b551
feat(chat): 实现动态消息分发系统和消息打断机制
...
添加基于focus_energy的动态消息分发周期调整功能,根据聊天流兴趣度智能调整检查间隔
实现消息打断系统,允许高优先级消息打断正在处理的任务
重构ChatStream类,引入动态兴趣度计算系统,包括消息兴趣度统计和用户关系评分
扩展数据库模型和配置系统以支持新功能,增加相关配置项
更新版本号至0.11.0-alpha-1以反映重大功能更新
2025-11-19 23:09:12 +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
Windpicker-owo
df5e68abe9
refactor(mood): 支持 DatabaseMessages 类型并改进时间处理逻辑
...
扩展 update_mood_by_message 方法参数类型,使其支持 MessageRecv 和 DatabaseMessages 两种消息类型。重构时间获取逻辑,通过类型检查分别处理不同消息对象的时间字段,提高代码健壮性和可复用性。
2025-11-19 23:08:43 +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
tt-P607
dedd06efdc
refactor(core): 适配核心数据获取与消息构建函数的异步调用
...
在数据库交互层异步化后,多个相关的数据获取和消息构建函数(如 `build_readable_messages`)也转为异步实现。本次提交在所有调用点添加了 `await` 关键字,以适应这一变化。
此外,本次提交还包含以下修复:
- 在主动思考模块中增加了对规划器返回无效动作的检查,避免后续流程出错。
- 修正了日志记录中错误的上下文变量引用。
2025-11-19 23:05:11 +08:00
Windpicker-owo
3980509caa
refactor(prompt): 重构并统一提示词系统
...
- 删除旧的智能提示词系统(smart_prompt.py)和相关参数模块(prompt_parameters.py)
- 将 prompt_builder.py 重命名为 prompt.py 并精简功能
- 更新所有模块的导入路径从 `src.chat.utils.prompt_builder` 到 `src.chat.utils.prompt`
- 统一提示词构建接口,使用新的 PromptContext 替代 SmartPromptParameters
- 移除重复和冗余代码,简化系统架构
BREAKING CHANGE: 旧的 SmartPrompt 系统已被完全移除,所有相关模块需要改用新的统一 Prompt 系统
2025-11-19 22:58:17 +08:00
Windpicker-owo
fe472dff60
修复代码格式和文件名大小写问题
2025-11-19 22:55:55 +08:00
minecraft1024a
fbd5f4325c
feat(chat): implement sleep pressure and insomnia system
...
This commit introduces a new sleep pressure and insomnia system to simulate more realistic character behavior.
Key features include:
- **Sleep Pressure**: A new metric that accumulates with each action the bot takes and decreases during scheduled sleep times.
- **Insomnia Mechanic**: When a sleep period begins, the system checks the current sleep pressure. Low pressure can lead to a higher chance of "insomnia," causing the bot to stay awake. There is also a small chance for random insomnia.
- **Insomnia State**: During insomnia, the bot enters a special state for a configurable duration. It can trigger unique proactive thoughts related to being unable to sleep, and its mood is adjusted accordingly.
- **Configuration**: All parameters, such as insomnia probability, duration, and pressure thresholds, are fully configurable.
2025-11-19 22:48:51 +08:00
minecraft1024a
2c98f64cdd
feat(sleep): 引入休眠阶段消息唤醒机制与愤怒情绪模式
...
- 扩展日程休眠逻辑,支持在睡眠时段通过@/私聊唤醒
- 新增 WakeUpManager 持续追踪唤醒阈值并触发愤怒状态
- MoodManager 中追加“被吵醒”情绪标识与愤怒提示模板
- HeartFChat 主循环集成唤醒处理管线,兼容原逻辑
- 配置中心开放阈值、衰减、持续时间等可调参数
此举允许机器人即便在“睡觉”时也能被重要消息强行“闹醒”,并以生气口吻做出回应,提升拟人化交互体验。
2025-11-19 22:45:15 +08:00
SengokuCola
4ffcc61f4b
feat:记录使用的表达方式
2025-08-12 21:44:35 +08:00
SengokuCola
2ea4c75e9c
fix:记忆构建出错
2025-08-09 00:42:39 +08:00
SengokuCola
5220c269b6
fix:修复表达学习出错
2025-08-09 00:19:02 +08:00
UnCLAS-Prommer
6c0edd0ad7
调整对应的调用
2025-07-30 17:07:55 +08:00
SengokuCola
7d216343bd
Update mood_manager.py
2025-07-25 16:57:30 +08:00
SengokuCola
8de3963069
feat 统一心情配置,为rewartite加入心情
2025-07-24 22:47:13 +08:00
SengokuCola
6c9c94d719
better:优化一些颜色和Logger
...
better:优化logger
2025-07-24 04:04:03 +08:00
UnCLAS-Prommer
f2c901bc98
typing
2025-07-20 18:14:53 +08:00
UnCLAS-Prommer
1aa2734d62
typing fix
2025-07-17 00:10:41 +08:00
UnCLASPrommer
b5fd959fe1
ruff, typing, api, bug fix
2025-07-15 16:50:29 +08:00
SengokuCola
6226de10ea
remove:移除pfc遗留代码
2025-07-13 15:19:56 +08:00
SengokuCola
64b9aae963
feat:为heatfc加入了类似s4u的prompt构建方式
2025-07-13 15:18:13 +08:00
UnCLAS-Prommer
f890722c3d
Merge branch 'dev' into plugin
2025-07-13 01:28:48 +08:00
github-actions[bot]
2d39cefce0
🤖 自动格式化代码 [skip ci]
2025-07-12 16:21:28 +00:00
UnCLAS-Prommer
7ef0bfb7c8
完成所有类型注解的修复
2025-07-13 00:19:54 +08:00
SengokuCola
6f1add930b
feat:统一化模式动作,移除模式配置
2025-07-12 23:24:02 +08:00
UnCLAS-Prommer
968eb92107
不再进行action_info转换了,保持一致性
2025-07-11 00:59:49 +08:00
github-actions[bot]
9eeff628b8
🤖 自动格式化代码 [skip ci]
2025-07-08 18:10:43 +00:00
SengokuCola
7ef5c9a46d
feat;新的情绪系统
2025-07-09 02:09:32 +08:00
SengokuCola
50f0ddf2ce
feat;新的情绪系统
2025-07-09 01:50:26 +08:00