minecraft1024a
a29be48091
refactor(core): 优化类型提示与代码风格
...
本次提交对项目代码进行了广泛的重构,主要集中在以下几个方面:
1. **类型提示现代化**:
- 将 `typing` 模块中的 `Optional[T]`、`List[T]`、`Dict[K, V]` 等旧式类型提示更新为现代的 `T | None`、`list[T]`、`dict[K, V]` 语法。
- 这提高了代码的可读性,并与较新 Python 版本的风格保持一致。
2. **代码风格统一**:
- 移除了多余的空行和不必要的空格,使代码更加紧凑和规范。
- 统一了部分日志输出的格式,增强了日志的可读性。
3. **导入语句优化**:
- 调整了部分模块的 `import` 语句顺序,使其符合 PEP 8 规范。
这些更改不涉及任何功能性变动,旨在提升代码库的整体质量、可维护性和开发体验。
2025-10-31 20:56:17 +08:00
Windpicker-owo
655b4f20c6
refactor(message-manager): 删除自适应流管理器并优化上下文加载
...
-从distribution_manager和message_manager中删除adaptive_stream_manager.py及其集成
-删除过时的message_recv_backup.py,因为MessageRecv已被DatabaseMessages完全替换
-在context_manager中添加异步历史初始化,以便在启动时从数据库加载消息
-优化default_generator以使用内存中的消息,而不是重复的数据库查询
-修复message.py中的回复消息段处理,以处理DatabaseMessages格式
-从chat_stream.py中删除deepcopy并改进context_manager初始化
-清理bot.py和适配器响应方法中未使用的通知处理
突破性变化:自适应流管理系统已被完全删除。所有消息处理现在都依赖于DatabaseMessages格式。上下文管理器现在在创建时从数据库异步初始化历史记录。
2025-10-31 20:45:25 +08:00
Windpicker-owo
371041c9db
重构消息处理并用DatabaseMessages替换MessageRecv
...
-更新PlusCommand以使用DatabaseMessages而不是MessageRecv。
-将消息处理逻辑重构到一个新模块message_processor.py中,以处理消息段并从消息字典中创建DatabaseMessages。
-删除了已弃用的MessageRecv类及其相关逻辑。
-调整了各种插件以适应新的DatabaseMessages结构。
-增强了消息处理功能中的错误处理和日志记录。
2025-10-31 19:24:58 +08:00
Windpicker-owo
50260818a8
refactor(bot): 使用统一方法转换消息为数据库对象,简化代码逻辑
2025-10-31 16:02:14 +08:00
Windpicker-owo
155b6e9d04
移除mai4u:s4u_watching_manager.py, screen_manager.py, super_chat_manager.py, yes_or_no.py, openai_client.py, and s4u_config.py. These changes streamline the codebase by eliminating unused components and improving maintainability.
2025-10-31 15:52:42 +08:00
tt-P607
21b5e378ea
feat(chat): 增强回复功能,支持通过字符串指定并显示用户ID
...
为了让插件能更灵活地构造回复消息,而无需依赖完整的原始消息对象,本次提交引入了新的回复机制。
- `send_api` 新增 `reply_to` 参数,允许使用 `昵称(ID)` 格式的字符串直接指定回复目标。
- 统一更新了回复消息的显示格式,在回复引文中一并展示用户昵称和ID,避免因昵称重复造成混淆。
2025-10-29 16:58:50 +08:00
tt-P607
d9c83c2cab
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-10-27 00:39:35 +08:00
tt-P607
c98fa30358
feat(file): 新增文件消息的接收与发送功能
...
本次更新为框架引入了完整的文件消息处理能力,涵盖了发送和接收两个方面,使机器人能够处理文件传输。
主要变更包括:
- **发送功能**:
- 在 `plugin_system.apis.send_api` 中新增了 `file_to_stream` 公共 API,允许插件向指定聊天流(私聊或群聊)发送本地文件。
- 为文件上传设置了更长的超时时间,并增加了临时的 WSL 路径转换逻辑。
- **接收功能**:
- `chat.message_receive` 模块现在能够正确处理 `file` 类型的消息段,并生成可读的文本描述。
- NapCat 适配器增加了对文件消息 (`file`) 和群文件上传通知 (`group_upload`) 的解析能力。
- 通过智能识别和解析,能够将机器人自己发送文件后收到的 JSON 卡片回声消息,正确地转换回标准的文件消息段。
- **重构**:
- 将接收消息的 `content_format` 属性改为根据消息段动态生成,提高了对复合消息类型的适应性。
- 将未知消息段的日志级别从 `info` 调整为 `warning`,以便更好地监控未处理的消息类型。
2025-10-26 22:57:11 +08:00
明天好像没什么
7b80d7c0b3
feat(plugin): 集成 MCP 协议支持并优化代码风格
...
- 新增 fastmcp 依赖,支持通过 Streamable HTTP 连接外部工具服务器
- 在 component_registry 与 tool_api 中实现 MCP 工具加载、注册及调用链路
- 补充 README 中的 MCP 特性说明
- 统一修复多处 import 顺序、空行、引号及类型注解,提升代码整洁度
- 在 pyproject.toml 中忽略 PERF203 规则,允许循环内异常处理
- 优化语音缓存与本地 ASR 调用逻辑,减少冗余代码
2025-10-26 13:10:31 +08:00
tt-P607
c61cc19eb6
feat(voice): 实现自身语音缓存以跳过ASR识别
...
当机器人通过TTS插件发送语音时,会自动将语音数据和对应的原始文本进行缓存。
当机器人接收到自己发送的语音消息时,会优先从缓存中直接读取文本,从而跳过调用ASR(自动语音识别)服务的步骤。
此项优化可以:
- 节省不必要的ASR资源开销和费用。
- 保证对机器人自身语音100%的识别准确性。
- 提升对自身消息的响应处理速度。
2025-10-26 01:14:23 +08:00
minecraft1024a
3c4a3b0428
chore: 统一代码风格并进行现代化改造
...
本次提交主要包含以下内容:
- **代码风格统一**:对多个文件进行了格式化,包括移除多余的空行、调整导入顺序、统一字符串引号等,以提高代码一致性和可读性。
- **类型提示现代化**:在多个文件中将旧的 `typing` 模块类型提示(如 `Optional[T]`、`List[T]`、`Union[T, U]`)更新为现代 Python 语法(`T | None`、`list[T]`、`T | U`)。
- **f-string 格式化**:在 `scripts/convert_manifest.py` 中,将 `.format()` 调用更新为更现代和易读的 f-string `!r` 表示法。
- **文件末尾换行符**:为多个文件添加或修正了文件末尾的换行符,遵循 POSIX 标准。
2025-10-25 13:31:22 +08:00
Windpicker-owo
2ec3be7c84
feat(notice): 实现全局notice消息管理系统
...
添加全局notice管理器,将notice消息与普通消息分离处理。主要功能包括:
- 创建 GlobalNoticeManager 单例类,支持公共和特定聊天流作用域
- 在 message_manager 中集成notice检测和处理逻辑
- 扩展数据库模型和消息类,添加notice相关字段
- 在提示词生成器中添加notice信息块展示
- 配置系统支持notice相关参数设置
- 适配器插件增强notice类型识别和配置
notice消息特点:
- 默认不触发聊天流程,只记录到全局管理器
- 可在提示词中展示最近的系统通知
- 支持按类型设置不同的生存时间
- 支持公共notice(所有聊天可见)和流特定notice
BREAKING CHANGE: 数据库消息表结构变更,需要添加 is_public_notice 和 notice_type 字段
2025-10-19 22:45:19 +08:00
minecraft1024a
7a7f737f71
ruff: 清理代码并规范导入顺序
...
对整个代码库进行了大规模的清理和重构,主要包括:
- 统一并修复了多个文件中的 `import` 语句顺序,使其符合 PEP 8 规范。
- 移除了大量未使用的导入和变量,减少了代码冗余。
- 修复了多处代码风格问题,例如多余的空行、不一致的引号使用等。
- 简化了异常处理逻辑,移除了不必要的 `noqa` 注释。
- 在多个文件中使用了更现代的类型注解语法(例如 `list[str]` 替代 `List[str]`)。
2025-10-05 20:38:56 +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
John Richard
7923eafef3
re-style: 格式化代码
2025-10-02 20:26:01 +08:00
John Richard
ecb02cae31
style: 格式化代码
2025-10-02 19:38:39 +08:00
Windpicker-owo
ff24bd8148
Merge afc branch into dev, prioritizing afc changes and migrating database async modifications from dev
2025-09-27 23:37:40 +08:00
minecraft1024a
9c1a7ff123
ruff
2025-09-26 20:16:46 +08:00
tt-P607
8d9aa4fb9e
refactor(db): 重构数据库交互为异步模式
...
为了提升性能并与项目整体的异步架构保持一致,对核心数据库交互模块进行了异步化重构。
主要修改内容包括:
- 将 `PermissionManager` 中的所有数据库操作从同步改为异步,以避免阻塞事件循环。
- 使用 `async_sessionmaker` 和 `async with session` 替代原有的同步会话管理。
- 将 SQLAlchemy 查询语法更新为异步兼容的 `await session.execute(select(...))` 模式。
- 相应地,调用链中依赖数据库操作的多个方法也已更新为 `async` 函数。
2025-09-20 13:07:06 +08:00
tt-P607
57b2e32ba0
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-09-20 12:43:42 +08:00
雅诺狐
7777e1ec71
Update message.py
2025-09-20 12:38:24 +08:00
雅诺狐
d22b3b71fe
小修复
2025-09-20 12:31:05 +08:00
tt-P607
a2b9f963e4
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
2025-09-20 12:26:38 +08:00
tt-P607
a8992cdd51
4次修改
2025-09-20 11:57:22 +08:00
雅诺狐
788190fb11
将AFC合并至Master分支
2025-09-20 11:45:59 +08:00
雅诺狐
898208f425
perf(methods): 通过移除不必要的 self 参数优化方法签名
...
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
2025-09-20 10:55:06 +08:00
Windpicker-owo
cdb2344e41
feat(affinity-flow): 优化兴趣度评分系统并集成消息管理器
...
重构兴趣度评分系统,移除时间因子权重,增加未读消息处理机制。集成消息管理器用于消息存储和状态跟踪,改进提及检测逻辑。
主要变更:
- 移除时间因子评分,调整兴趣匹配度权重至0.5
- 添加未读消息参数到规划器,优化兴趣度计算
- 引入消息管理器处理消息存储和状态标记
- 改进提及检测逻辑,使用消息对象的is_mentioned属性
- 添加消息清理和启动/停止机制
BREAKING CHANGE: 兴趣度评分算法调整,需要重新评估消息优先级
2025-09-16 14:13:56 +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
Windpicker-owo
368517267e
fix: at和回复只显示qq号的问题
2025-09-03 17:51:55 +08:00
Windpicker-owo
366dadeb15
迁移:69a855d(feat:保存关键词到message数据库)
2025-09-01 15:24:43 +08:00
Windpicker-owo
8149731925
修复代码格式和文件名大小写问题
2025-08-31 20:50:17 +08:00
Windpicker-owo
38212bd351
rust_video依赖检测
2025-08-29 23:35:01 +08:00
Windpicker-owo
a3adbc4fb3
Merge branch 'master' of https://github.com/MaiBot-Plus/MaiMbot-Pro-Max
2025-08-25 21:15:27 +08:00
Windpicker-owo
4f7558cd24
消息处理的细节
2025-08-25 21:15:18 +08:00
tt-P607
3117aa58b9
feat(config): 优化视频分析并引入可配置的提示词
...
将视频分析的提示词从硬编码字符串修改为从全局配置中读取,提高了灵活性和可维护性。同时,在生成回复时注入了新的引导语,使AI能以第一人称分享观后感,优化了用户体验。
2025-08-25 19:59:30 +08:00
雅诺狐
1f07104181
fix: 修复视频分析并发处理和数据库存储问题
...
🔧 修复视频分析模块的关键并发和存储问题
**主要修复:**
1. **并发竞争条件修复**
- 解决相同视频hash同时处理导致重复分析的问题
- 重构并发控制机制,使用per-video独立锁和事件
- 消除30秒超时后多个请求同时执行的竞争条件
2. **数据库存储优化**
- 移除Videos表path字段的复杂唯一性检查逻辑
- 简化为基于hash的纯唯一标识存储
- 修复path字段重复导致的IntegrityError
3. **代码简化和清理**
- 删除重编码视频检测功能(复杂且用处有限)
- 移除不必要的特征匹配和计数更新逻辑
- 简化存储路径生成,统一使用hash前缀
Fixes: 视频并发处理竞争条件、数据库存储冲突、聊天循环变量错误
2025-08-22 23:55:54 +08:00
雅诺狐
5e91f9ef5f
Remove unused imports across multiple modules
...
Cleaned up various files by removing unused or redundant import statements to improve code readability and reduce potential confusion. No functional changes were made.
2025-08-19 11:55:24 +08:00
minecraft1024a
25bcc96092
feat(video): 视频识别功能开关与日志优化
...
根据全局配置 `global_config.video_analysis.enable` 控制视频识别功能的启用与禁用。
- 当视频识别功能禁用时,收到视频消息将直接返回 `[视频]` 或空字符串,不再进行分析,以节约资源。
2025-08-19 11:27:53 +08:00
Furina-1013-create
9d29228784
我靠我我视频识别怎么又给我炸了
...
--已重新修复......
2025-08-14 00:45:19 +08:00
minecraft1024a
6030b9e7c2
修复interest_value为None的情况,确保在计算兴趣值时不会出现错误。将interest_value的默认值设置为0.0,以提高代码的健壮性。
2025-08-13 13:44:12 +08:00
雅诺狐
fe97d897ef
优化项目结构,格式化代码
2025-08-13 09:49:39 +08:00
Furina-1013-create
32feae137e
增加视频识别板块
...
采用抽帧的方式识别视频,可以自己配置详细参数 -详细请看bot_config最底下
更改了template模板
多bb一句:我真的是被这个炸服了,改完这里那里就又炸了,但是总之现在没问题了
2025-08-13 01:58:43 +08:00
雅诺狐
2d4745cd58
初始化
2025-08-11 19:34:18 +08:00