Windpicker-owo
6c042cc73f
迁移napcat插件至built_in
2025-09-06 03:38:43 +08:00
Windpicker-owo
d05e2f9ee4
修复一堆新prompt的bug
2025-09-06 01:36:00 +08:00
Windpicker-owo
90cbd5773e
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-09-06 00:11:31 +08:00
Windpicker-owo
c9b712d8fa
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-09-06 00:10:54 +08:00
minecraft1024a
cb8a9e33fc
docs(chat): 为HeartFChatting模块添加详细的函数文档
...
为 `_handle_proactive_monitor_completion`, `_proactive_monitor_loop`, `_should_enable_proactive_thinking`, `_get_dynamic_thinking_interval`, 和 `_format_duration` 等关键函数补充了详细的文档字符串。
这些文档字符串解释了每个函数的功能、参数和返回值,以提高代码的可读性和可维护性。
2025-09-05 21:57:13 +08:00
minecraft1024a
8074a1b082
refactor(sleep): 将睡眠和唤醒管理逻辑重构到独立的sleep_manager模块
...
将原先分散在 `chat/chat_loop` 和 `schedule` 目录下的 `WakeUpManager` 和 `SleepManager` 相关逻辑,统一移动并整合到新的 `src/chat/chat_loop/sleep_manager` 模块中。
这次重构旨在提高代码的模块化和内聚性,使睡眠相关的功能更加集中和易于管理。同时更新了所有相关的导入路径,以反映新的文件结构。
2025-09-05 21:51:55 +08:00
minecraft1024a
4b256721d3
refactor(chat): 重构聊天循环逻辑,简化CycleProcessor职责
...
将`no_reply`计数器管理、睡眠压力增加等逻辑从`CycleProcessor`上移至`HeartFChatting`主循环中,使其职责更清晰。`CycleProcessor.observe`现在直接返回执行的动作类型,简化了其内部状态管理。
主要变更:
- `CycleProcessor`不再处理回复生成、并行任务和最终循环信息的构建,这些复杂的逻辑被移除,极大地简化了该类。
- `HeartFChatting`现在负责根据`observe`返回的动作类型来管理`no_reply`计数器和睡眠压力。
- 删除了`CycleProcessor.execute_plan`方法,主动思考的回复流程被重构,直接调用`generator_api`和`response_handler.send_response`。
- 移除了`response_handler`中已废弃的`generate_response`方法。
2025-09-05 21:40:42 +08:00
minecraft1024a
e1fbdaad8c
rrrrrrrrrrrrrruuuuuuuuuuuuuuuuuuuuffffffffffffffffffffffffff
2025-09-05 21:01:32 +08:00
minecraft1024a
513757a8ee
chore: format code and remove redundant blank lines
...
This commit applies automated code formatting across the project. The changes primarily involve removing unnecessary blank lines and ensuring consistent code style, improving readability and maintainability without altering functionality.
2025-09-05 20:58:03 +08:00
minecraft1024a
488e959577
refactor(chat): 重构主动思考逻辑并将其集成到主聊天循环
...
将原有的 `ProactiveThinker` 类中的逻辑直接整合进 `HeartFChatting` 类中。此举简化了整体架构,减少了类之间的耦合,并使得主动思考的触发机制与主聊天循环的状态管理更加统一。
主要变更:
- 删除了独立的 `proactive_thinker.py` 文件。
- 将主动思考的监控循环、条件检查、动态间隔计算等功能实现为 `HeartFChatting` 的私有方法。
- 引入了 `ProactiveTriggerEvent` 事件,使触发源更加明确。
- 调整了相关模块的导入路径和配置项的调用方式,以适应新的结构。
2025-09-05 20:30:35 +08:00
minecraft1024a
55abedfbf0
Merge remote-tracking branch 'origin/master' into dev
2025-09-05 19:34:47 +08:00
minecraft1024a
5bae2fa8f8
refactor(chat): 抽象化跨群聊上下文构建逻辑
...
将 `build_cross_context` 方法的实现委托给 `cross_context_api`。
这简化了 `prompt_utils` 中的代码,将复杂的上下文构建逻辑(包括获取其他群聊、根据模式获取和格式化消息)封装到专用的API中,提高了代码的模块化和可维护性。
2025-09-05 19:11:21 +08:00
minecraft1024a
420a7f0bef
refactor(chat): 简化响应处理逻辑
...
- 移除 `send_response` 方法中多余的 `reply_to_str` 参数
- 调整 `text_to_stream` 调用,不再传递消息数据作为回复目标
- 确保 `handle_message_storage` 的 `reason` 参数始终为字符串
2025-09-05 18:36:49 +08:00
Furina-1013-create
ac1253acc5
fix: 修复 graph_nodes 表 weight 字段缺失问题
...
- 在 GraphNodes 模型中添加 weight 字段,设置默认值为 1.0
- 修复 Hippocampus.py 中插入 GraphNodes 时缺少 weight 字段的问题
- 解决 sqlite3.IntegrityError: NOT NULL constraint failed: graph_nodes.weight 错误
2025-09-04 20:57:59 +08:00
Windpicker-owo
f4b8bf5904
加入breaking启用配置
2025-09-04 00:09:43 +08:00
Windpicker-owo
498b57de13
删除无用函数
2025-09-03 23:56:03 +08:00
Windpicker-owo
efe81fa346
fix(chat): 优化breaking模式下的兴趣值累积逻辑
...
重构heartFC_chat中的消息处理机制,使用累积兴趣值替代最近三次记录来判断是否进入breaking模式。主要变更包括:
- 将breaking模式判断基于累积兴趣值而非最近3次记录
- 在消息成功处理时重置累积兴趣值
- 调整阈值计算方式,使用聊天频率进行动态调整
- 修复send_api中的消息查找函数,提高回复消息匹配准确性
这些改动提高了对话节奏控制的稳定性,使breaking模式触发更加合理。
2025-09-03 22:19:00 +08:00
Windpicker-owo
ee15f45559
typing和防炸
2025-09-03 21:36:22 +08:00
Windpicker-owo
53e72ecbdb
迁移:1f91967(remove:移除willing系统,移除reply2,移除能量值,移除reply_to改为message)
2025-09-03 21:27:28 +08:00
Windpicker-owo
a63ca537d1
fix:修复图片识别爆炸
2025-09-03 20:03:47 +08:00
Windpicker-owo
368517267e
fix: at和回复只显示qq号的问题
2025-09-03 17:51:55 +08:00
Windpicker-owo
b7e042161f
优化s4u提示词结构,修复复读问题
2025-09-03 16:33:41 +08:00
Windpicker-owo
e29e9e563a
迁移:4b59eda(feat:修改focus value的用途)
2025-09-02 21:14:30 +08:00
Windpicker-owo
e361bf429f
迁移:1515cef(fix:必要性修复)
2025-09-02 17:24:27 +08:00
Windpicker-owo
ac143a1201
迁移:a247be0(ref:彻底合并normal和focus,完全基于planner决定target message)
2025-09-02 16:15:33 +08:00
Windpicker-owo
255e3627b4
feat(chat): refactor logging and integrate no_reply system action
...
将日志前缀管理集中到context,新增willing_manager依赖,并把no_reply提升为系统级可用动作
- CycleProcessor 统一改从 context 获取 log_prefix
- HeartFChatting 引入 willing_manager
- ResponseHandler _send_response -> send_response 去下划线统一对外接口
- ActionPlanner 将 no_reply 添加至 current_available_actions
2025-09-01 22:41:42 +08:00
Windpicker-owo
f7ed3bbb6c
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-09-01 21:13:00 +08:00
Windpicker-owo
9f49a453da
迁移:3804124,9e9e796
...
(feat:将no_reply内置、fix:优化reply,填补缺失值)
2025-09-01 21:12:55 +08:00
tt-P607
5eb1ac97d3
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-09-01 15:44:23 +08:00
tt-P607
3340e39e56
feat(chat): 添加图片消息判断工具函数
...
增加 `is_image_message` 函数,用于根据消息字典的内容判断该消息是否为图片类型。这有助于在处理不同消息类型时,能够准确识别并分流图片消息。
2025-09-01 15:44:11 +08:00
Windpicker-owo
581c2dcb80
fix
2025-09-01 15:43:51 +08:00
Windpicker-owo
366dadeb15
迁移:69a855d(feat:保存关键词到message数据库)
2025-09-01 15:24:43 +08:00
Windpicker-owo
9e64806d08
迁移:685c759 (feat:将no_reply功能移动到主循环中)
2025-09-01 14:18:49 +08:00
Windpicker-owo
d49ad0ad01
增加注释
2025-09-01 13:13:56 +08:00
Windpicker-owo
6e50eb5929
添加动作修改计时
2025-09-01 12:57:57 +08:00
Windpicker-owo
30e66d5938
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-31 20:56:35 +08:00
Windpicker-owo
8149731925
修复代码格式和文件名大小写问题
2025-08-31 20:50:17 +08:00
Windpicker-owo
df29014e41
refactor(chat): 简化SmartPrompt系统架构,移除缓存机制和依赖检查
2025-08-31 19:21:11 +08:00
Windpicker-owo
a6e937de6d
refactor(chat): 重构SmartPrompt系统简化架构并移除缓存机制
...
- 简化SmartPromptParameters类结构,移除复杂的分层参数架构
- 统一错误处理和降级机制,增强系统稳定性
- 移除缓存相关功能,简化架构并减少复杂性
- 完全继承DefaultReplyer功能,确保功能完整性
- 优化性能和依赖管理,改进并发任务处理
- 增强跨群上下文、关系信息、记忆系统等功能的错误处理
- 统一视频分析结果注入逻辑,避免重复代码
2025-08-31 19:09:36 +08:00
Windpicker-owo
9e7483d25a
refactor(chat): 重构SmartPrompt系统使用分层参数架构和共享工具
...
将SmartPrompt系统从平面参数结构重构为分层架构,引入PromptCoreParams、
PromptFeatureParams和PromptContentParams三个层级,提高代码组织性和可维护性。
主要变更:
- 使用新的分层参数结构替代原有的平面参数系统
- 集成PromptUtils共享工具类,消除代码重复
- 添加性能优化:缓存机制、超时控制和性能监控
- 增强错误处理,提供优雅的降级机制
- 添加SmartPromptHealthChecker用于系统健康检查
- 保持向后兼容性,通过属性访问器维持现有API
此重构显著提升了代码的可维护性、性能和可测试性,同时为未来功能
扩展奠定了更好的架构基础。
2025-08-31 17:47:19 +08:00
Windpicker-owo
8c07bcb02f
feat(chat): 重构SmartPrompt系统完全继承DefaultReplyer功能
...
完成SmartPrompt系统的全面重构,现已完整继承原有DefaultReplyer的复杂提示构建逻辑:
- 新增SmartPromptParameters涵盖所有必需参数并向后兼容
- 实现s4u/normal/minimal三种模式的完整支持
- 集成原有的表达式习惯、记忆块、关系信息等构建逻辑
- 重构缓存系统使用统一稳定的缓存键机制
- DefaultReplyer现已完整迁移到SmartPrompt架构且零API变更
BREAKING CHANGE: SmartPrompt系统现在完全可用,可以安全替换原有提示构建系统
2025-08-31 15:50:27 +08:00
Windpicker-owo
2dee32e5ad
feat(chat): 引入SmartPrompt智能提示构建系统
...
重构DefaultReplyer对话提示构建逻辑,统一使用SmartPrompt抽象组件替代原冗长的模板选择与参数拼装流程。将原160+行的分支式模板处理逻辑压缩为统一的SmartPrompt.build_prompt()调用,实现提示构建策略的可插拔与可维护性提升。
- 新增 src.chat.utils.smart_prompt 模块(SmartPrompt类及参数封装)
- 移除旧的normal/s4u分支硬编码,由SmartPrompt内部按需适配
- 事件管理器仅补充HandlerResult显式导入,无功能变动
2025-08-31 15:33:16 +08:00
minecraft1024a
dcb78cd9b8
feat(chat): 在主动思考时默认选取最新消息作为目标
...
当主动思考的 `target_message` 为 `None` 时,系统现在会自动获取聊天流中的最新一条消息作为默认的目标消息。
这确保了即使在没有明确指定目标消息的情况下,主动思考也能够针对最近的上下文执行动作,从而提高了交互的连续性和相关性。
2025-08-31 13:45:21 +08:00
minecraft1024a
d19f211461
refactor(context): 将能量值和睡眠压力状态持久化到数据库
...
将HFC上下文中的能量值(energy_value)和睡眠压力(sleep_pressure)的状态管理从本地文件存储(local_storage)迁移到主数据库。
这一重构的主要改动包括:
- 在`ChatStreams`数据库模型中添加`energy_value`和`sleep_pressure`字段。
- 更新`ChatStream`类,使其能够加载和保存这两个新字段。
- 移除`HfcContext`中原有的基于`local_storage`的加载和保存逻辑,改为直接通过`ChatStream`实例进行状态读写。
- 在`EnergyManager`中,每当能量或睡眠压力发生变化时,调用`save_context_state()`方法,确保状态能够实时持久化。
此举统一了应用的状态管理方式,提高了数据的可靠性和一致性,并为后续在多实例或分布式环境下部署应用奠定了基础。
2025-08-31 13:32:05 +08:00
tt-P607
9c2e9af78c
feat(video): 引入Python降级抽帧并重构视频分析逻辑
...
- 当Rust视频处理模块不可用时,自动降级使用基于OpenCV的Python传统抽帧实现,确保视频分析功能在不同环境下均可用。
- 重构`extract_frames`方法,使其能够根据配置的抽帧模式(keyframe, time_interval, fixed_number)和可用的模块(Rust, Python)智能选择最佳的实现路径。
- 增强了初始化检查逻辑,现在会同时检测Rust和OpenCV的可用性,并根据检测结果提供更准确的日志警告或错误信息。
- 更新了`is_video_analysis_available`和`get_video_analysis_status`函数,以准确反映当前可用的视频处理实现和支持的抽帧模式。
2025-08-30 19:34:35 +08:00
minecraft1024a
5fe3a5e6aa
refactor(chat): 优化日程活动提示以减少群聊干扰
...
修改了日程活动提示的措辞,明确指出当前活动与群聊无关,以防止在群聊场景下产生不相关的联想或干扰。
2025-08-30 17:36:55 +08:00
Windpicker-owo
38212bd351
rust_video依赖检测
2025-08-29 23:35:01 +08:00
minecraft1024a
65fee5458a
refactor(energy): 移除is_sleeping方法对wakeup_manager的依赖
...
将`schedule_manager.is_sleeping`的调用从`is_sleeping(self.context.wakeup_manager)`修改为`is_sleeping()`,以解耦对`wakeup_manager`的直接依赖。
同时,在`napcat_adapter_plugin`中将`enable_plugin`的默认值修改为`False`。
2025-08-29 20:04:05 +08:00
雅诺狐
16a1568f65
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-08-29 19:15:04 +08:00
雅诺狐
0a647376f7
Remove rust-video keyframe extraction API and related files
...
Deleted the entire src/chat/utils/rust-video directory, including Rust and Python source files, configuration, and documentation. Updated utils_video.py, official_configs.py, and bot_config_template.toml to remove or adjust references to the removed rust-video module. This cleans up the codebase by removing the integrated Rust-based keyframe extraction API and its supporting infrastructure.
2025-08-29 19:13:42 +08:00