Windpicker-owo
0148f1e533
refactor(expression_learner): 优化表达方式查询逻辑,减少数据库查询次数并批量处理更新操作
...
refactor(storage): 添加消息更新批处理器,优化消息ID更新逻辑以减少数据库连接次数
2025-11-19 23:30:31 +08:00
明天好像没什么
5638076328
refactor: 统一类型注解风格并优化代码结构
...
- 将裸 except 改为显式 Exception 捕获
- 用列表推导式替换冗余 for 循环
- 为类属性添加 ClassVar 注解
- 统一 Union/Optional 写法为 |
- 移除未使用的导入
- 修复 SQLAlchemy 空值比较语法
- 优化字符串拼接与字典更新逻辑
- 补充缺失的 noqa 注释与异常链
BREAKING CHANGE: 所有插件基类的类级字段现要求显式 ClassVar 注解,自定义插件需同步更新
2025-11-19 23:30:26 +08:00
minecraft1024a
2ee6aa3951
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-11-19 23:30:12 +08:00
Windpicker-owo
1b3a2342ce
重构消息处理并用DatabaseMessages替换MessageRecv
...
-更新PlusCommand以使用DatabaseMessages而不是MessageRecv。
-将消息处理逻辑重构到一个新模块message_processor.py中,以处理消息段并从消息字典中创建DatabaseMessages。
-删除了已弃用的MessageRecv类及其相关逻辑。
-调整了各种插件以适应新的DatabaseMessages结构。
-增强了消息处理功能中的错误处理和日志记录。
2025-11-19 23:30:06 +08:00
Windpicker-owo
c176ea1a79
feat(chat): 统一消息格式信息处理逻辑
...
在多个消息处理模块中统一了 format_info 的处理方式,确保适配器支持的消息类型能够正确传递给 action_modifier:
- 在 bot.py、chat_stream.py、optimized_chat_stream.py 中新增 _prepare_additional_config 方法
- 将 format_info 嵌入到 additional_config 中,确保数据库存储一致性
- 增强 action_modifier 中的适配器类型检查逻辑,添加更详细的错误日志
- 修复 storage.py 中的 additional_config 处理逻辑,避免覆盖原始配置
这些改进确保了 Action 能够正确检查适配器支持的消息类型,避免因缺少 format_info 导致的类型检查失败。
2025-11-19 23:24:56 +08:00
Windpicker-owo
01f0a3ca4f
feat(chat): 增强消息存储和动作类型检查功能
...
- 在消息存储中增加additional_config字段支持,用于存储格式信息和其他配置
- 改进动作修改器的类型检查逻辑,新增_get_adapter_supported_output_types方法
- 通过解析additional_config中的format_info动态获取适配器支持的输出类型
- 添加对字符串和字典格式additional_config的兼容处理
- 默认支持NapCat适配器的常见消息类型(text、image、voice等)
2025-11-19 23:24:46 +08:00
minecraft1024a
f1dfe64f88
chore: 代码格式化与类型注解优化
...
对项目中的多个文件进行了代码风格调整和类型注解更新。
- 使用 ruff 工具对代码进行自动格式化,主要包括:
- 统一 import 语句的顺序和风格。
- 移除未使用的 import。
- 调整代码间距和空行。
- 将部分 `Optional[str]` 和 `List[T]` 等旧式类型注解更新为现代的 `str | None` 和 `list[T]` 语法。
- 修复了一些小的代码风格问题,例如将 `f'...'` 更改为 `f"..."`。
2025-11-19 23:24:42 +08:00
tt-P607
cba200520b
refactor(chat): 重构图片在聊天记录中的处理与表示方式
...
为了简化LLM的上下文并提高代码可维护性,对聊天记录中图片的处理方式进行了彻底重构。
旧系统使用 [图片1] 等占位符,并在消息头部附加一个独立的图片描述映射块。这种方式结构复杂,容易造成上下文分离。
新系统将图片描述直接内联到消息文本中,格式为 `[图片:一只猫]`,使聊天记录对LLM更加自然和易于理解。
主要变更:
- **消息构建 (`chat_message_builder`):** 在构建可读消息时,异步将数据库中的 `[picid:...]` 标签直接替换为完整的 `[图片:描述]`。
- **废弃映射:** 移除了独立的图片映射信息块 (`build_pic_mapping_info` 函数),所有信息都在消息内联。
- **图片处理 (`utils_image`):** `process_image` 流程现在同步返回完整的描述字符串,并增强了VLM调用的重试逻辑和缓存机制,提高了健壮性。
- **消息存储 (`storage`):** 在消息存入数据库前,将 `[图片:描述]` 转换为 `[picid:...]`,以保持存储规范化。
- **修复:** 增加了多处空值检查,提高了代码的稳定性。这不得之前稳定好用多了😋 😋 😋
2025-11-19 23:24:02 +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
0a3c908654
feat(memory): 增强记忆构建上下文处理能力并优化兴趣度批量更新机制
...
- 在记忆构建过程中允许检索历史记忆作为上下文补充
- 改进LLM响应解析逻辑,增强JSON提取兼容性
- 优化消息兴趣度计算和批量更新机制,减少数据库写入频率
- 添加构建状态管理,支持在BUILDING状态下进行记忆检索
- 修复stream_id拼写错误处理和历史消息获取逻辑
2025-11-19 23:11:10 +08:00
Windpicker-owo
c31fd02daf
refactor(chat): 迁移数据库操作为异步模式并修复相关调用
...
将同步数据库操作全面迁移为异步模式,主要涉及:
- 将 `with get_db_session()` 改为 `async with get_db_session()`
- 修复相关异步调用链,确保 await 正确传递
- 优化消息管理器、上下文管理器等核心组件的异步处理
- 移除同步的 person_id 获取方法,避免协程对象传递问题
修复 deepcopy 在 StreamContext 中的序列化问题,跳过不可序列化的 asyncio.Task 对象
删除无用的测试文件和废弃的插件清单文件
2025-11-19 23:09:34 +08:00
Windpicker-owo
9836d317b8
refactor(database): 将同步数据库操作迁移为异步操作
...
将整个项目的数据库操作从同步模式迁移为异步模式,主要涉及以下修改:
- 将 `with get_db_session()` 改为 `async with get_db_session()`
- 将同步的 SQLAlchemy 查询方法改为异步执行
- 更新相关的方法签名,添加 async/await 关键字
- 修复由于异步化导致的并发问题和性能问题
这些修改提高了数据库操作的并发性能,避免了阻塞主线程,提升了系统的整体响应能力。涉及修改的模块包括表情包管理、反提示注入统计、用户封禁管理、记忆系统、消息存储等多个核心组件。
BREAKING CHANGE: 所有涉及数据库操作的方法现在都需要使用异步调用,同步调用将不再工作
2025-11-19 23:09:31 +08:00
Windpicker-owo
1177b81285
refactor(chat): 重构消息管理器以使用集中式上下文管理和能量系统
...
- 将流上下文管理从MessageManager迁移到专门的ContextManager
- 使用统一的能量系统计算focus_energy和分发间隔
- 重构ChatStream的消息数据转换逻辑,支持更完整的数据字段
- 更新数据库模型,移除interest_degree字段,统一使用interest_value
- 集成新的兴趣度管理系统替代原有的评分系统
- 添加消息存储的interest_value修复功能
2025-11-19 23:09:25 +08:00
Windpicker-owo
087ecfb420
fix(chat): 修复display_message缺失时的显示问题
2025-11-19 23:08:02 +08:00
Windpicker-owo
e1fcdf94ee
feat(affinity-flow): 调整回复概率参数和评分计算
...
- 增加最大不回复次数至15次,降低每次不回复的概率提升至1%
- 在最终评分计算中增加1.15倍系数提升
- 被提及时的基础分数从1.0提升至3.0
- 为兴趣标签保存添加数据库验证机制
- 在消息处理流程中增加数据库存储功能
- 修复JSON解析错误处理,增加异常情况下的默认响应
- 优化数据库会话管理和模型转换的健壮性
2025-11-19 23:06:42 +08:00
雅诺狐
679195d792
refactor(db): 修正SQLAlchemy异步操作调用方式
...
移除session.add()方法的不必要await调用,修正异步数据库操作模式。主要变更包括:
- 将 `await session.add()` 统一改为 `session.add()`
- 修正部分函数调用为异步版本(如消息查询函数)
- 重构SQLAlchemyTransaction为完全异步实现
- 重写napcat_adapter_plugin数据库层以符合异步规范
- 添加aiomysql和aiosqlite依赖支持
2025-11-19 23:05:17 +08:00
雅诺狐
0cffc0aa95
refactor(db): 将数据库操作异步化
...
- 将所有 session.add() 改为 await session.add()
- 将所有 session.commit() 改为 await session.commit()
- 将 session.refresh() 改为 await session.refresh()
2025-11-19 23:05:14 +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
tt-P607
aba4f1a947
三次修改
2025-11-19 23:02:01 +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
6cf59deef3
迁移:69a855d(feat:保存关键词到message数据库)
2025-11-19 22:56:10 +08:00
Windpicker-owo
fe472dff60
修复代码格式和文件名大小写问题
2025-11-19 22:55:55 +08:00
雅诺狐
ab3a36bfa7
全面更换orjson
2025-11-19 22:47:10 +08:00
雅诺狐
875e02d42f
数据库重构
2025-11-19 22:40:23 +08:00
雅诺狐
2dfd986ba4
Update storage.py
2025-11-19 22:37:40 +08:00
雅诺狐
b966a2f09c
小修复
2025-11-19 22:35:34 +08:00
雅诺狐
4a1a1510c5
更新插件示例,及信息类型问题
2025-11-19 22:35:31 +08:00
雅诺狐
a588a2a695
添加了一个发送api
2025-11-19 22:35:26 +08:00
minecraft1024a
be13559563
fix(storage): 修复消息ID更新逻辑
...
将消息ID的更新逻辑从处理 "text" 和 "reply" 类型,调整为专门处理 "notify" 类型。
这确保了只有在收到通知类型的消息时才尝试获取和更新消息ID,避免了在其他消息类型上出现错误。
2025-11-19 22:35:19 +08:00
雅诺狐
23ee3767ef
初始化
2025-11-19 22:34:56 +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
a2c86f3605
feat:部分处理notify,自动同步数据库null约束变更
...
notify存储至message库
2025-08-08 12:34:21 +08:00
SengokuCola
639048deed
feat:麦麦会产生thinking,并发送内容到直播流
2025-07-21 00:44:58 +08:00
SengokuCola
5c97bcf083
feat:更好的配置文件更新,表达方式迁移到数据库
2025-07-16 18:13:02 +08:00
SengokuCola
a150aa7b2b
feat:noreply不考虑command
2025-07-15 21:37:32 +08:00
UnCLAS-Prommer
f890722c3d
Merge branch 'dev' into plugin
2025-07-13 01:28:48 +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
SengokuCola
a0efb89d98
feat:将normal抽象为循环
2025-07-11 21:51:47 +08:00
SengokuCola
375f28242a
fix:优化no——reply计算
2025-07-11 11:44:13 +08:00
SengokuCola
f17f5cf46c
feat:修改log,优化关系构建逻辑,节省token,
2025-07-08 02:04:31 +08:00
github-actions[bot]
a3a3d872fa
🤖 自动格式化代码 [skip ci]
2025-07-06 14:13:25 +00:00
A0000Xz
ed1d21ad67
让麦麦自己发的图片在数据库内不以文本描述存储而是以[picid:]格式
2025-07-06 02:50:39 +08:00
github-actions[bot]
324b294b5f
🤖 自动格式化代码 [skip ci]
2025-07-01 11:33:16 +00:00
SengokuCola
9b3251f8ec
feat:增加了reply_to新message属性,优化prompt,切割
2025-07-01 15:22:04 +08:00
github-actions[bot]
baac5e44cf
🤖 自动格式化代码 [skip ci]
2025-06-30 09:44:38 +00:00
A0000Xz
228caa0f18
fix
2025-06-29 02:05:02 +08:00