Commit Graph

70 Commits

Author SHA1 Message Date
雅诺狐
97dc145b76 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-11-19 23:18:45 +08:00
John Richard
a79253c714 re-style: 格式化代码 2025-11-19 23:13:20 +08:00
John Richard
00ba07e0e1 style: 格式化代码 2025-11-19 23:12:18 +08:00
Windpicker-owo
2739848451 feat(affinity-flow): 优化兴趣度评分系统并集成消息管理器
重构兴趣度评分系统,移除时间因子权重,增加未读消息处理机制。集成消息管理器用于消息存储和状态跟踪,改进提及检测逻辑。

主要变更:
- 移除时间因子评分,调整兴趣匹配度权重至0.5
- 添加未读消息参数到规划器,优化兴趣度计算
- 引入消息管理器处理消息存储和状态标记
- 改进提及检测逻辑,使用消息对象的is_mentioned属性
- 添加消息清理和启动/停止机制

BREAKING CHANGE: 兴趣度评分算法调整,需要重新评估消息优先级
2025-11-19 23:06:40 +08:00
minecraft1024a
f842c43ab0 ruff 2025-11-19 23:05:47 +08:00
tt-P607
5892ed1452 refactor(db): 重构数据库交互为异步模式
为了提升性能并与项目整体的异步架构保持一致,对核心数据库交互模块进行了异步化重构。

主要修改内容包括:
- 将 `PermissionManager` 中的所有数据库操作从同步改为异步,以避免阻塞事件循环。
- 使用 `async_sessionmaker` 和 `async with session` 替代原有的同步会话管理。
- 将 SQLAlchemy 查询语法更新为异步兼容的 `await session.execute(select(...))` 模式。
- 相应地,调用链中依赖数据库操作的多个方法也已更新为 `async` 函数。
2025-11-19 23:05:09 +08:00
雅诺狐
9ec8ea6310 Update message.py 2025-11-19 23:05:08 +08:00
雅诺狐
ca51182172 小修复 2025-11-19 23:05:07 +08:00
雅诺狐
26a4c492c3 将AFC合并至Master分支 2025-11-19 23:05:06 +08:00
tt-P607
d53238dfc9 4次修改 2025-11-19 23:05:02 +08:00
雅诺狐
93542cadef perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
2025-11-19 23:05:00 +08:00
minecraft1024a
d66e04baff 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-11-19 22:57:44 +08:00
Windpicker-owo
91454fe576 fix: at和回复只显示qq号的问题 2025-11-19 22:57:13 +08:00
Windpicker-owo
6cf59deef3 迁移:69a855d(feat:保存关键词到message数据库) 2025-11-19 22:56:10 +08:00
Windpicker-owo
fe472dff60 修复代码格式和文件名大小写问题 2025-11-19 22:55:55 +08:00
Windpicker-owo
a3c07fb0f1 rust_video依赖检测 2025-11-19 22:53:57 +08:00
tt-P607
88da5e24ca feat(config): 优化视频分析并引入可配置的提示词
将视频分析的提示词从硬编码字符串修改为从全局配置中读取,提高了灵活性和可维护性。同时,在生成回复时注入了新的引导语,使AI能以第一人称分享观后感,优化了用户体验。
2025-11-19 22:46:39 +08:00
Windpicker-owo
3bf38bb1dc 消息处理的细节 2025-11-19 22:46:33 +08:00
雅诺狐
e39c34f366 fix: 修复视频分析并发处理和数据库存储问题
🔧 修复视频分析模块的关键并发和存储问题

**主要修复:**
1. **并发竞争条件修复**
   - 解决相同视频hash同时处理导致重复分析的问题
   - 重构并发控制机制,使用per-video独立锁和事件
   - 消除30秒超时后多个请求同时执行的竞争条件

2. **数据库存储优化**
   - 移除Videos表path字段的复杂唯一性检查逻辑
   - 简化为基于hash的纯唯一标识存储
   - 修复path字段重复导致的IntegrityError

3. **代码简化和清理**
   - 删除重编码视频检测功能(复杂且用处有限)
   - 移除不必要的特征匹配和计数更新逻辑
   - 简化存储路径生成,统一使用hash前缀

Fixes: 视频并发处理竞争条件、数据库存储冲突、聊天循环变量错误
2025-11-19 22:46:11 +08:00
雅诺狐
383f704b53 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-11-19 22:44:32 +08:00
minecraft1024a
d355153a19 feat(video): 视频识别功能开关与日志优化
根据全局配置 `global_config.video_analysis.enable` 控制视频识别功能的启用与禁用。

- 当视频识别功能禁用时,收到视频消息将直接返回 `[视频]` 或空字符串,不再进行分析,以节约资源。
2025-11-19 22:44:04 +08:00
Furina-1013-create
2d22b3d561 我靠我我视频识别怎么又给我炸了
--已重新修复......
2025-11-19 22:38:52 +08:00
minecraft1024a
e6499e2fa7 修复interest_value为None的情况,确保在计算兴趣值时不会出现错误。将interest_value的默认值设置为0.0,以提高代码的健壮性。 2025-11-19 22:36:10 +08:00
雅诺狐
2e6ae2419b 优化项目结构,格式化代码 2025-11-19 22:35:40 +08:00
Furina-1013-create
2d1e131899 增加视频识别板块
采用抽帧的方式识别视频,可以自己配置详细参数 -详细请看bot_config最底下
更改了template模板
多bb一句:我真的是被这个炸服了,改完这里那里就又炸了,但是总之现在没问题了
2025-11-19 22:35:36 +08:00
SengokuCola
4ffcc61f4b feat:记录使用的表达方式 2025-08-12 21:44:35 +08:00
SengokuCola
69a855df8d feat:保存关键词到message数据库 2025-08-10 21:12:49 +08:00
SengokuCola
b57671b639 fix:修复表情包描述进入prompt问题 2025-08-09 21:16:57 +08:00
SengokuCola
a2c86f3605 feat:部分处理notify,自动同步数据库null约束变更
notify存储至message库
2025-08-08 12:34:21 +08:00
UnCLAS-Prommer
6c0edd0ad7 调整对应的调用 2025-07-30 17:07:55 +08:00
UnCLAS-Prommer
d643a85a0a send_api_doc与reply_to修改 2025-07-28 11:47:32 +08:00
SengokuCola
e227a0158d Merge branch 'dev' of https://github.com/MaiM-with-u/MaiBot into dev 2025-07-21 00:45:04 +08:00
SengokuCola
639048deed feat:麦麦会产生thinking,并发送内容到直播流 2025-07-21 00:44:58 +08:00
UnCLAS-Prommer
f2c901bc98 typing 2025-07-20 18:14:53 +08:00
UnCLAS-Prommer
32cb4dc726 some typing 2025-07-19 19:14:52 +08:00
Windpicker-owo
830acaf35f 优化了代码规范 2025-07-17 15:35:13 +08:00
Windpicker-owo
367be4e7d7 优化了部分代码 2025-07-17 15:12:20 +08:00
Windpicker-owo
587aca4d18 增加对voice类型消息的支持 2025-07-17 14:50:19 +08:00
SengokuCola
8768b5d31b Merge branch 'dev' of https://github.com/MaiM-with-u/MaiBot into dev 2025-07-17 00:57:07 +08:00
SengokuCola
c12975bfdf fix:修正s4u的一些问题,修复表达方式共享失效的问题 2025-07-17 00:55:48 +08:00
UnCLAS-Prommer
1aa2734d62 typing fix 2025-07-17 00:10:41 +08:00
SengokuCola
a150aa7b2b feat:noreply不考虑command 2025-07-15 21:37:32 +08:00
SengokuCola
7d448c5fdc feat:可接受 screen seg来读屏幕 2025-07-15 20:29:06 +08:00
SengokuCola
5ec0d42cde feat:添加新的message类为s4u服务,添加s4u config,添加sc和gift的解析,修复关系构建的一些问题 2025-07-15 17:04:30 +08:00
UnCLASPrommer
eae399fb95 typing change, use enum instead of string, fix typo 2025-07-14 23:40:09 +08:00
UnCLAS-Prommer
f890722c3d Merge branch 'dev' into plugin 2025-07-13 01:28:48 +08:00
github-actions[bot]
2d39cefce0 🤖 自动格式化代码 [skip ci] 2025-07-12 16:21:28 +00:00
UnCLAS-Prommer
d2ad6ea1d8 fix typo 2025-07-12 10:18:16 +08:00
UnCLAS-Prommer
485aaac783 Merge branch 'dev' into plugin 2025-07-12 10:02:05 +08:00
UnCLAS-Prommer
b303a95f61 部分类型注解修复,优化import顺序,删除无用API文件 2025-07-12 00:34:49 +08:00