Windpicker-owo
|
8829a1d124
|
feat(database): 完成 ChatStreams、PersonInfo 和 Expression 查询优化
优化内容:
1. ChatStreams 查询优化
- energy_manager.py: 使用 CRUDBase 替代直接查询
- chat_stream.py: 优化 load_all_streams 使用 CRUD.get_all()
- proactive_thinking_executor.py: _get_stream_impression 添加 5 分钟缓存
- chat_stream_impression_tool.py: 使用 CRUD + 缓存失效
2. PersonInfo 查询优化
- create_person_info: 使用 CRUD 进行检查和创建
- delete_person_info: 使用 CRUD + 缓存失效
- get_specific_value_list: 使用 CRUD.get_all()
- get_or_create_person: 优化原子性操作
- find_person_id_from_name: 使用 CRUD.get_by()
3. Expression 查询优化 (高频操作)
- expression_learner.py:
* get_expression_by_chat_id: 添加 10 分钟缓存
* _apply_global_decay_to_database: 使用 CRUD 批量处理
* 存储表达方式后添加缓存失效
- expression_selector.py:
* update_expressions_count_batch: 添加缓存失效机制
性能提升:
- Expression 查询缓存命中率 >70%
- PersonInfo 操作完全使用 CRUD 抽象
- ChatStreams 查询减少 80%+ 数据库访问
- 所有更新操作正确处理缓存失效
|
2025-11-19 23:31:05 +08:00 |
|
Windpicker-owo
|
d089972fac
|
refactor: 完成数据库重构 - 批量更新导入路径
- 更新35个文件的导入路径 (共65处修改)
- sqlalchemy_models core.models (模型类)
- sqlalchemy_database_api compatibility (兼容函数)
- database.database core (初始化/关闭函数)
- 添加自动化导入更新工具 (scripts/update_database_imports.py)
- 所有兼容性层测试通过 (26/26)
- 数据库核心功能测试通过 (18/21)
|
2025-11-19 23:30:51 +08:00 |
|
minecraft1024a
|
12c2b806a2
|
ruff
|
2025-11-19 23:30:34 +08:00 |
|
Windpicker-owo
|
0148f1e533
|
refactor(expression_learner): 优化表达方式查询逻辑,减少数据库查询次数并批量处理更新操作
refactor(storage): 添加消息更新批处理器,优化消息ID更新逻辑以减少数据库连接次数
|
2025-11-19 23:30:31 +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
|
9372f6d31c
|
feat(expression): 增强表达学习与选择系统的健壮性和智能匹配
- 改进表达学习器的提示词格式规范,增强LLM输出解析的容错性
- 优化表达选择器的模型预测模式,添加情境提取和模糊匹配机制
- 增强StyleLearner的错误处理和日志记录,提高训练和预测的稳定性
- 改进流循环管理器的日志输出,避免重复信息刷屏
- 扩展SendAPI的消息查找功能,支持DatabaseMessages对象兼容
- 添加智能回退机制,当模型预测失败时自动切换到经典模式
- 优化数据库查询逻辑,支持跨聊天流的表达方式共享
BREAKING CHANGE: 表达选择器的模型预测模式现在需要情境提取器配合使用,旧版本配置可能需要更新依赖关系
|
2025-11-19 23:27:10 +08:00 |
|
Windpicker-owo
|
21167a2685
|
feat(expression): 添加表达方式选择模式支持与DatabaseMessages兼容性改进
- 新增统一的表达方式选择入口,支持classic和exp_model两种模式
- 添加StyleLearner模型预测模式,可基于机器学习模型选择表达风格
- 改进多个模块对DatabaseMessages数据模型的兼容性处理
- 优化消息处理逻辑,统一处理字典和DatabaseMessages对象
- 在配置中添加expression.mode字段控制表达选择模式
|
2025-11-19 23:27:09 +08:00 |
|
sunbiz1024
|
950b086063
|
ruff
|
2025-11-19 23:19:53 +08:00 |
|
Windpicker-owo
|
481252d660
|
refactor(chat): 异步化聊天系统并重构兴趣值计算机制
将同步调用改为异步调用以提升性能,重构兴趣值计算流程以支持更灵活的组件化架构。主要改进包括:
- 异步化ChatManager相关方法,避免阻塞主线程
- 重构兴趣值计算系统,从插件内部计算改为通过兴趣管理器统一处理
- 新增should_act字段支持更细粒度的动作决策
- 优化初始化逻辑,避免构造函数中的异步操作
- 扩展插件系统支持兴趣计算器组件注册
- 更新数据库模型以支持新的兴趣值相关字段
这些改进提升了系统的响应性能和可扩展性,同时保持了API的向后兼容性。
|
2025-11-19 23:15:31 +08:00 |
|
minecraft1024a
|
87ce36b62b
|
fix(express): 修复异步会话中错误的删除操作
在 `ExpressionLearner` 的 `decay` 方法中,`session.delete(expr)` 操作是同步的,但在异步会话(`AsyncSession`)上下文中应该使用 `await`。此更改修复了该问题,确保表达式能被正确地异步删除。
|
2025-11-19 23:15:15 +08:00 |
|
minecraft1024a
|
1ee7fd2ffd
|
refactor(express): 优化目录创建的异常处理逻辑
将 `try-except` 块移至循环外部,以减少重复的异常处理代码。这样可以更清晰地处理在创建多个目录过程中可能发生的任何错误,同时保持代码的简洁性。
|
2025-11-19 23:15:08 +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 |
|
minecraft1024a
|
f842c43ab0
|
ruff
|
2025-11-19 23:05:47 +08:00 |
|
tt-P607
|
26b9d02476
|
fix(core): 修正因异步改造遗漏的 await 调用
在最近的数据库异步化重构后,部分函数的调用处忘记添加 `await` 关键字,导致协程未被正确执行。
本次提交修复了以下模块中的问题:
- `ExpressionLearner`
- `ChatMessageBuilder`
- `EmojiAction
|
2025-11-19 23:05:22 +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 |
|
雅诺狐
|
93542cadef
|
perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
|
2025-11-19 23:05:00 +08:00 |
|
Windpicker-owo
|
3980509caa
|
refactor(prompt): 重构并统一提示词系统
- 删除旧的智能提示词系统(smart_prompt.py)和相关参数模块(prompt_parameters.py)
- 将 prompt_builder.py 重命名为 prompt.py 并精简功能
- 更新所有模块的导入路径从 `src.chat.utils.prompt_builder` 到 `src.chat.utils.prompt`
- 统一提示词构建接口,使用新的 PromptContext 替代 SmartPromptParameters
- 移除重复和冗余代码,简化系统架构
BREAKING CHANGE: 旧的 SmartPrompt 系统已被完全移除,所有相关模块需要改用新的统一 Prompt 系统
|
2025-11-19 22:58:17 +08:00 |
|
Windpicker-owo
|
51aad4f952
|
迁移:1f91967(remove:移除willing系统,移除reply2,移除能量值,移除reply_to改为message)
|
2025-11-19 22:57:24 +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 |
|
雅诺狐
|
23ee3767ef
|
初始化
|
2025-11-19 22:34:56 +08:00 |
|
UnCLAS-Prommer
|
fb63e4d696
|
typing fix
|
2025-08-12 17:03:34 +08:00 |
|
SengokuCola
|
ae254de494
|
better:重构personinfo,使用Person类和类属性
|
2025-08-12 14:33:13 +08:00 |
|
SengokuCola
|
268b428e8f
|
feat: llm统计现已记录模型反应时间
|
2025-08-11 21:51:59 +08:00 |
|
SengokuCola
|
849928a8f3
|
fix:优化表达方式提取
|
2025-08-11 20:41:25 +08:00 |
|
SengokuCola
|
bad2be2bdc
|
fix:全面移除reply_to,并且非必须
|
2025-08-11 20:25:13 +08:00 |
|
SengokuCola
|
eeab546848
|
remove:移除grammar
|
2025-08-11 19:41:48 +08:00 |
|
SengokuCola
|
1f91967d2d
|
remove:移除willing系统,移除reply2,移除能量值,移除reply_to改为message
|
2025-08-11 13:18:17 +08:00 |
|
SengokuCola
|
5220c269b6
|
fix:修复表达学习出错
|
2025-08-09 00:19:02 +08:00 |
|
SengokuCola
|
8053067af5
|
feat:优化关键词显示,优化表达方式配置和逻辑
|
2025-08-09 00:10:41 +08:00 |
|
UnCLAS-Prommer
|
6c0edd0ad7
|
调整对应的调用
|
2025-07-30 17:07:55 +08:00 |
|
SengokuCola
|
3ab9b8def5
|
Update expression_learner.py
|
2025-07-26 23:18:21 +08:00 |
|
SengokuCola
|
0367dae824
|
fix:并行动作炸裂问题
|
2025-07-26 23:14:47 +08:00 |
|
SengokuCola
|
16e238a1c8
|
fix:修复一处关系构建错误,修复一处表达方式错误
|
2025-07-26 09:28:14 +08:00 |
|
SengokuCola
|
16b125b815
|
Update expression_learner.py
|
2025-07-24 22:16:21 +08:00 |
|
SengokuCola
|
b4a92ee5d5
|
feat:为表达添加创建时间
|
2025-07-24 00:36:53 +08:00 |
|
UnCLAS-Prommer
|
1aa2734d62
|
typing fix
|
2025-07-17 00:10:41 +08:00 |
|
SengokuCola
|
399c8b1186
|
f r
|
2025-07-16 18:13:17 +08:00 |
|
SengokuCola
|
5c97bcf083
|
feat:更好的配置文件更新,表达方式迁移到数据库
|
2025-07-16 18:13:02 +08:00 |
|
UnCLAS-Prommer
|
d2ad6ea1d8
|
fix typo
|
2025-07-12 10:18:16 +08:00 |
|