Commit Graph

1082 Commits

Author SHA1 Message Date
Furina-1013-create
cb41a98fc2 为小脑决策加上角色人设提示词以避免决策时出现的人设ooc的情况
可以在配置文件里面关闭
2025-09-08 13:19:40 +08:00
Windpicker-owo
c223ce1f3b ada现在支持接收贴表情消息 2025-09-08 01:58:43 +08:00
Windpicker-owo
1beb0b7ebc 修正at插件from_plugin=False 2025-09-07 19:07:44 +08:00
Windpicker-owo
a9a8e9a1b0 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-07 19:03:47 +08:00
Windpicker-owo
02a636a8ce plugin_name改为permission_group 2025-09-07 19:03:42 +08:00
Furina-1013-create
12b64955f6 是谁改模板配置文件不改版本号我不说() 2025-09-07 16:35:47 +08:00
Windpicker-owo
028e4d1d21 Merge pull request #2 from MoFox-Studio/dev
merge Dev
2025-09-07 16:15:55 +08:00
Windpicker-owo
ab180db1dd at现在可以触发post_llm 2025-09-07 15:02:51 +08:00
minecraft1024a
c5ab307c36 加入一个还没有完成的测试性功能,我要先跑路了 2025-09-07 14:02:28 +08:00
tt-P607
14fe86d938 refactor(plugin_system): 移除未使用的 ChatType 导入 2025-09-07 13:14:48 +08:00
minecraft1024a
6d891f2d54 1 2025-09-07 13:03:51 +08:00
minecraft1024a
dc67eb68fc feat(planner): 优化主动对话决策并记录动作历史
在主动对话规划器中引入最近的动作历史作为决策依据,以避免重复或不合时宜的主动行为。同时,在主动回复后,将该行为作为动作信息存储到数据库中,以便于未来的决策和分析。

- 在 `ActionPlanner` 中,获取并向prompt中添加最近5条动作历史记录
- 在 `ProactiveThinker` 中,当主动回复成功后,调用 `store_action_info` 记录动作
- 移除了 `@user` 插件中已废弃的 `planner_type` 属性
2025-09-07 13:02:10 +08:00
minecraft1024a
e14bd950c3 refactor(planner): 移除大小脑规划器类型以简化决策流程
本次重构删除了`PlannerType`(大小脑规划器)的枚举及其在动作规划和组件定义中的相关逻辑。通过移除大小脑的概念,简化了`ActionPlanner`的决策过程,使其不再需要根据规划器类型来筛选可用动作。

这一变更统一了动作的处理方式,降低了系统的复杂性,使得未来的功能扩展和维护更加直接和清晰。
2025-09-07 12:53:06 +08:00
minecraft1024a
22e9960707 refactor(web_search): 统一搜索引擎的API密钥配置路径
将Exa和Tavily搜索引擎的API密钥配置路径从独立的顶级配置(如`exa.api_keys`)更改为`web_search`下的统一路径(`web_search.exa_api_keys`和`web_search.tavily_api_keys`)。

这使得配置结构更加清晰和一致,便于管理所有与网络搜索相关的凭据。
2025-09-07 12:44:49 +08:00
minecraft1024a
ece6699a2a feat(prompt): 丰富主动对话中的人设prompt
将`personality_side`、`identity`和`reply_style`添加到主动对话的`identity_block`中,以生成更具个性化的对话内容。
2025-09-07 12:43:34 +08:00
minecraft1024a
905afec9d5 refactor(proactive): 优化主动对话的prompt并处理响应文本
- 更新并细化了主动对话生成器的prompt,使其更具指导性,以生成更自然、更简洁的回复。
- 移除了冗余的注释和空行,使prompt结构更清晰。
- 对生成器返回的`response_text`调用`process_human_text`方法进行处理,以应用全局的文本分割和错别字修正配置,确保输出格式统一。
2025-09-07 12:41:12 +08:00
minecraft1024a
aa9c5ea46a Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-07 12:28:19 +08:00
minecraft1024a
1e2eb977bb refactor(sleep): 解耦SleepManagerScheduleManager的依赖关系
将日程表获取的逻辑从`SleepManager`转移到`TimeChecker`中,并使其直接从全局的`schedule_manager`实例获取日程,消除了`SleepManager`对日程表的直接管理责任。

这一重构简化了`SleepManager`的职责,使其更专注于睡眠状态的管理,同时提高了模块间的独立性。

- `SleepManager`不再持有`today_schedule`状态。
- `TimeChecker`现在直接从`schedule_manager`获取日程,不再依赖于`SleepManager`传递。
- 移除了`ScheduleManager`中对`sleep_manager`的引用和更新操作。
2025-09-07 12:28:15 +08:00
雅诺狐
415b972c48 遥测 2025-09-07 12:20:49 +08:00
雅诺狐
6a703fcbe1 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-07 12:16:37 +08:00
雅诺狐
c1cb7aafea 更新遥测 2025-09-07 12:16:11 +08:00
tt-P607
d2e48e5b17 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-07 12:13:56 +08:00
tt-P607
da4504c0ec feat(at_user_plugin): 使用回复器生成智能艾特消息
艾特用户动作现在通过回复器生成智能回复内容,而不是直接发送固定消息。
这样可以使艾特消息更具上下文感知能力和智能化,提升用户体验。
增加了错误处理机制,确保在回复生成失败或聊天流不存在时能正确处理。
2025-09-07 12:13:00 +08:00
雅诺狐
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