LuiKlee
|
8f77465bc3
|
ruff
|
2025-12-13 16:39:25 +08:00 |
|
Windpicker-owo
|
ef0c569348
|
fix(query_builder): 优化分页查询逻辑,确保字段可用后再释放数据库连接
|
2025-12-11 21:50:28 +08:00 |
|
雅诺狐
|
c870af768d
|
fix(redis):更新Redis连接池初始化,以兼容redis-py 7.x版本
更新Redis连接池创建方式,使用connection_class参数替代已弃用的ssl参数,以适配redis-py 7.x及以上版本
|
2025-12-10 15:06:01 +08:00 |
|
Windpicker-owo
|
487e49c1c1
|
refactor(engine): 移除SQLite和PostgreSQL配置中的查询缓存禁用设置以优化性能
|
2025-12-09 22:03:52 +08:00 |
|
Windpicker-owo
|
ceee6f38d5
|
feat(statistic): 延迟统计任务启动时间和运行间隔以优化性能
fix(engine): 禁用 SQLAlchemy 查询编译缓存以防止 tuple 膨胀
fix(message_repository): 优化日志输出格式以提高可读性
|
2025-12-09 21:44:56 +08:00 |
|
Windpicker-owo
|
fa9b0b3d7e
|
feat(database): 优化消息查询和计数逻辑,增加安全限制以防内存暴涨
|
2025-12-09 17:35:23 +08:00 |
|
雅诺狐
|
a6aad8b8ea
|
Revert "fix(redis): 添加Redis缓存模块导入异常处理"
This reverts commit f76cf36bae.
|
2025-12-09 13:52:42 +08:00 |
|
Windpicker-owo
|
f76cf36bae
|
fix(redis): 添加Redis缓存模块导入异常处理
|
2025-12-08 20:54:23 +08:00 |
|
Windpicker-owo
|
094861e6b7
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-12-08 18:11:33 +08:00 |
|
Windpicker-owo
|
b5e7f6313f
|
fix(sqlite): 调整busy_timeout设置为10秒以减少锁定错误
|
2025-12-08 18:11:23 +08:00 |
|
Windpicker-owo
|
7c2843de64
|
feat(postgresql): 增强PostgreSQL会话级性能优化配置
|
2025-12-08 18:08:37 +08:00 |
|
雅诺狐
|
87bd071ced
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-12-08 17:44:00 +08:00 |
|
雅诺狐
|
da27c865d0
|
引入Redis
|
2025-12-08 17:42:57 +08:00 |
|
Windpicker-owo
|
01bcfb491a
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-12-08 17:19:33 +08:00 |
|
Windpicker-owo
|
a1d60ab026
|
启用数据库预加载器,清理日志
|
2025-12-08 17:17:53 +08:00 |
|
雅诺狐
|
3edcc9d169
|
ruff
|
2025-12-08 15:48:40 +08:00 |
|
Windpicker-owo
|
fbc37bbcaf
|
refactor(logging): 简化日志记录,移除冗余调试信息
delete(connection_pool): 移除连接池管理器相关代码
|
2025-12-07 15:19:12 +08:00 |
|
Windpicker-owo
|
06a45b3639
|
refactor: 移除对 MySQL 的支持,更新文档和配置以仅支持 SQLite 和 PostgreSQL
|
2025-12-04 23:30:43 +08:00 |
|
tt-P607
|
2671a6e7e5
|
feat(profile):对用户关系和分析系统进行重构,采用结构化数据和异步更新
此提交完全重写了用户关系和分析系统,创建了一个更强大、详细和响应式的框架。旧系统已被弃用,取而代之的是一个集中式的`UserRelationships`模型。
主要变更:
1. ‌**增强数据库模型(`UserRelationships`):**‌
- 添加`impression_text`用于长期、叙述式印象。
- 引入`key_facts`(JSON)存储结构化数据如生日、工作和位置。
- 添加`relationship_stage`跟踪关系进展(如陌生人、朋友、挚友)。
- 添加`first_met_time`和`last_impression_update`的时间戳。
2. ‌**重设计`UserProfileTool`:**‌
- 工具的用途被限定为仅捕捉重要新信息,防止用于小聊。
- 更新现在在后台异步处理,确保机器人回复不被延迟。
- 引入`key_info_type`和`key_info_value`参数供LLM提交结构化事实。
3. ‌**复杂的印象和情感逻辑:**‌
- 关系追踪LLM现在分析最近聊天历史生成更丰富、更上下文的印象。
- 用渐进的`affection_change`(最大±0.03)取代直接情感分数设置,使关系发展更真实。
4. ‌**数据源整合:**‌
- `RelationshipFetcher`重构为仅依赖`UserRelationships`表作为唯一数据源。
- 简化`get_user_relationship` API并移除其缓存,确保分析的实时数据访问。
破坏性变更:`UserProfileTool`已重设计,新增参数(`key_info_type`、`key_info_value`)并改变用途。移除`affection_score`参数。此外,`get_user_relationship`数据库API签名简化为仅接受`user_id`。
|
2025-12-03 16:53:40 +08:00 |
|
Windpicker-owo
|
bcdd987e4c
|
feat(statistic): 优化内存使用,添加分批查询和统计处理上限
feat(typo_generator): 实现单例模式以复用拼音字典和字频数据
feat(query): 添加分批迭代获取结果的功能,优化内存使用
|
2025-12-02 12:45:10 +08:00 |
|
拾风
|
28c54dbec6
|
Merge branch 'dev' into feature/kfc
|
2025-12-01 16:06:47 +08:00 |
|
Windpicker-owo
|
fc85338d0b
|
feat: 更新消息管理和数据库操作日志,增强调试信息
|
2025-11-30 15:13:01 +08:00 |
|
ikun-11451
|
acafc074b1
|
依旧修pyright喵喵喵~
|
2025-11-29 22:20:55 +08:00 |
|
ikun-11451
|
72e7492953
|
依旧修pyright喵~
|
2025-11-29 21:26:42 +08:00 |
|
Windpicker-owo
|
2bd7e93af7
|
fix: 更新数据库会话管理,确保事务在正常退出时自动提交,并在异常时安全回滚
|
2025-11-28 13:24:41 +08:00 |
|
Windpicker-owo
|
3538716515
|
fix: 更新版本号至 0.13.0,增强数据库迁移功能,注册通知事件处理
|
2025-11-27 22:37:50 +08:00 |
|
Windpicker-owo
|
43483b934e
|
feat: 更新机器人配置并添加数据库迁移脚本
- 将bot_config_template.toml中的版本升级至7.9.0
- 增强数据库配置选项以支持PostgreSQL
- 引入一个新脚本,用于在SQLite、MySQL和PostgreSQL之间迁移数据
- 实现一个方言适配器,用于处理特定于数据库的行为和配置
|
2025-11-27 18:45:01 +08:00 |
|
Windpicker-owo
|
0908fb50a0
|
优化日志
|
2025-11-26 21:16:16 +08:00 |
|
Windpicker-owo
|
6ecf5a36f2
|
增强聊天管理器和数据库API,添加自动注册和异步清理功能,优化模型转换为字典的逻辑
|
2025-11-20 16:48:18 +08:00 |
|
Windpicker-owo
|
03c80a08fb
|
优化缓存条目大小估算,添加向量存储标记,清理待处理消息逻辑
|
2025-11-20 12:17:43 +08:00 |
|
拾风
|
0cb51674b0
|
Potential fix for code scanning alert no. 26: 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-11-13 21:04:02 +08:00 |
|
拾风
|
589256aff5
|
Potential fix for code scanning alert no. 15: 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-11-13 20:54:42 +08:00 |
|
minecraft1024a
|
e1622ca6be
|
refactor(config): 移除废弃的数据库配置模块
旧的数据库配置模块 `src/common/database/config` 已被完全移除。该模块已被标记为废弃,其功能已统一整合到 `global_config` 中。
本次重构旨在:
- 简化代码库,消除冗余和过时的文件。
- 统一配置管理,提高可维护性。
此外,对 `AttentionOptimizer` 中的类变量添加了 `ClassVar` 类型注解,以增强代码的清晰度和类型安全性。
|
2025-11-13 12:51:42 +08:00 |
|
minecraft1024a
|
0e1e9935b2
|
style: 统一代码风格并采用现代化类型注解
对整个代码库进行了一次全面的代码风格清理和现代化改造,主要包括:
- 移除了所有文件中多余的行尾空格。
- 将类型提示更新为 PEP 585 和 PEP 604 引入的现代语法(例如,使用 `list` 代替 `List`,使用 `|` 代替 `Optional`)。
- 清理了多个模块中未被使用的导入语句。
- 移除了不含插值变量的冗余 f-string。
- 调整了部分 `__init__.py` 文件中的 `__all__` 导出顺序,以保持一致性。
这些改动旨在提升代码的可读性和可维护性,使其与现代 Python 最佳实践保持一致,但未修改任何核心逻辑。
|
2025-11-12 12:49:40 +08:00 |
|
Windpicker-owo
|
d007b98f5c
|
fix(cache-manager): 修复类型注解,使用Optional以提高代码可读性和一致性
|
2025-11-08 22:34:25 +08:00 |
|
Windpicker-owo
|
04c6c204e8
|
fix(cache-manager): 修复并行获取缓存统计信息和内存使用,避免死锁和重复计数
fix(scheduler): 改进调度任务的多阶段取消机制,彻底避免死锁风险
|
2025-11-08 22:17:12 +08:00 |
|
Windpicker-owo
|
98bfa05b96
|
feat(scheduler): 新增死锁检测器,改进任务取消机制,优化异步通知
|
2025-11-08 18:20:00 +08:00 |
|
Windpicker-owo
|
96dbb8fc55
|
fix(config): 增加缓存生存时间和最大内存占用限制
|
2025-11-08 11:03:01 +08:00 |
|
明天好像没什么
|
c8d7c09625
|
ruff
|
2025-11-07 21:01:45 +08:00 |
|
Windpicker-owo
|
eeb77e0e3c
|
feat(emoji): 使用QueryBuilder优化数据库查询并启用缓存
|
2025-11-03 15:36:30 +08:00 |
|
Windpicker-owo
|
4e2b598164
|
feat(cache): 提升内存管理与监控能力
- 在CacheManager中添加健康监控系统,并提供详细的内存统计信息
- 使用新的memory_utils模块实现精确的内存估算
- 添加基于大小的缓存条目限制,以防止过大项目
- 通过去重内存计算优化缓存统计
- 在MultiLevelCache中添加过期条目的自动清理功能
- 增强批处理调度器缓存功能,支持LRU驱逐策略和内存追踪
- 更新配置以支持最大项目大小限制
- 添加全面的内存分析文档和工具
重大变更:CacheManager 的默认 TTL 参数现改为 None 而非 3600。数据库兼容层默认禁用缓存,以防止旧版代码过度使用缓存。
|
2025-11-03 15:18:00 +08:00 |
|
Windpicker-owo
|
99785d09ad
|
feat(cache): 添加自定义TTL支持和内存限制配置
|
2025-11-02 13:25:39 +08:00 |
|
明天好像没什么
|
30658afdb4
|
ruff归零
|
2025-11-01 21:32:41 +08:00 |
|
明天好像没什么
|
cb97b2d8d3
|
rufffffff
|
2025-11-01 21:10:01 +08:00 |
|
Windpicker-owo
|
2aeb06f708
|
fix: 修复批处理中的多次commit问题,bulk_create后清除缓存
|
2025-11-01 17:31:31 +08:00 |
|
Windpicker-owo
|
029d133e48
|
fix(critical): 在session内部完成字典转换,彻底解决detached对象greenlet错误
|
2025-11-01 17:27:40 +08:00 |
|
Windpicker-owo
|
a352c69043
|
fix(critical): 修复SQLite事务未提交的严重bug - 在connection_pool.get_session()中添加自动commit
|
2025-11-01 17:19:05 +08:00 |
|
Windpicker-owo
|
a43ed42fb2
|
perf: 使用列表推导式替换循环 - 优化group_by性能
|
2025-11-01 17:07:11 +08:00 |
|
Windpicker-owo
|
cabaf74194
|
style: ruff自动格式化修复 - 修复180个空白行和格式问题
|
2025-11-01 17:06:40 +08:00 |
|
Windpicker-owo
|
d187174353
|
feat: 实现方案A - 缓存字典而非SQLAlchemy对象
核心改进:
- 添加 _model_to_dict() 和 _dict_to_model() 辅助函数
- CRUD.get/get_by/get_multi 现在缓存字典而非对象
- QueryBuilder.first/all 现在缓存字典而非对象
- 从缓存恢复时重建detached对象,所有字段已加载
优势:
- 彻底避免'not bound to Session'错误
- 缓存数据独立于Session生命周期
- 对象反序列化后所有字段可直接访问
- 提高缓存可靠性和数据可用性
技术细节:
- 缓存层存储纯字典数据(可序列化)
- 查询时在session内预加载所有列
- 返回前转换为字典并缓存
- 缓存命中时从字典重建对象
- 重建的对象虽然detached但所有字段已填充
|
2025-11-01 16:50:50 +08:00 |
|