minecraft1024a
46b3e795bc
feat(emoji): 新增表情选择模式并重构选择逻辑
...
引入了两种表情选择模式,允许用户通过配置决定表情选择的行为:
- **emotion**: 基于情感标签进行选择,利用LLM根据对话上下文挑选最合适的情感。
- **description**: 基于表情的详细描述进行选择,让LLM从描述列表中挑选最匹配的表情。
此项重构将原有的单一选择逻辑拆分为两种独立的模式,并为每种模式优化了相应的提示词(Prompt)和处理流程,提高了表情选择的灵活性和准确性。同时,在配置文件中添加了`emoji_selection_mode`选项以支持此新功能。
2025-09-12 21:41:38 +08:00
minecraft1024a
18220e4110
rrrrrrrrrrrrruuuuuuuuuuuuuuuffffffffffffffffffffffffffff x3
2025-09-12 20:42:02 +08:00
minecraft1024a
d658fd8eb0
feat(emoji): 记录表情包发送状态
...
在表情包发送成功或失败后,分别记录操作信息。这有助于更好地追踪和调试表情包功能的状态,两行就应该能解决重复发送的问题了,遥遥领先!
2025-09-12 19:54:13 +08:00
minecraft1024a
493cd2b837
refactor(emoji): 重构表情发送逻辑为基于情感标签选择
...
重构了`emoji`动作的实现,将原有的LLM选择表情描述的逻辑,改为先由LLM根据聊天内容和理由选择一个最匹配的“情感标签”,然后再从该标签下的表情库中随机选择一个进行发送。
主要变更:
- 移除原有的表情抽样、编号和LLM选择编号的复杂流程。
- 引入基于`emotion`元数据的情感标签映射。
- 更新LLM的Prompt,使其专注于选择情感标签而非具体表情。
- 简化了代码逻辑,移除了不再需要的历史记录队列和相关配置项。
- 如果表情没有情感标签或LLM调用失败,则回退到随机发送。
2025-09-12 19:50:20 +08:00
tt-P607
de90d452cc
feat(emoji): 优化表情选择逻辑并引入上下文数量限制
...
重构了内置插件中的表情发送逻辑,以提高选择的准确性和效率。
旧的机制依赖于预设的情感标签,这可能不准确或缺失。新的实现改为让 LLM 直接从一部分随机抽样的表情包描述中进行选择,这使得决策更贴近上下文。
主要变更:
- 将基于情感标签的选择改为基于表情包描述的选择,使表情推荐更精准。
- 新增 `max_context_emojis` 配置项,用于控制每次传递给 LLM 的表情包候选项数量,从而减少 token 消耗并提高响应速度。
2025-09-11 17:29:42 +08:00
tt-P607
0cb2fa3373
feat(chat): 为回复分割器添加 llm 与 punctuation 模式
...
本次更新重构了回复分割功能,引入了 `split_mode` 配置项,允许用户在两种分割模式之间进行选择,提供了更大的灵活性。
- **`llm` 模式**: 延续了由大语言模型通过 `[SPLIT]` 标记决定断句的功能。此模式下的提示词(Prompt)已进一步优化,以引导模型做出更自然的分割。
- **`punctuation` 模式**: 恢复了传统的基于标点符号的分割逻辑。这已设为新的默认模式,确保用户更新后行为与旧版本保持一致。
此外,`at_user` 插件也进行了适配,以正确处理由 `llm` 模式可能产生的多段消息。
2025-09-11 17:12:01 +08:00
tt-P607
2e6c628cb9
feat(reminder): 增强提醒功能,可将“我”识别为目标用户
...
通过向LLM提示词中传递消息发送者昵称,系统现在能够正确解析包含第一人称代词(如“我”)的提醒任务。这解决了之前无法为用户设置“提醒我”这类个人提醒的问题,使其交互更加自然。
此外,还优化了`@user`插件中生成提醒内容的提示词,明确指示LLM不要在回复中包含`@`或用户名,以避免系统自动@后出现重复的用户名,提升了提醒消息的质量。
2025-09-10 17:10:24 +08:00
tt-P607
9f094bfb32
feat(emoji): 引入表情发送历史以避免重复发送
...
为了提升表情发送的自然性和多样性,本次更新引入了发送历史记录机制,并优化了选择逻辑。
- 新增一个长度为4的双端队列,用于存储最近发送过的表情哈希,以避免在短期内重复。
- 修改LLM提示,要求其返回一个包含3个最匹配情感的有序列表,以提供更多候选表情。
- 重构选择逻辑:在LLM推荐或随机选择时,会优先选取未在最近历史中出现过的表情。
- 仅当所有候选表情都已在近期发送过时,才会退回至在完整表情库中进行选择。
2025-09-10 10:11:25 +08:00
tt-P607
d95f73d52f
fix(chat): 修复空消息引用并调整动作处理逻辑
...
- 在 `DefaultReplyer` 中增加了对 `reply_message` 的空值检查,以避免在无回复上下文时引发错误。
- 在 `ActionPlanner` 中将 'do_nothing' 添加到非目标动作列表中,以正确处理此新增的无操作指令。
- 将 `EmojiAction` 使用的 LLM 模型从 'utils_small' 更新为 'planner',以适应模型配置的变更。
2025-09-10 09:43:51 +08:00
tt-P607
e1ebf41f8d
feat(reminder): 增强定时提醒系统,实现智能用户识别与上下文感知回复
...
对定时提醒功能进行了重大重构和增强,使其更加智能和人性化。
主要更新包括:
- **智能用户识别**: 引入LLM从提醒内容中提取需要@的目标用户,取代了原有的简单正则表达式匹配,能够更准确地理解自然语言指令,如“提醒阿范喝水”。
- **专用提醒回复**: 当提醒任务不包含特定目标用户时(如“提醒我喝水”),系统不再简单回退,而是会调用一个专用的LLM流程,生成一条符合Bot性格的、温暖贴心的提醒消息。
- **上下文传递**: 创建提醒时会保存完整的原始消息,并在触发提醒时将其传递给处理流程。这使得LLM在执行@操作或生成回复时能拥有完整上下文,避免了记忆割裂感。
- **@用户匹配优化**: 增强了`at_user`动作的底层用户匹配逻辑,采用“精确匹配 -> 包含匹配 -> 模糊匹配”的多层策略,显著提高了在群聊中查找目标用户的准确率和鲁棒性。
- **提示词优化**: 全面优化了提醒流程中涉及的LLM提示词,无论是用户提取还是最终的@消息生成,都更具情景感,使Bot的回复更加自然流畅。
2025-09-09 22:14:27 +08:00
tt-P607
df984717f7
feat(planner): 重构动作规划器以支持组合动作和概率性表情
...
重写了 Planner 的主 Prompt,引导 LLM 将回复(reply)视为主动作,将表情(emoji)等视为辅助动作,从而更好地生成组合动作,使响应更生动。
- 移除了旧的“100%概率动作强制添加”逻辑,并替换为新的“概率性表情”机制。现在,当生成回复时,会根据配置的概率(emoji_chance)自动附加一个 emoji 动作。
- 改进了 emoji 动作的情感匹配逻辑,从精确匹配改为模糊匹配,提高了根据 LLM 输出找到合适表情的成功率。
- 修复了随机类型动作在激活概率计算时的一个边界条件问题。
2025-09-09 18:50:37 +08:00
tt-P607
98a6cba33e
feat(actions): 支持同时进行回复与其他动作
...
重构了动作执行流程,以支持更丰富的多动作组合,例如在发送文本回复的同时发送一个表情。
主要变更:
- **执行流程**: 在 `CycleProcessor` 中,将动作分为“回复”和“其他”两类。系统会先串行执行回复动作,再并行执行所有其他动作,确保了核心回复的优先性。
- **规划逻辑**: 在 `Planner` 中优化了提示词,并增加后处理步骤,以鼓励并确保在回复时触发补充性动作(如100%概率的emoji)。
- **emoji动作**: 重构了表情选择逻辑,现在会评估所有可用的表情,而不仅仅是随机抽样,提高了选择的准确性。
- **修复**: 修复了 `ActionModifier` 中随机激活概率为100%的动作可能不触发的bug。
2025-09-09 15:37:49 +08:00
tt-P607
f6f6735691
总之就是成了! 😋 😋 😋 主动思考终于成了
2025-09-09 13:53:17 +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
02a636a8ce
plugin_name改为permission_group
2025-09-07 19:03:42 +08:00
Windpicker-owo
ab180db1dd
at现在可以触发post_llm
2025-09-07 15:02:51 +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
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
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
雅诺狐
cb994a4e17
feat(sleep): 为睡眠系统添加随机时间偏移功能
...
- 新增每日睡眠和起床时间随机偏移量配置选项
- 实现缓存机制确保同一天内使用相同的偏移量
- 重构睡眠时间检查逻辑以支持动态时间偏移
- 更新相关配置类和插件清单格式
2025-09-07 08:20:39 +08:00
Windpicker-owo
3d8da9f073
修复主动思考回复奇怪格式的问题,修改napcat插件遗留配置项
2025-09-07 03:11:09 +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
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
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
8c446e5490
refactor(chat): 重构主动思考模块以提升回复质量和逻辑清晰度(哪个大聪明把我联网搜索烦了)
...
将主动思考流程拆分为两个主要阶段:规划和内容生成。
在规划阶段(`ActionPlanner`),模型现在会结合最新的聊天上下文来决定是否发起主动对话,并确定一个合适的主题。这使得决策更加贴近当前对话氛围。
在内容生成阶段(`ProactiveThinker`),系统会围绕规划好的主题,主动搜集相关实时信息(如日程、网络资讯),并结合角色设定、心情和聊天历史,构建一个更丰富、更具上下文情境的提示词,从而生成更自然、更有趣的主动回复。
主要变更:
- `ActionPlanner` 在主动模式下增加对近期聊天记录的分析,决策更精准。
- `ProactiveThinker` 新增 `_generate_proactive_content_and_send` 方法,负责整合多源信息(日程、搜索、上下文)生成最终回复。
- 简化了 `ProactiveThinker` 的主逻辑,使其专注于执行 `proactive_reply` 动作,而非处理多种动作类型。
- 优化了相关提示词,使其更专注于生成高质量的主动对话内容。
2025-09-06 19:42:48 +08:00
Windpicker-owo
41dc58d4fb
继续尝试迁移,但是组件获取插件配置存在问题
2025-09-06 05:45:00 +08:00
Windpicker-owo
6c042cc73f
迁移napcat插件至built_in
2025-09-06 03:38:43 +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
fc68958c8f
feat(cross_context): 实现按互通组名称获取聊天记录
...
新增 `get_chat_history_by_group_name` API,允许插件按名称获取指定互通组的聊天记录。此功能增强了插件的上下文感知能力,使其能够利用跨群聊的对话历史。
主要变更:
- 在 `cross_context_api.py` 中添加了 `get_chat_history_by_group_name` 函数。
- Maizone 插件现在利用此 API 来获取跨群聊的上下文,以生成更相关的说说内容。
- 调整了配置文件模板,以反映新的互通组配置方式。
2025-09-05 19:51:33 +08:00
tt-P607
7b537e96d0
fix(qzone): 修复子评论回复逻辑
...
移除手动构造的@提醒内容,改为通过传递 `parent_tid` 参数来正确指定父评论。
这利用了平台原生的回复机制,可以更可靠地实现回复和提醒功能。
2025-09-04 14:44:35 +08:00
Windpicker-owo
53e72ecbdb
迁移:1f91967(remove:移除willing系统,移除reply2,移除能量值,移除reply_to改为message)
2025-09-03 21:27:28 +08:00
Windpicker-owo
236ecdb132
Merge branch 'master' of https://github.com/MoFox-Studio/MoFox_Bot
2025-09-03 17:54:32 +08:00
tt-P607
ae8c05ef1b
emmm,总之大概也许这一版比较稳定,用就对了 😋
2025-09-03 08:23:17 +08:00
Windpicker-owo
ac143a1201
迁移:a247be0(ref:彻底合并normal和focus,完全基于planner决定target message)
2025-09-02 16:15:33 +08:00
Windpicker-owo
9f49a453da
迁移:3804124,9e9e796
...
(feat:将no_reply内置、fix:优化reply,填补缺失值)
2025-09-01 21:12:55 +08:00
tt-P607
49df12e9ca
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-09-01 15:30:01 +08:00
tt-P607
2762ff9ec3
fix(maizone): 修复回复评论时的主题ID和父评论ID
...
根据企鹅空间的最新接口变更,修复了回复评论时 `topicId` 的构造方式,并为子回复添加了 `parent_tid` 参数,以确保能够正确地回复到指定的父评论。
2025-09-01 15:29:33 +08:00
Windpicker-owo
27d9e90a4c
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-09-01 15:24:47 +08:00
Windpicker-owo
366dadeb15
迁移:69a855d(feat:保存关键词到message数据库)
2025-09-01 15:24:43 +08:00