Commit Graph

1243 Commits

Author SHA1 Message Date
minecraft1024a
9d705463ce ruff fix但指定了--unsafe-fixes 2025-10-05 21:48:32 +08:00
minecraft1024a
0b4e1f5b7b feat(cross_context): 排除maizone专用上下文组
在获取互通上下文组时,增加了一个判断条件,以排除名为 "maizone_context_group" 的专用组。这可以防止该特定组的上下文信息被意外地泄露给其他不相关的聊天。
2025-10-05 21:44:34 +08:00
minecraft1024a
91034ea4de refactor(cross_context): 提取互通组上下文获取逻辑为通用API
将原本在 `maizone` 插件中用于获取互通组聊天上下文的逻辑,提取并重构为一个更通用的 `cross_context_api.get_intercom_group_context_by_name` 函数。

这次重构提高了代码的模块化和复用性,使得其他需要跨聊天上下文功能的插件也能方便地调用此API,而无需重复实现相似的逻辑。`maizone` 插件现在直接调用这个新的API来获取上下文,简化了其内部实现。
2025-10-05 21:44:14 +08:00
minecraft1024a
3a9b65fe19 feat(proactive_thinker): 增加跨上下文信息到主动思考提示词
在主动思考的提示词中增加了“和Ta在别处的讨论摘要”部分。

这使得AI在进行主动思考时,能够参考用户在其他群组或私聊中的相关讨论,从而获得更全面的上下文信息,做出更贴切和连贯的响应。
2025-10-05 21:27:14 +08:00
minecraft1024a
63988363e0 feat(chatter): 增加规划器提示词和响应的调试日志
在调试模式下,现在会打印出发送给LLM的规划器提示词以及LLM的原始响应内容。这有助于在开发和排查问题时,更好地理解规划器的输入和输出,方便调试。
2025-10-05 21:14:47 +08:00
minecraft1024a
4ca8bfe9b2 fix(proactive_thinker): 修复主动思考任务的逻辑缺陷
在 `ColdStartTask` 和 `ProactiveThinkingTask` 中,私聊和群聊任务的执行逻辑存在缺陷。本次提交修复了以下问题:

1.  在冷启动和日常唤醒任务开始时,增加对私聊总开关 `enable_in_private` 的判断,避免在禁用时仍执行扫描。
2.  在日常唤醒任务中,为群聊处理逻辑增加了总开关 `enable_in_group` 的判断。
3.  修复了群聊白名单的判断逻辑,之前无论群聊是否在白名单内都会被唤醒,现在会正确地只唤醒白名单内的群聊。
2025-10-05 21:01:56 +08:00
minecraft1024a
fd30cb6d7f refactor(napcat): 移除冗余的MaiBot连接配置
由于MaiBot连接地址已改为通过环境变量进行配置,因此从插件配置文件中移除了旧的`host`和`port`字段,以避免配置冗余和混淆。
2025-10-05 20:56:29 +08:00
minecraft1024a
74328c807b refactor(napcat): 使用环境变量配置MaiBot连接地址
将硬编码的MaiBot服务器主机和端口配置更改为从环境变量`HOST`和`PORT`中读取。这样可以更灵活地在不同环境中部署,特别是容器化部署。

同时,将部分日志级别从`INFO`调整为`DEBUG`,以减少不必要的日志输出。
2025-10-05 20:55:20 +08:00
minecraft1024a
3387bc2c03 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 20:50:16 +08:00
minecraft1024a
34521b868d feat(search): 添加SearXNG搜索引擎支持
在Web搜索工具中集成了SearXNG作为新的搜索引擎选项。

- 在 `WebSearchConfig` 中添加了 `searxng_instances` 和 `searxng_api_keys` 配置项。
- 更新了配置文件模板以包含新的SearXNG设置。
- 修复了 `main.py` 中管理器异步初始化调用方式的错误。
2025-10-05 20:50:11 +08:00
subiz
736a3d6eac Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 20:48:54 +08:00
subiz
d9fea77ac8 优化主动思考提示词 2025-10-05 20:48:39 +08:00
minecraft1024a
7a7f737f71 ruff: 清理代码并规范导入顺序
对整个代码库进行了大规模的清理和重构,主要包括:
- 统一并修复了多个文件中的 `import` 语句顺序,使其符合 PEP 8 规范。
- 移除了大量未使用的导入和变量,减少了代码冗余。
- 修复了多处代码风格问题,例如多余的空行、不一致的引号使用等。
- 简化了异常处理逻辑,移除了不必要的 `noqa` 注释。
- 在多个文件中使用了更现代的类型注解语法(例如 `list[str]` 替代 `List[str]`)。
2025-10-05 20:38:56 +08:00
sunbiz
2908cfead1 Merge pull request #17 from LuisKlee/patch-5
结构和导入优化
2025-10-05 20:36:40 +08:00
sunbiz
5b5ddfc0b1 Merge pull request #18 from LuisKlee/patch-7
调整部分结构
2025-10-05 20:35:54 +08:00
雅诺狐
528b4f7bf8 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 19:56:19 +08:00
雅诺狐
44be3d8ff3 添加SearXNG引擎 2025-10-05 19:56:15 +08:00
subiz
d463d0a21a Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 19:25:06 +08:00
subiz
43fe6046b4 没想到吧,我还是没测试()
feat(mcp): 集成MCP SSE协议支持并扩展工具调用能力

新增MCP客户端类型(mcp_ssd),支持通过Model Context Protocol连接外部工具服务器。
更新文档和配置模板,提供完整的MCP接入指南;主程序启动时自动初始化MCP工具提供器,
tool_api 与 tool_use 核心链路新增对MCP工具的检测与调用,实现与既有插件工具的无缝兼容。
同步更新配置模型、模板与帮助文档。
2025-10-05 19:24:57 +08:00
Windpicker-owo
43524f92c7 fix(replyer_manager): 修复 get_replyer 方法的定义格式 2025-10-05 19:20:21 +08:00
tt-P607
73d746ca60 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 18:57:18 +08:00
tt-P607
9fee569848 是谁连续写了两遍 async def get_replyer(,我不说🤪 2025-10-05 18:57:08 +08:00
minecraft1024a
e0e5b83583 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 18:53:04 +08:00
minecraft1024a
1ce933c93b refactor(proactive_thinker): 使用工具函数构建可读的动作历史
将 `proactive_thinker_executor` 中手动拼接动作历史字符串的逻辑,替换为调用 `chat_message_builder` 中新增的 `build_readable_actions` 工具函数。

这提高了代码的可读性和可维护性,将格式化逻辑集中到一处。
2025-10-05 18:53:01 +08:00
LuiKlee
34495c07cd 调整部分结构 2025-10-05 18:42:28 +08:00
Windpicker-owo
fbe35d1d01 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 18:31:56 +08:00
Windpicker-owo
3e37b7cef5 refactor(chat): 统一异步调用模式并修复循环依赖
- 将 chat_manager.get_stream() 调用改为异步
- 将 replyer_manager.get_replyer() 方法改为异步
- 在 generator_api 中使用动态导入避免循环依赖
- 在 action_manager 中添加待处理动作队列清理
- 更新所有相关调用点以支持异步模式
2025-10-05 18:30:16 +08:00
minecraft1024a
118f82b1e3 refactor(proactive_thinker): 优化主动思考的冷却判断和上下文获取
主动思考插件的冷却时间判断逻辑已从依赖 `stream.last_active_time` 切换为获取最新的消息时间。这使得冷却判断更加准确,避免了因流未及时更新而导致的不准确。

同时,优化了上下文获取逻辑:
- 获取最近聊天记录时,增加了12小时的时间限制。
- 获取历史主动决策记录时,改为获取过去24小时内的动作记录,以提供更相关的上下文。
2025-10-05 18:25:06 +08:00
雅诺狐
33f7128a5a 咳咳咳,忘更新依赖了 2025-10-05 17:57:35 +08:00
雅诺狐
efc4f7a13e Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 17:50:13 +08:00
雅诺狐
86377d983f Refactor replyer retrieval to async and add memory formatter
Changed get_replyer and related calls to async across multiple modules for proper coroutine handling. Added format_memories_bracket_style utility for memory formatting. Improved video analysis caching logic and type annotations. Updated error logging for message processing.
2025-10-05 17:48:28 +08:00
Windpicker-owo
4cdc5fc89d refactor(chat): 使获取聊天流支持异步调用 2025-10-05 17:48:21 +08:00
Windpicker-owo
bb1afa9f32 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 17:45:51 +08:00
Windpicker-owo
c808d6a0ef feat(chat): 实现批量动作存储并优化消息处理流程
新增批量动作记录存储功能,提升数据库写入性能。重构消息预处理逻辑,改进兴趣度计算和同步机制,优化用户信息和群组信息处理。添加配置选项控制批量存储开关,更新相关模板配置。
2025-10-05 17:45:44 +08:00
subiz
3b7034f63e 我没测试,炸了就让一闪修,实在不行就revert()
feat(deps): 集成 MCP SSE 支持

引入 mcp>=0.9.0 与 sse-starlette>=2.2.1,完成 MCP SSE 协议客户端接入,
并在模块初始化中按需加载对应客户端。标记 TODO 清单中相关功能为已实现。
2025-10-05 17:42:26 +08:00
subiz
6d757860a6 refactor(chat): 精简规划器提示词并优化思绪流规则
- 合并重复结构,统一主动/被动规划器
- 重新梳理块级占位符顺序,突出 time->mood->identity->schedule
- 弱化“兴趣值”概念,改用自然语言优先级
- 强化「仅对未读执行动作」与「不对表情包回复」两条底线
- 简化输出示例,移除冗余提示,仅保留核心 JSON 模板
- 删除旧版多动作并行示例,保留通用多回复范式
2025-10-05 17:20:06 +08:00
LuiKlee
2d26e12c28 结构和导入优化
将部分导入语句合并,减少重复导入
2025-10-05 17:03:23 +08:00
雅诺狐
f4404e09ef Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 16:35:59 +08:00
雅诺狐
29cf3e3fbc Refactor memory metadata index to use Rust backend
Replaces the Python implementation of MemoryMetadataIndex with a Rust-accelerated version, removing legacy code and fallback logic. Updates search, add, and stats methods to delegate to the Rust backend. Also adds missing imports in llm_data_model.py and base_event.py for improved type support and event handling.
2025-10-05 16:35:31 +08:00
Windpicker-owo
23e523c7b9 refactor(chat): 优化异步任务处理和消息管理逻辑
- 使用asyncio.create_task替代await调用,提升并发性能
- 简化流管理器的槽位获取逻辑,移除回退方案
- 重构上下文管理器的消息添加和更新机制
- 移除StreamContext中的冗余方法,保持数据模型的简洁性
- 优化兴趣度评分系统的更新流程,减少阻塞操作

这些改动主要关注性能优化和代码结构简化,不涉及功能变更。
2025-10-05 15:17:30 +08:00
minecraft1024a
a9d369b026 refactor(video): 视频分析模块重构为纯 inkfox 实现
将视频分析模块 `utils_video.py` 完全重构,移除旧的 rust_video 模块和 Python/OpenCV 降级实现,统一使用 `inkfox.video` 库提供的 Rust 扩展能力。

主要变更:
- **依赖简化**: 移除对 `rust_video` 和 `opencv-python` 的依赖,仅依赖 `inkfox`。
- **代码重构**: 删除大量冗余代码,包括旧的 Rust 模块接口、Python 降级逻辑、复杂的并发控制和多种抽帧模式。
- **性能统一**: 关键帧提取统一使用 `inkfox.video.extract_keyframes_from_video`,确保所有环境下的性能一致性。
- **逻辑简化**: 简化了缓存逻辑、并发控制和配置项,使代码更清晰、更易于维护。
- **API 统一**: `_select_model` 和 `_execute_request` 方法调用更新,以适应 `LLMRequest` 的最新接口。
- **文档更新**: 更新了模块文档字符串,以反映新的实现和功能。
2025-10-05 14:00:04 +08:00
minecraft1024a
5edf50705c style(memory): 优化代码风格并移除冗余代码
- 在 `memory_fusion.py` 中,为集合推导式添加 `# noqa: C401` 以抑制 linter 警告,明确代码意图。
- 在 `memory_manager.py` 中,移除未使用的全局变量 `global_memory_manager`。
- 使用 `|` 运算符进行类型检查,以符合现代 Python 语法。
2025-10-05 13:41:52 +08:00
minecraft1024a
4f038916ab refactor(memory): 优化类型注解并增强代码健壮性
- 为 `MemorySystem` 类中的核心组件属性添加 `| None` 类型注解,使其更精确地反映其可能为 `None` 的初始状态。
- 在 `_collect_candidates_by_fingerprint` 方法中,为异常捕获添加 `noqa: PERF203` 以忽略特定的性能警告。
- 在 `rebuild_all_memory_vectors` 方法中,增加对 `self.unified_storage` 是否存在的检查,防止在未初始化时出现 `AttributeError`。
2025-10-05 13:36:15 +08:00
minecraft1024a
2c74b472ab style: 统一代码风格并进行现代化改进
对整个代码库进行了一次全面的风格统一和现代化改进。主要变更包括:

- 将 `hasattr` 等内置函数中的字符串参数从单引号 `'` 统一为双引号 `"`。
- 采用现代类型注解,例如将 `Optional[T]` 替换为 `T | None`,`List[T]` 替换为 `list[T]` 等。
- 移除不再需要的 Python 2 兼容性声明 `# -*- coding: utf-8 -*-`。
- 清理了多余的空行、注释和未使用的导入。
- 统一了文件末尾的换行符。
- 优化了部分日志输出和字符串格式化 (`f"{e!s}"`)。

这些改动旨在提升代码的可读性、一致性和可维护性,使其更符合现代 Python 编码规范。
2025-10-05 13:21:27 +08:00
minecraft1024a
ad613a180b fix(memory): 修复向量重建后保存和统计逻辑
在向量存储重建过程中,移除了冗余的 `save_storage` 调用,因为向量数据在 `store_memories` 步骤中已经被持久化。

同时,改进了重建完成后的日志记录。现在会检查 `unified_storage` 是否存在,以避免在存储未初始化时尝试获取统计数据而引发潜在错误,并提供了更清晰的警告信息。
2025-10-05 13:19:32 +08:00
minecraft1024a
989da1a56f refactor(memory): 简化模型任务配置的获取方式
移除不必要的 `getattr` 调用,直接访问 `model_task_config` 的 `utils_small` 属性。这使得代码更简洁、更易读,并假设该属性总是存在。
2025-10-05 13:13:57 +08:00
minecraft1024a
782968ae41 chore(log): 移除记忆系统日志中的表情符号
清理 `memory_manager` 和 `memory_system` 模块中的日志输出,移除了表情符号,使日志信息更加简洁和专业。
2025-10-05 13:08:16 +08:00
雅诺狐
413973979c refactor(deps): 将jieba分词库替换为rjieba 2025-10-05 12:08:18 +08:00
Windpicker-owo
1a68365752 perf(interest): 增加兴趣值计算超时时间并优化日志记录
将兴趣值计算的默认超时时间从0.5秒增加到2.0秒,以减少因计算时间较长导致的超时情况。同时优化了超时日志记录,使用warning级别并显示具体的超时时间,使问题排查更加清晰。
2025-10-05 03:24:28 +08:00
Windpicker-owo
8d90514816 refactor(interest): 为兴趣值计算添加超时机制并清理重复代码
为兴趣值计算方法添加超时参数,防止计算过程阻塞系统。
当计算超时时返回默认值,同时让计算在后台继续执行。
删除了重复的 MessageInterestManager 类,统一使用 InterestManager。
2025-10-05 03:08:13 +08:00