Commit Graph

1299 Commits

Author SHA1 Message Date
LuiKlee
b3ae8e4f1a 重构database_data_model.py
没用力测试,炸了叫lui修
2025-10-08 18:39:43 +08:00
LuiKlee
d0d1a35fd4 修复handle_message_storage 中模式与结果的逻辑不一致 2025-10-08 17:57:53 +08:00
雅诺狐
0f39067ffd Update README.md 2025-10-08 09:58:44 +08:00
雅诺狐
d052dbe5a9 更新版本号至0.11.1阿尔法第一版本 2025-10-07 21:30:15 +08:00
雅诺狐
ff46e74a28 Potential fix for code scanning alert no. 5: Use of a broken or weak cryptographic hashing algorithm on sensitive data
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-10-07 20:39:49 +08:00
雅诺狐
49e75e7f00 为合并修改版本号
移除Dev分支后缀
2025-10-07 20:34:14 +08:00
minecraft1024a
f9c02520d0 feat(llm): 在负载均衡中引入延迟作为考量因素
为了更智能地选择模型,负载均衡算法现在会考虑模型的平均响应延迟。延迟较高的模型将受到惩罚,从而优先选择响应更快的模型。

- 使用 `namedtuple` (`ModelUsageStats`) 替代了原有的元组来存储模型使用统计信息,提高了代码的可读性和可维护性。
- 在模型选择的评分公式中增加了 `avg_latency` 权重,使算法能够动态适应模型的性能变化。
- 更新了 `LLMRequest` 类,以在每次成功请求后计算并更新模型的平均延迟。
2025-10-07 20:29:09 +08:00
minecraft1024a
4f9b31d188 refactor(core): 统一代码风格并移除未使用的导入
本次提交主要进行代码风格的统一和现代化改造,具体包括:
- 使用 `|` 联合类型替代 `typing.Optional`,以符合 PEP 604 的现代语法。
- 移除多个文件中未被使用的导入语句,清理代码。
- 调整了部分日志输出的级别,使其更符合调试场景。
- 统一了部分文件的导入顺序和格式。
2025-10-07 20:16:47 +08:00
Windpicker-owo
b3d1c93b87 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-07 17:50:25 +08:00
Windpicker-owo
8142a12acb feat(chat): 添加机器人身份信息到提示词模板
在多个提示词模板中添加机器人名称和昵称信息,让AI能够正确识别自己的身份。同时更新PromptParameters类以支持这些新参数。
2025-10-07 17:50:18 +08:00
Windpicker-owo
ee51976095 refactor(chat): 优化任务管理机制支持多重回复
重构聊天管理器的任务处理系统,将单一任务追踪改为支持多重回复的任务列表管理。

主要变更:
- 将 `_processing_tasks` 从单任务字典改为任务列表字典
- 新增 `add_processing_task` 和 `get_all_processing_tasks` 方法
- 增强 `cancel_all_stream_tasks` 方法支持批量取消
- 修复消息打断机制,确保取消所有相关任务
- 优化任务清理逻辑,自动移除已完成任务

这些改进使系统能够更好地处理并发回复场景,提高任务管理的灵活性和可靠性。
2025-10-07 17:10:26 +08:00
tt-P607
8ecc02044c Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-07 16:47:50 +08:00
tt-P607
fa8593d14c chore(log): 将详细的调试日志级别从 INFO 调整为 DEBUG
为了保持 INFO 级别日志的简洁和可读性,将一些过于详细、仅在深度调试时才需要的日志输出调整为 DEBUG 级别。

主要变更包括:
- 记忆系统检索到的记忆详情
- 规划器的原始 LLM 提示词和响应

这有助于在常规运行中关注核心流程,同时保留了在需要时查看详细信息的能力。
2025-10-07 16:47:28 +08:00
Windpicker-owo
37b13c3a42 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-07 16:30:25 +08:00
雅诺狐
93203daa94 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-07 16:29:24 +08:00
雅诺狐
6659c60799 refactor(db,plugin): 优化数据库初始化和插件系统类型安全
- 重构数据库初始化逻辑,添加防重入保护和更好的错误处理
- 优化插件组件注册系统的类型注解和代码结构
- 简化统计模块异常处理逻辑
- 移除插件管理器中的重载功能以简化代码
- 更新Pyright配置排除内置插件目录
- 修复权限管理器异步方法调用
2025-10-07 16:29:17 +08:00
Windpicker-owo
b0c9f439d0 refactor(chat): 重构消息处理流程引入缓冲队列机制
通过引入消息缓冲队列,解决了高频消息场景下的竞态条件和消息丢失问题。
新的处理机制将消息暂存于缓冲区,仅在流处理空闲时才释放到未读队列,
确保了消息处理的原子性和一致性。

核心变更:
- 为每个聊天流创建独立的消息缓冲队列
- 实时跟踪流的处理状态,避免并发访问冲突
- 在处理开始前和完成后自动刷新缓冲区
- 仅在成功执行后清空未读消息,失败时保留消息
- 增加对取消任务和异常情况的容错处理
- 集成缓存统计和监控功能

此优化显著提升了消息处理的可靠性和性能表现。
2025-10-07 16:27:33 +08:00
Windpicker-owo
f6248ab774 feat(mood): 集成情绪系统到消息处理流程并改进初始化逻辑
在消息处理完成后自动触发情绪状态更新,增强了聊天体验的动态性。
同时改进了情绪系统的异步初始化过程,增加了错误处理和日志记录,
确保系统在各种异常情况下都能稳定运行。
2025-10-07 15:10:41 +08:00
Windpicker-owo
1381e7f700 refactor(scoring): 重构评分系统使用统一API替代插件内部实现
将原有的兴趣度评分系统重构为使用统一的评分API,移除了插件内部实现并更新了所有相关引用。主要变更包括:
- 替换 chatter_interest_scoring_system 为 scoring_api
- 移除 interest_scoring.py 文件,统一使用 src/plugin_system/apis/scoring_api
- 更新关系追踪器以使用统一API,保持向后兼容性
- 简化了多个模块中的关系分获取逻辑
2025-10-07 14:41:49 +08:00
Windpicker-owo
4971d18f14 feat(chat): 优化消息打断系统概率模型为反比例函数
将消息打断系统的概率计算从线性模型改为反比例函数模型,
提供更合理的打断概率分布:

- 第1次打断概率约80%
- 第2次打断概率约35%
- 第3次打断概率约15%
- 后续趋近于最低概率(5%)

新模型通过反比例函数实现前期高概率、快速衰减的特性,
避免线性模型中后期打断概率仍然较高的问题,提升用户体验。
2025-10-07 13:52:01 +08:00
Windpicker-owo
e46b396ba5 feat(config): 调整消息打断系统参数以降低打断频率
- 将最大打断次数从10次降至5次
- 将最低打断概率从0.1降至0.05
2025-10-07 13:36:54 +08:00
Windpicker-owo
76713bf727 feat(chat): 重构消息打断系统为线性概率模型
将复杂的指数衰减概率模型简化为线性概率模型,提高可预测性和可配置性

- 新增最低打断概率配置,确保始终有打断机会
- 移除复杂的概率因子计算,改用简单的线性递减公式
- 增加最大打断次数默认值从3提升到10
- 保留废弃配置项以确保向后兼容
- 更新配置模板和文档说明新的概率计算方式
2025-10-07 13:21:33 +08:00
Windpicker-owo
150c026434 fix(import): 修正导入路径以确保正确引用 StreamPriority 2025-10-07 12:58:17 +08:00
Windpicker-owo
a5eecdeeb4 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-07 12:01:39 +08:00
Windpicker-owo
6e8c53ef7c feat(memory): 增强记忆检索日志,打印有效记忆的详细信息和元数据 2025-10-07 11:53:51 +08:00
雅诺狐
8ab523e296 Merge pull request #26 from LuisKlee/patch-9
调整部分结构
2025-10-07 11:46:50 +08:00
雅诺狐
a1bb6ed2a9 Update src/chat/antipromptinjector/counter_attack.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-10-07 11:46:18 +08:00
雅诺狐
a633f70498 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-07 11:35:29 +08:00
雅诺狐
875ee4813c refactor: 清理项目结构并修复类型注解问题
修复 SQLAlchemy 模型的类型注解,使用 Mapped 类型避免类型检查器错误
- 修正异步数据库操作中缺少 await 的问题
- 优化反注入统计系统的数值字段处理逻辑
- 添加缺失的导入语句修复模块依赖问题
2025-10-07 11:35:12 +08:00
minecraft1024a
db8eec36d5 refactor(napcat): 重构数据库层以使用异步SQLAlchemy
将 Napcat 适配器插件的数据库实现从独立的 `sqlmodel` 和同步会话切换为复用主程序的异步 SQLAlchemy 数据库连接和迁移体系。

主要变更:
- 移除独立的 `NapcatAdapter.db` 文件和 `sqlmodel` 依赖。
- 创建新的 `NapcatBanRecord` SQLAlchemy 模型,并集成到主应用的 `Base` 中。
- 将所有数据库操作(增删改查)重构为异步方法,并提供兼容旧方法名的接口。
- 移除本地缓存逻辑,简化 `utils.py` 中的信息获取函数。
- 适配 `notice_handler.py` 中的数据库调用为异步 `await` 方式。

此重构统一了数据库管理,提高了性能和可维护性,并消除了同步I/O操作。
2025-10-06 21:54:27 +08:00
tt-P607
bd8636cd57 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-06 21:46:27 +08:00
tt-P607
3104414c79 fix(db): 处理关闭连接时可能出现的 CancelledError
在异步任务被取消时,`session.close()` 操作可能会抛出 `asyncio.CancelledError`。

此提交通过捕获该特定异常并记录警告,增强了连接关闭过程的健壮性,防止了因未处理的异常而导致程序意外中断。
2025-10-06 21:45:50 +08:00
雅诺狐
167e4d2520 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-06 21:02:44 +08:00
雅诺狐
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