Commit Graph

870 Commits

Author SHA1 Message Date
minecraft1024a
f907470785 chore(log): 移除调试日志并将部分日志级别降为debug
将规划器和过滤器中的临时调试日志移除,并将部分用于追踪流程的info级别日志调整为debug级别,以减少在生产环境中的日志噪音。

同时,在`cycle_processor.py`中增加了对事件处理结果的空值检查,以增强代码的健壮性。(也许是bug真的能修好了——)
2025-09-14 14:59:32 +08:00
minecraft1024a
b18cda67bf 1 2025-09-14 14:49:07 +08:00
minecraft1024a
e2b25120c9 chore(log): 增加 plan_filter 调试日志输出
在 plan_filter 的关键位置增加了详细的日志输出,以便于调试和追踪 plan 的处理流程。

- 在 filter 方法的入口和出口记录 plan 状态。
- 记录构建后的 LLM prompt。
- 将 LLM 原始返回的日志级别调整为 warning,使其更显眼。
- 记录修复和解析后的 JSON 对象。
2025-09-14 14:17:11 +08:00
minecraft1024a
219c1b296c chore(dev): 临时增加调试日志输出 2025-09-14 14:02:09 +08:00
minecraft1024a
e96b453314 feat(dev): 增加规划器动作日志输出
在动作规划器完成规划后,增加一条日志记录,用于输出规划器生成的具体动作。这有助于在开发和调试过程中,更直观地追踪和理解系统的决策流程。
2025-09-14 13:37:25 +08:00
雅诺狐
fc78ec88d5 refactor(config): 简化EULA验证并统一环境变量配置管理
- 重构EULA验证机制,从复杂的文件哈希验证改为简单的环境变量验证
- 统一host和port配置,优先从环境变量读取而非配置文件
- 移除ServerConfig配置类,简化配置结构
- 添加.env文件自动创建和管理功能
- 更新相关模板和文档注释
2025-09-14 10:35:14 +08:00
tt-P607
6793a46f41 refactor(chat): 优化 LLM 消息分段提示词
旧版的消息分段提示词(“消息分段艺术”)过于抽象,可能导致模型的分段行为不够自然或不符合预期。

本次更新将提示词重构为更具体、更具指导性的“消息分段指导”,旨在引导模型生成更贴近真人聊天习惯的、富有节奏感的回复。新的指导方针明确了分段的几个核心场景,如逻辑断点、情绪转折和信息强调,并引入了对分段长度的软性建议,以提升整体对话体验。
2025-09-14 03:08:55 +08:00
雅诺狐
06a6c71775 Refactor telemetry client registration and heartbeat
Replaces the UUID registration and heartbeat logic with a new two-step RSA-based registration process. Adds cryptographic signing of heartbeat requests using a client private key, and updates local storage keys to 'mofox_uuid' and 'mofox_private_key'. Improves error handling and response to server-side authentication failures, and updates request headers and payloads to match the new protocol.
2025-09-13 23:21:17 +08:00
雅诺狐
95fc44e067 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-13 23:20:45 +08:00
tt-P607
33a3b80edf fix(napcat): 修正默认平台名称为 qq
将 Napcat 适配器中 maibot_server 的默认 platform_name 从 "napcat" 更改为 "qq",以解决消息路由中潜在的平台识别问题,确保兼容性。
2025-09-13 22:44:46 +08:00
minecraft1024a
0a2af13553 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-13 21:43:14 +08:00
minecraft1024a
5b57d58db7 feat(chat): 增加调试日志输出
为了方便调试,在执行文本回复动作时,增加了一条详细的调试日志。这条日志会输出完整的 `action_message` 内容,并带有一个特殊的提示,方便在出现问题时快速定位和反馈。
2025-09-13 21:43:08 +08:00
tt-P607
9eccb7f04d Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-13 21:40:53 +08:00
tt-P607
a27639ea68 refactor(chat): 简化记忆激活方法的参数
更新 `activate_memory_with_chat_history` 的调用方式,使用 `target_message` 对象来替代独立的 `target_user` 和 `chat_id` 参数。

此举将相关上下文封装到单个对象中,使得接口更加清晰,提高了代码的可维护性。
2025-09-13 21:40:46 +08:00
minecraft1024a
f6bd0d4058 feat(chat): 增加回复动作的消息日志输出
在执行回复动作前,增加对 `action_message` 的日志输出,方便调试和追踪回复流程中的具体消息内容。
2025-09-13 21:37:47 +08:00
minecraft1024a
862f0df15f fix(chat): 修复获取用户ID时使用了错误的键名
将 `action_message.get("user_id", "")` 修改为 `action_message.get("chat_info_user_id", "")`,以确保从 `action_message` 字典中正确获取用户ID。

chore: 更新 .gitignore 文件

添加 `src/chat/planner_actions/新建 文本文档.txt` 到忽略列表,以避免将临时文件提交到版本库。
2025-09-13 21:10:49 +08:00
minecraft1024a
dbc6bb7562 fix(qzone): 修复加载本地图片时未配置图片目录导致的潜在异常
在 `_load_local_images` 方法中,如果 `image_dir` 为 `None` 或空字符串,`os.path.exists` 会抛出 `TypeError`。本次修改增加了对 `image_dir` 变量本身的检查,确保在路径有效时才进行存在性判断,从而避免了因未配置图片目录而导致的程序崩溃。
2025-09-13 20:30:13 +08:00
Windpicker-owo
b9fe4b793f 注释 2025-09-13 16:25:13 +08:00
minecraft1024a
5c1a7ab33b feat(db): add focus_energy to ChatStreams model
Adds a new `focus_energy` column to the `ChatStreams` table. This field will be used to track the user's focus level, defaulting to 1.0.
2025-09-13 15:21:00 +08:00
minecraft1024a
7ea769996c refactor(chat): 优化plan_filter中的回复动作处理逻辑
- 引入 `reply_action_added` 标志位,确保在一次处理中只添加一个回复类型的动作(如 `reply` 或 `proactive_reply`)。
- 优化了循环和条件判断逻辑,使代码更清晰、更健壮,防止因LLM返回多个回复动作而导致的意外行为。
2025-09-13 15:14:18 +08:00
minecraft1024a
2db6be9b5b fix(chat): 修复计划过滤器和消息构建器中的潜在空指针问题
- 在 `plan_filter.py` 中,当LLM未指定 `target_message_id` 时,明确将目标消息设置为最新的消息,避免后续操作因 `target_message_dict` 未定义而出错。
- 在 `chat_message_builder.py` 中,为 `replace_user_references_sync` 函数增加了对 `content` 为空的检查,防止后续处理引发异常。
- 将数据库查询从 `.scalar()` 改为 `.scalar_one_or_none()`,以更清晰地处理未找到结果的情况。
2025-09-13 14:46:50 +08:00
minecraft1024a
91d0ebf45d feat:一个能从对话中智能识别并设置定时提醒的动作。 2025-09-13 13:23:21 +08:00
minecraft1024a
befdb796b9 refactor(at_user): 优化插件描述并修复聊天流获取逻辑
- 更新了 `action_parameters` 和 `action_require` 的描述,使其更加清晰和准确,提升了LLM在不同场景下判断的准确性。
- 修复了 `chat_stream` 的获取逻辑,优先使用 `self.chat_stream`,确保在不同调用路径下都能正确获取到聊天流实例。
2025-09-13 12:59:44 +08:00
minecraft1024a
3edda25ae1 refactor(at_user): 优化艾特用户插件逻辑并移除模糊匹配
重构了艾特用户插件,主要改动如下:
- 移除 `fuzzywuzzy` 依赖和相关的模糊匹配逻辑,改为直接通过 `person_info_manager` 精确查找用户。
- 优化了 `AtAction` 的执行流程,现在通过调用 `DefaultReplyer` 生成更智能、更符合上下文的回复内容,而不是发送固定文本。
- 新增了 `/at` 命令,允许用户通过指令直接艾特指定用户并发送消息。
- 删除了 `proactive_thinker.py` 中不再使用的 `_get_reminder_context` 方法,以清理与旧提醒功能相关的代码。
2025-09-13 12:54:23 +08:00
minecraft1024a
b9984b81f1 Revert "feat(reminder): 增强定时提醒系统,实现智能用户识别与上下文感知回复"
This reverts commit e1ebf41f8d.
2025-09-13 12:52:00 +08:00
minecraft1024a
70c5c289fc refactor(heart_flow): 移除智能提醒分析逻辑
从消息处理流程中移除旧的智能提醒分析模块。

该功能已被一个新的、更可靠的提醒系统取代,因此旧的实现被移除以简化代码库并消除冗余。
2025-09-13 12:26:07 +08:00
雅诺狐
26ae481b88 Update README.md
推送测试
2025-09-13 12:24:02 +08:00
minecraft1024a
8fcb49a1bb 试图引爆定时提醒,我有一个更好的东西 2025-09-13 12:19:15 +08:00
minecraft1024a
490bf9e7cc chore(planner): 临时禁用执行器调用
为了调试规划器流程的其他部分,暂时注释掉了对 `self.executor.execute(filtered_plan)` 的调用。
2025-09-13 12:07:19 +08:00
minecraft1024a
f1c1a2081a docs(planner): 为规划器相关模块添加详细的文档字符串
为 `plan_executor`、`planner` 和 `planner_prompts` 模块中的类和函数补充了详细的文档字符串(docstrings)。

这提高了代码的可读性和可维护性,阐明了每个组件的职责、参数和返回值,使得其他开发者能更容易地理解和使用这些模块。
2025-09-13 12:04:34 +08:00
minecraft1024a
07f37323b2 修复了**AI写出来的虫子 2025-09-13 11:57:05 +08:00
minecraft1024a
e37ee46d59 refactor(planner): 重构动作规划器为模块化结构
将原有的 `ActionPlanner` 类拆分为三个独立的模块:`PlanGenerator`、`PlanFilter` 和 `PlanExecutor`。`ActionPlanner` 现在作为协调器,按顺序调用这三个模块,使规划流程更加清晰和模块化。

- **PlanGenerator**: 负责根据聊天模式和上下文生成初始规划。
- **PlanFilter**: 负责审查和筛选由生成器产生的动作。
- **PlanExecutor**: 负责执行最终确定的动作。

此重构简化了 `cycle_processor` 中的调用逻辑,并为未来的功能扩展(如更复杂的过滤规则)提供了更好的基础。同时,引入了新的 `Plan` 数据模型来统一规划过程中的数据传递。
2025-09-13 11:48:04 +08:00
minecraft1024a
8a8302ea3a Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-13 09:03:02 +08:00
minecraft1024a
bcd9955374 refactor(config): 移除工具历史记录相关配置
工具历史记录功能已被移除,因此相关的配置类 `ToolHistoryConfig` 及其在 `ToolConfig` 中的引用也一并删除,以简化代码库。
2025-09-13 09:03:00 +08:00
tt-P607
70511d3c26 fix(emoji): 优化表情包描述匹配并修复潜在错误
- 改进在描述模式下选择表情包的匹配算法,从精确匹配改为更灵活的包含匹配和关键词匹配,显著提高匹配成功率。
- 初始化 `chosen_emotion` 变量,以避免在某些逻辑分支下因变量未定义而引发错误。
- 统一并简化了发送表情包后记录到prompt中的提示语,使其更加通用和简洁。
2025-09-13 00:48:54 +08:00
tt-P607
fcda224767 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-12 22:50:55 +08:00
tt-P607
5e3efd3148 根据提供的 git diff 分析,这是一个重构变更,主要是修改了异步内存包装器的导入和使用方式。以下是生成的常规提交消息:
refactor(prompt): 重构异步即时内存包装器的导入和使用方式

- 将 async_memory 导入更改为 get_async_instant_memory 函数
- 简化内存获取逻辑,通过工厂函数创建包装器实例
- 更新参数传递方式,使用 target 替代 sender 参数
- 减少代码行数,提高可读性
2025-09-12 22:50:37 +08:00
minecraft1024a
9b5eab9024 如果我不更新配置版本号,那我就会被其他开发草飞 2025-09-12 21:42:39 +08:00
minecraft1024a
956e2e70c4 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-12 21:41:45 +08:00
minecraft1024a
46b3e795bc feat(emoji): 新增表情选择模式并重构选择逻辑
引入了两种表情选择模式,允许用户通过配置决定表情选择的行为:
- **emotion**: 基于情感标签进行选择,利用LLM根据对话上下文挑选最合适的情感。
- **description**: 基于表情的详细描述进行选择,让LLM从描述列表中挑选最匹配的表情。

此项重构将原有的单一选择逻辑拆分为两种独立的模式,并为每种模式优化了相应的提示词(Prompt)和处理流程,提高了表情选择的灵活性和准确性。同时,在配置文件中添加了`emoji_selection_mode`选项以支持此新功能。
2025-09-12 21:41:38 +08:00
BuildTools
34d0309d1f Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-12 21:39:11 +08:00
BuildTools
675bd4b75e 优化s4u提示词 2025-09-12 21:39:04 +08:00
minecraft1024a
fc5980a282 先添加一个数据模型你别管他用没用 2025-09-12 21:35:19 +08:00
minecraft1024a
48567072e9 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-12 21:13:11 +08:00
minecraft1024a
9f084338dc refactor(core): 延迟初始化知识库并优化导入结构
将LPMM知识库的初始化逻辑封装到`initialize_lpmm_knowledge`函数中,并将其调用移至`main.py`,以实现延迟加载并改善启动流程。

为了解决循环导入问题,将`component_registry`的导入移至`BaseAction.call`方法内部。
2025-09-12 21:12:13 +08:00
tt-P607
de44023952 fix(plugin_system): 解决 base_action 中的循环导入问题
将 `component_registry` 的导入移至 `run` 方法内部,以避免在模块加载时产生循环依赖。
2025-09-12 21:08:13 +08:00
tt-P607
1912f7af17 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-12 20:58:00 +08:00
tt-P607
35403678b2 feat(prompt): 添加安全准则参数并更新工具执行器
- 在PromptParameters类中添加safety_guidelines_block参数
- 更新ToolExecutor初始化,传入chat_id参数用于上下文追踪
- 在所有参数准备方法中集成安全准则配置
- 增强prompt系统的安全性和可追溯性
2025-09-12 20:57:56 +08:00
minecraft1024a
cd19e89528 refactor(config): 移除睡前消息群组配置
移除了 `pre_sleep_notification_groups` 配置项,因为该功能已通过新的插件事件和动作机制实现,不再需要硬编码的群组列表。现在可以通过插件来灵活地处理睡前通知的发送逻辑。
2025-09-12 20:47:52 +08:00
minecraft1024a
51643eb53a feat(config): 更改默认服务器端口为8000
将默认的服务器端口从8080更改为8000,以避免与其他常用应用程序的潜在端口冲突。
2025-09-12 20:43:51 +08:00