雅诺狐
|
2f290bd272
|
更新配置文件
|
2025-09-07 08:46:27 +08:00 |
|
雅诺狐
|
cb994a4e17
|
feat(sleep): 为睡眠系统添加随机时间偏移功能
- 新增每日睡眠和起床时间随机偏移量配置选项
- 实现缓存机制确保同一天内使用相同的偏移量
- 重构睡眠时间检查逻辑以支持动态时间偏移
- 更新相关配置类和插件清单格式
|
2025-09-07 08:20:39 +08:00 |
|
Windpicker-owo
|
653599b7e7
|
不要将纯文本包装成 ResponseSet 格式!
|
2025-09-07 03:34:14 +08:00 |
|
Windpicker-owo
|
3d8da9f073
|
修复主动思考回复奇怪格式的问题,修改napcat插件遗留配置项
|
2025-09-07 03:11:09 +08:00 |
|
tt-P607
|
d826bc2391
|
feat(config): 为睡眠系统添加计划任务支持及相关配置
在模板配置中增加定时睡觉/起床参数,新增根据日程表自动睡眠开关、固定作息
时间设置以及唤醒后重新入睡延迟,以便更灵活地控制机器人的睡眠行为。
|
2025-09-07 00:21:33 +08:00 |
|
tt-P607
|
e499e663f2
|
refactor(sleep_manager): 修复模块内的循环导入问题
将 `sleep_manager` 和 `wakeup_manager` 中的绝对导入路径更改为相对导入,以解决潜在的循环依赖问题。
|
2025-09-06 23:15:11 +08:00 |
|
tt-P607
|
dbc4a795e7
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 23:03:41 +08:00 |
|
tt-P607
|
3684ffe881
|
refactor(napcat): 将enable_plugin改为动态属性以支持配置文件控制
- 移除硬编码的enable_plugin布尔值
- 添加enable_plugin属性方法,支持通过配置文件动态控制插件启用状态
- 默认状态改为禁用,提高系统安全性
- 支持运行时通过_is_enabled属性缓存配置状态
|
2025-09-06 23:03:21 +08:00 |
|
Furina-1013-create
|
008f673424
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 23:00:06 +08:00 |
|
Furina-1013-create
|
d53e39e85d
|
增加一个关于数据库在前面没有正确识别用户身份的时候的最小回退并改进ada插件的关于消息处理时可能会错误地把@消息识别为[视频]的情况
|
2025-09-06 22:58:50 +08:00 |
|
tt-P607
|
8a99e7fe63
|
refactor(napcat): 改进连接管理和日志级别优化
- 添加MaiBot连接重试机制,支持非阻塞启动和自动重连
- 优化日志输出级别,减少非关键信息的INFO日志
- 增强消息发送的连接状态检查和故障恢复
- 改进调试模式下的原始消息记录逻辑
|
2025-09-06 22:47:58 +08:00 |
|
minecraft1024a
|
db3c3ebd63
|
feat(chat): 新增私聊强制回复功能
当在私聊场景下,如果大脑决策为“no_reply”,此功能会将其强制修改为“reply”,以确保机器人总能响应私聊消息。
该功能通过新的配置项 `force_reply_private` 控制,默认为关闭状态。同时,原配置项 `force_focus_private` 已被重命名为 `force_reply_private` 以更准确地反映其功能。
|
2025-09-06 21:44:37 +08:00 |
|
minecraft1024a
|
de6a28d88b
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 21:26:58 +08:00 |
|
minecraft1024a
|
cb6fe9e411
|
refactor(planner): 移除proactive模式下的do_nothing动作
从动作规划器中删除了在PROACTIVE模式下硬编码的`do_nothing`选项。此更改旨在简化动作列表,并依赖于后续的决策逻辑来确定是否需要执行任何操作,而不是将其作为一个明确的动作选项提供。
|
2025-09-06 21:26:54 +08:00 |
|
Windpicker-owo
|
717ef1ed4a
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 21:24:24 +08:00 |
|
Windpicker-owo
|
62dfc35682
|
napcat插件配置迁移基本完成
|
2025-09-06 21:24:17 +08:00 |
|
minecraft1024a
|
ef41f4eaf7
|
feat(plugin_system): 添加ON_STOP事件类型
为插件系统增加ON_STOP事件,用于处理程序停止时的任务。
|
2025-09-06 20:58:49 +08:00 |
|
minecraft1024a
|
2241db3ebf
|
Revert "feat(chat): 实现发送错别字后自动撤回修正的功能"
This reverts commit fd5d951501.
|
2025-09-06 20:56:13 +08:00 |
|
minecraft1024a
|
9591df7b74
|
Merge branches 'dev' and 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 20:49:58 +08:00 |
|
minecraft1024a
|
132354804c
|
feat(planner): 实现大小脑规划器分离以优化决策流程
将规划器(Planner)拆分为“大脑”和“小脑”两个部分,以实现更精细化的决策控制。
- **大脑(BIG_BRAIN)**: 负责宏观决策,如是否回复、是否需要@人等高层级意图。
- **小脑(SMALL_BRAIN)**: 负责具体的功能性动作执行。
此重构引入了 `PlannerType` 枚举,并更新了动作(Action)定义,允许将动作明确分配给大脑或小脑,从而提升了AI回复的逻辑性和条理性。同时,新增了 `no_action` 类型,用于在规划阶段明确表示“无动作”,提高了处理流程的清晰度。
|
2025-09-06 20:49:56 +08:00 |
|
Windpicker-owo
|
d9b19ef3d6
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 20:40:05 +08:00 |
|
Windpicker-owo
|
742b47c099
|
fix:修复插件组件无法正确获取插件配置的问题
|
2025-09-06 20:39:59 +08:00 |
|
minecraft1024a
|
c097b5d00b
|
feat(config): 支持API密钥列表轮询
- 将`api_key`类型从`str`扩展为`Union[str, List[str]]`,允许用户配置多个API密钥。
- 新增`get_api_key`方法,通过线程安全的方式实现API密钥的轮询使用,提高API请求的稳定性和可用性。
- 更新了`api_key`的验证逻辑,以同时支持字符串和字符串列表两种格式。
- 相应地更新了配置文件模板,以示例新的密钥列表配置方式。
|
2025-09-06 20:23:24 +08:00 |
|
minecraft1024a
|
e848f89c59
|
Revert "refactor(chat): 优化错别字生成器逻辑与文档"
This reverts commit ceee3c1fbf.
|
2025-09-06 20:16:49 +08:00 |
|
minecraft1024a
|
ceee3c1fbf
|
refactor(chat): 优化错别字生成器逻辑与文档
对中文错别字生成器(`ChineseTypoGenerator`)进行了大规模重构和改进,以提升代码的可读性、可维护性和生成质量。
主要变更包括:
- **逻辑拆分**: 将核心的单字替换逻辑从主函数 `create_typo_sentence` 中提取到新的私有方法 `_char_replace`,使主流程更清晰。
- **文档增强**: 全面重写和丰富了所有主要方法的文档字符串(docstrings),详细解释了每个参数的用途、函数的内部工作原理和设计决策,显著提高了代码的可理解性。
- **代码简化**: 优化了同音词的查找逻辑(`_get_word_homophones`),移除了复杂的评分和文件读取过程,直接利用 `jieba.dt.FREQ` 进行有效性验证,使代码更简洁高效。
- **健壮性提升**: 在拼音转换和处理逻辑中增加了更具体的异常捕获(`IndexError`, `TypeError`),提高了代码的稳定性。
- **修正建议格式**: 将修正建议的返回格式从单个字符串更改为 `(错字/词, 正确字/词)` 的元组,提供了更完整的上下文信息。
此外,在 `generator_api.py` 中移除了一段冗余的内容类型检查代码。
|
2025-09-06 20:09:17 +08:00 |
|
minecraft1024a
|
8c446e5490
|
refactor(chat): 重构主动思考模块以提升回复质量和逻辑清晰度(哪个大聪明把我联网搜索烦了)
将主动思考流程拆分为两个主要阶段:规划和内容生成。
在规划阶段(`ActionPlanner`),模型现在会结合最新的聊天上下文来决定是否发起主动对话,并确定一个合适的主题。这使得决策更加贴近当前对话氛围。
在内容生成阶段(`ProactiveThinker`),系统会围绕规划好的主题,主动搜集相关实时信息(如日程、网络资讯),并结合角色设定、心情和聊天历史,构建一个更丰富、更具上下文情境的提示词,从而生成更自然、更有趣的主动回复。
主要变更:
- `ActionPlanner` 在主动模式下增加对近期聊天记录的分析,决策更精准。
- `ProactiveThinker` 新增 `_generate_proactive_content_and_send` 方法,负责整合多源信息(日程、搜索、上下文)生成最终回复。
- 简化了 `ProactiveThinker` 的主逻辑,使其专注于执行 `proactive_reply` 动作,而非处理多种动作类型。
- 优化了相关提示词,使其更专注于生成高质量的主动对话内容。
|
2025-09-06 19:42:48 +08:00 |
|
minecraft1024a
|
657b12015b
|
忘更新配置文件版本号了()
|
2025-09-06 17:18:36 +08:00 |
|
minecraft1024a
|
e5247eba96
|
feat(config): 为小脑(sub-planner)新增独立模型和尺寸配置
为“小脑”(sub-planner)引入了独立的模型配置`planner_small`,使其可以与主planner(大脑)使用不同的、更轻量的模型,以提升并行处理性能。
同时,新增了`planner_size`配置项,用于控制每个小脑处理的action数量,允许用户根据需求调整并行度和单个小脑的上下文窗口。
- 在`model_config.toml`中添加`planner_small`任务配置
- 在`bot_config.toml`中添加`planner_size`参数
- 更新代码以使用新的配置项,并移除了相关的硬编码和TODO注释
|
2025-09-06 17:14:32 +08:00 |
|
minecraft1024a
|
a0ddd525b3
|
refactor(chat): 重构planner为大脑/小脑并行架构以提升性能和可扩展性(别管能不能用先插进来再说)
将原有的单体`plan`方法重构为一个多智能体架构,包含一个"大脑"和多个并行的"小脑"。
大脑 (`plan`方法) 专注于决定是否进行聊天回复 (`reply`),并负责调度和整合所有决策。
小脑 (`sub_plan`方法) 并行处理具体的、独立的action判断。每个小脑接收一部分action,使用轻量级模型进行快速评估,从而实现并行化处理,减少了单一LLM调用的延迟。
这种新架构的主要优势包括:
- **性能提升**:通过并行化action判断,显著减少了规划器的总响应时间。
- **可扩展性**:添加新的action变得更加容易,因为它们可以被分配到不同的小脑中,而不会增加主规划流程的复杂性。
- **鲁棒性**:将复杂的规划任务分解为更小的、独立的单元,降低了单个点失败导致整个规划失败的风险。
- **成本效益**:允许为小脑配置更轻量、更快速的模型,优化了资源使用。
|
2025-09-06 17:13:58 +08:00 |
|
minecraft1024a
|
268dbcca5e
|
refactor(api): 优化撤回消息的函数调用
将 `adapter_command_to_stream` 的直接调用重构为使用更通用的 `command_to_stream` 函数。
此更改统一了命令分发逻辑,提高了代码的可维护性。
|
2025-09-06 16:55:24 +08:00 |
|
minecraft1024a
|
9ec0b6977b
|
fix(api): 处理列表类型的 content 输入
在 `process_human_text` 函数中,增加了对 `content` 参数的类型检查。如果 `content` 是一个列表,它会被自动转换成字符串,以防止后续处理中出现 `ValueError`。这增强了函数的健壮性,使其能够处理更多样化的输入格式。
|
2025-09-06 16:40:46 +08:00 |
|
minecraft1024a
|
59985cb905
|
fix(chat): 修复 kaomoji 恢复函数的参数类型
在之前的重构中,`recover_kaomoji` 函数的调用被简化,但在此处调用时忘记移除数组包裹,导致传递了错误的参数类型。此提交删除了多余的方括号,确保将字符串直接传递给 `recover_kaomoji` 函数。
|
2025-09-06 16:29:00 +08:00 |
|
minecraft1024a
|
bf29407538
|
refactor(chat): 简化 kaomoji 恢复函数的参数传递
将 `recover_kaomoji` 函数的调用从传递列表 `[s["..."]]` 改为直接传递字符串 `s["..."]`。此更改简化了代码,并与函数预期的输入类型保持一致,提高了代码的可读性和健壮性。
|
2025-09-06 16:24:31 +08:00 |
|
minecraft1024a
|
4e639249c3
|
fix(chat): 修复错别字修正功能中的 kaomoji 恢复逻辑
在处理类型为 "typo" 的句子时,`recover_kaomoji` 函数的调用方式有误。原先代码将 `s["correction"]` 包装在列表中 (`[s["correction"]]`) 进行传递,这与函数的预期输入不符,可能导致在修正错别字时无法正确恢复 kaomoji 表情。
本次提交移除了不必要的列表包装,确保将 `s["correction"]` 直接传递给 `recover_kaomoji` 函数,从而修正了该问题。
|
2025-09-06 16:23:07 +08:00 |
|
minecraft1024a
|
76ad927919
|
fix(chat): 修复动作列表不为空时获取动作类型的问题(废物哈吉米替换了十次)
|
2025-09-06 16:10:45 +08:00 |
|
minecraft1024a
|
d16df808ef
|
fix(chat): 处理响应数据为列表时的情况
当响应内容`data`是一个列表时,将其所有元素连接成一个字符串,以避免在后续处理中因类型不匹配而引发的错误。
|
2025-09-06 16:03:52 +08:00 |
|
minecraft1024a
|
a3d0588e7e
|
docs(core): 为核心模块添加日志记录和文档字符串
为 `cycle_processor`, `response_handler`, `generator_api`, 和 `send_api` 等核心代码文件补充了日志记录器和详细的文档字符串(docstrings)。
本次更新旨在提高代码的可读性和可维护性,通过清晰的文档注释和日志输出,使其他开发者能更容易地理解代码逻辑和功能,并为未来的调试和功能扩展提供便利。
|
2025-09-06 15:52:21 +08:00 |
|
minecraft1024a
|
fd5d951501
|
feat(chat): 实现发送错别字后自动撤回修正的功能
引入了一个新的聊天交互机制:当机器人发送了包含“错别字”的消息后,会在短暂延迟后自动撤回该消息,并发送正确的版本。此功能旨在模拟更真实的人类打字行为,增加交互的趣味性和拟人化程度。
主要变更:
- **错别字处理流程**:
- `ResponseHandler`现在会识别出带有错别字的消息,并在发送后创建一个异步任务来处理后续的修正。
- 新增`handle_typo_correction`方法,该方法会随机延迟2-4秒,然后调用新的`recall_message` API撤回原消息,并重新发送修正后的内容。
- **API扩展**:
- `send_api`中增加了`recall_message`函数,用于调用适配器执行消息撤回操作。
- `send_response`的返回值从单个字符串`reply_text`变更为元组`(reply_text, sent_messages)`,以便将已发送的消息信息(包括ID和类型)传递给上层调用者。
- **数据结构调整**:
- `process_llm_response`的返回类型从`list[str]`调整为`list[dict[str, str]]`,以支持更复杂的响应类型,如包含原文、错别字和修正建议的`typo`类型。
- **代码优化与重构**:
- 对`ChineseTypoGenerator`进行了大量的代码清理、注释补充和逻辑优化,使其代码更清晰、更易于维护。
- 修复了多处代码中的类型注解和潜在的空指针问题,提高了代码的健壮性。
|
2025-09-06 15:44:52 +08:00 |
|
minecraft1024a
|
8f12dfd93c
|
feat(sleep): 引入弹性睡眠机制
根据睡眠压力动态调整入睡延迟时间。
- 新增`enable_flexible_sleep`配置项,用于启用或禁用此功能。
- 当启用时,系统会检查当前的睡眠压力值。
- 如果睡眠压力低于预设阈值,将根据压力差计算出一个延迟入睡的时间,压力越低,延迟越长。
- 增加了当日总延迟时间的上限,避免无限期推迟睡眠。
- 如果睡眠压力高于阈值,或当日延迟额度已用完,则会进入一个较短的准备阶段后入睡。
- 如果无法获取睡眠压力,系统将回退到旧的随机延迟逻辑。
- 将`_total_delayed_minutes_today`的数据类型从`int`修改为`float`以支持更精确的计算。
|
2025-09-06 14:48:12 +08:00 |
|
Windpicker-owo
|
578ecd93df
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 13:56:13 +08:00 |
|
Windpicker-owo
|
e5cba92617
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 13:55:57 +08:00 |
|
minecraft1024a
|
614f8064ba
|
feat(sleep): 引入多样化的失眠触发机制
重构了失眠系统,引入了两种新的失眠触发机制:
1. **低睡眠压力失眠**:当睡后检查时睡眠压力低于设定阈值,将触发失眠。
2. **随机失眠**:在睡眠压力正常的情况下,仍有一定概率随机触发失眠。
同时,移除了原有的 `post_sleep_insomnia` 特定情绪,并调整了相关配置项,使失眠原因的传递和处理更加灵活。
|
2025-09-06 13:55:57 +08:00 |
|
Windpicker-owo
|
d3f0b9d600
|
template
|
2025-09-06 13:54:38 +08:00 |
|
minecraft1024a
|
0b1d365fce
|
docs(core): 完善睡眠与主动思考模块的文档注释
为 `ProactiveThinker`, `SleepManager`, 和 `SleepState` 核心类及其方法添加了详尽的中文文档字符串和内联注释。
本次更新旨在提高代码的可读性和可维护性,详细解释了以下关键组件的职责和工作流程:
- **ProactiveThinker**: 阐明了其作为主动事件处理中心的角色,以及如何与规划器和生成器协作。
- **SleepManager**: 详细描述了其作为睡眠状态机的核心逻辑,包括状态转换的条件和处理流程。
- **SleepState**: 解释了各个睡眠状态的含义以及序列化器的作用,确保状态持久化。
此外,对配置文件 `bot_config_template.toml` 中的相关配置项也补充了更清晰的注释。
|
2025-09-06 13:44:38 +08:00 |
|
minecraft1024a
|
36b9eae6c8
|
refactor(sleep): 重构睡眠系统以实现睡后失眠机制
重构了原有的睡眠管理状态机,将睡前失眠逻辑调整为更真实的“睡后失眠”模式。现在系统会在角色入睡一段时间后,根据当前的睡眠压力判断是否触发失眠状态。
主要变更:
- **状态机调整**: 移除了入睡前的失眠检查,改为在进入`SLEEPING`状态后,延迟一段时间再根据睡眠压力触发`INSOMNIA`状态。
- **通知系统重构**: `NotificationSender`被简化,现在通过触发主动思考事件 (`goodnight`, `post_sleep_insomnia`) 来发送通知,而不是直接调用生成器API。
- **配置更新**: 将固定的失眠持续时间改为一个随机范围,并增加了触发失眠判定的延迟时间配置。
- **代码解耦**: `EnergyManager`现在直接依赖新的`SleepManager`,不再通过旧的`schedule_manager`。
|
2025-09-06 13:34:53 +08:00 |
|
minecraft1024a
|
11ada53b0d
|
rrrrrrrrrrrrrrrrruuuuuuuuuuuufffffffffffffffffffffffffffffffff x2
|
2025-09-06 12:25:36 +08:00 |
|
minecraft1024a
|
8e21502c31
|
refactor(sleep): 重构睡眠管理系统,移除桥接模式
将 `SleepManager` 从 `schedule_bridge` 中独立出来,使其成为一个自包含的组件。现在由 `HeartFChatting` 和 `ScheduleManager` 直接实例化和使用 `SleepManager`,移除了原有的全局单例桥接器。
主要变更:
- 删除了 `schedule_bridge.py`,其功能被直接整合到 `SleepManager` 和调用方中。
- `SleepManager` 内部逻辑被拆分为更小的模块,如 `TimeChecker`、`NotificationSender` 和 `SleepStateSerializer`,以提高内聚性和可测试性。
- `HeartFChatting` 现在直接创建并管理 `SleepManager` 实例,并通过 `HfcContext` 传递给其他需要的组件(如 `WakeUpManager`)。
- `ScheduleManager` 也创建自己的 `SleepManager` 实例来更新日程,简化了依赖关系。
- 简化了 `WakeUpManager` 中获取睡眠状态和重置状态的逻辑,直接通过上下文访问 `SleepManager`。
|
2025-09-06 12:16:11 +08:00 |
|
minecraft1024a
|
9bbf801bd9
|
feat(规划): 引入统一的规划系统并重构组件
本次提交引入了一个全新的统一规划系统,取代了独立的日程和月度计划模块。这一变更集中了配置并解耦了职责,以提高可维护性和清晰度。
核心逻辑现在被分解为专门的组件:
- PlanManager: 处理日常日程和月度目标的所有数据库交互,取代了已-删除的 monthly_plan_db.py。
- ScheduleLLMGenerator: 封装了与 LLM 交互以生成日程的逻辑,将此职责从 ScheduleManager 中移除。
- MonthlyPlanManager: 现在作为核心 PlanManager 的简化接口。
这次架构性的大修通过将数据持久化和 LLM 生成逻辑从主调度逻辑中抽象出来,简化了整体设计。
重大变更: bot_config.toml 中的配置已被迁移。移除了 [schedule] 和 [monthly_plan_system] 部分。所有相关设置现在必须在新的 [planning_system] 部分下进行配置。
|
2025-09-06 11:41:42 +08:00 |
|
minecraft1024a
|
285fe8476a
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-06 10:43:10 +08:00 |
|
minecraft1024a
|
f9b95c8881
|
refactor(sleep): 解耦ScheduleManager与SleepManager,引入桥接模式
为了降低模块间的耦合度并提升代码的可维护性,对睡眠管理系统进行了重构。
引入了`schedule_sleep_bridge`作为`ScheduleManager`和`SleepManager`之间的桥梁。`ScheduleManager`不再直接持有`SleepManager`的实例,而是通过桥接器更新其日程数据。`SleepManager`则通过桥接器获取所需的日程信息,实现了二者的解耦。
- **`ScheduleManager`**: 移除了所有与`SleepManager`直接交互的代码,现在只负责生成日程并通过桥接器发布。
- **`SleepManager`**: 构造函数和内部逻辑修改为依赖桥接器接口,而不是`ScheduleManager`实例。
- **`HeartFChatting`**: 更新了所有对睡眠状态管理的调用,使其通过新的`schedule_sleep_bridge`进行。
- **`DefaultReplyer`**: 采用了延迟导入的方式获取`schedule_manager`,减少了不必要的模块加载。
|
2025-09-06 10:08:31 +08:00 |
|