Commit Graph

1416 Commits

Author SHA1 Message Date
雅诺狐
e83e0d9ff2 refactor: 优化异步调用和权限系统架构
- 移除bot.py中不必要的asyncio.to_thread包装
- 将权限API的is_master方法改为异步调用
- 删除不再使用的SQLAlchemyTransaction类
2025-10-06 21:02:38 +08:00
minecraft1024a
206b35fff3 chore(repo): 优化仓库结构 2025-10-06 20:55:46 +08:00
minecraft1024a
d2c4726ad1 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-06 20:45:20 +08:00
minecraft1024a
dea897d9aa fix(chat): 修复typo_generator中词典文件的路径问题
词典文件的路径从依赖`rjieba`包的位置改为相对于当前文件的相对路径,以确保在不同环境下都能正确找到文件。
2025-10-06 20:45:17 +08:00
sunbiz1024
706054dc1e 增加bot.py拉起webui的功能,.venv31已加入 .gitignore 2025-10-06 19:59:54 +08:00
sunbiz1024
43faf9613e Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-06 18:39:25 +08:00
sunbiz1024
9c4e5a2070 Revert "增加bot.py拉起webui进程功能"
This reverts commit 92c658de47.
2025-10-06 18:36:57 +08:00
sunbiz1024
92c658de47 增加bot.py拉起webui进程功能 2025-10-06 18:32:42 +08:00
tt-P607
514b681ace Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-06 15:49:23 +08:00
tt-P607
b973495b00 1 2025-10-06 15:45:19 +08:00
tt-P607
bd84a18ac5 refactor(chat): 重构消息打断逻辑以从 ChatterManager 获取任务
将正在处理的任务跟踪从 ContextManager 转移到 ChatterManager。

此举旨在集中管理聊天任务,降低 MessageManager 与 ContextManager 之间的耦合。现在,中断处理逻辑直接查询 ChatterManager 以获取并取消当前活动任务,使任务状态管理更加清晰和可靠。
2025-10-06 15:42:57 +08:00
minecraft1024a
b7a255c4ae feat(plugin-system): 引入插件权限节点声明式注册机制,解决了issue#24
重构了插件权限节点的注册方式,从原先在 `on_plugin_loaded` 钩子中调用 API 的命令式注册,改为通过在插件类中声明 `permission_nodes` 列表的声明式注册。

这一改进有以下优点:
- **简化插件开发**:插件开发者不再需要在代码中手动调用注册函数,只需在类属性中定义权限节点即可,更加直观和简洁。
- **提升核心健壮性**:权限节点的注册逻辑统一由插件管理器在加载时处理,减少了因插件实现不当导致注册失败或遗漏的风险。
- **增强可读性**:所有权限节点集中定义在插件类的顶部,方便快速了解插件所需的权限。

此变更涉及:
- 新增 `PermissionNodeField` 类型用于标准化权限节点定义。
- 在 `PluginBase` 中添加 `permission_nodes` 属性。
- 在 `PluginManager` 中实现插件加载时自动注册权限节点的逻辑。
- 更新 `maizone_refactored` 和 `permission_management` 插件以适应新的声明式注册方式。
2025-10-06 13:26:24 +08:00
LuiKlee
7a394ed1d9 调整部分结构 2025-10-06 13:18:31 +08:00
Windpicker-owo
a2b0dd768a Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-06 10:34:30 +08:00
Windpicker-owo
a5fe062577 afc文档 2025-10-06 10:34:22 +08:00
sunbiz1024
8f4f7d19af ruff 2025-10-06 09:38:16 +08:00
Windpicker-owo
28afc09d31 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-06 01:07:08 +08:00
Windpicker-owo
82ba5e2ed8 feat(model): 优化客户端缓存和事件循环检测机制
- 在 ClientRegistry 中添加事件循环变化检测,自动处理缓存失效
- 为 OpenaiClient 实现全局 AsyncOpenAI 客户端缓存,提升连接池复用效率
- 将 utils_model 中的同步方法改为异步,确保与事件循环兼容
- 移除 embedding 请求的特殊处理,现在所有请求都能享受缓存优势
- 添加缓存统计功能,便于监控和调试
2025-10-06 01:05:50 +08:00
ikun-11451
5d3c5e1074 Revert "喵喵喵?"
This reverts commit f65f19249c.
2025-10-05 23:19:24 +08:00
ikun-11451
f65f19249c 后端增加cpu占用率等api喵~ 2025-10-05 23:09:40 +08:00
tt-P607
2bdf7f926b Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-05 22:17:32 +08:00
tt-P607
ce999ba59d 干什么?干什么?!搁这埋坑呢!第12行和第13行写了两次 async def get_replyer(,干!什!么! 2025-10-05 22:17:24 +08:00
minecraft1024a
24850316b3 chore(config): 更新模板配置
移除未使用的 [server] 部分并更新内部版本号。
2025-10-05 21:52:36 +08:00
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