Windpicker-owo
|
c549cd09c6
|
refactor: 迁移PersonInfo和关系查询到优化后的API
PersonInfo查询优化 (person_info.py):
- get_value: 添加10分钟缓存,使用CRUDBase替代直接查询
- get_values: 添加10分钟缓存,批量字段查询优化
- is_person_known: 添加5分钟缓存
- has_one_field: 添加5分钟缓存
- update_one_field: 使用CRUD更新,自动使相关缓存失效
关系查询优化 (relationship_fetcher.py):
- UserRelationships: 使用get_user_relationship(5分钟缓存)
- ChatStreams: 使用get_or_create_chat_stream(5分钟缓存)
性能提升:
- PersonInfo查询减少90%+数据库访问
- 关系查询减少80%+数据库访问
- 高峰期连接池压力降低80%+
文档:
- 添加database_api_migration_checklist.md迁移清单
|
2025-11-19 23:31:03 +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 |
|
明天好像没什么
|
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
|
3f765a791a
|
fix(relationship): 修复关系信息提取中的类型检查和数据库查询问题
- 添加对 points 和 forgotten_points 的类型检查,确保始终为列表类型
- 修复数据库查询中缺失的 await 调用
- 统一数据库查询结果的字典访问方式,替代之前的对象属性访问
- 改进错误日志记录,添加完整的异常堆栈信息
- 优化默认关系信息的返回逻辑,仅在完全无数据时返回初次交流提示
fix(plugins): 修复插件工具类初始化参数传递问题
- 在 ChatStreamImpressionTool 和 UserProfileTool 中添加 chat_stream 参数传递
- 确保插件工具类正确调用父类初始化方法
|
2025-11-19 23:27:11 +08:00 |
|
Windpicker-owo
|
60b3a2ba4f
|
feat(relationship): 重构关系信息提取系统并集成聊天流印象
- 在 RelationshipFetcher 中添加 build_chat_stream_impression 方法,支持聊天流印象信息构建
- 扩展数据库模型,为 ChatStreams 表添加聊天流印象相关字段(stream_impression_text、stream_chat_style、stream_topic_keywords、stream_interest_score)
- 为 UserRelationships 表添加用户别名和偏好关键词字段(user_aliases、preference_keywords)
- 在 DefaultReplyer、Prompt 和 S4U PromptBuilder 中集成用户关系信息和聊天流印象的组合输出
- 重构工具系统,为 BaseTool 添加 chat_stream 参数支持上下文感知
- 移除旧的 ChatterRelationshipTracker 及相关关系追踪逻辑,统一使用评分API
- 在 AffinityChatterPlugin 中添加 UserProfileTool 和 ChatStreamImpressionTool 支持
- 优化计划执行器,移除关系追踪相关代码并改进错误处理
BREAKING CHANGE: 移除了 ChatterRelationshipTracker 类及相关的关系追踪功能,现在统一使用 scoring_api 进行关系管理。BaseTool 构造函数现在需要 chat_stream 参数。
|
2025-11-19 23:27:11 +08:00 |
|
sunbiz1024
|
950b086063
|
ruff
|
2025-11-19 23:19:53 +08:00 |
|
minecraft1024a
|
2a89efe47a
|
ruff fix但指定了--unsafe-fixes
|
2025-11-19 23:19:42 +08:00 |
|
minecraft1024a
|
cd84373828
|
style: 统一代码风格并进行现代化改进
对整个代码库进行了一次全面的风格统一和现代化改进。主要变更包括:
- 将 `hasattr` 等内置函数中的字符串参数从单引号 `'` 统一为双引号 `"`。
- 采用现代类型注解,例如将 `Optional[T]` 替换为 `T | None`,`List[T]` 替换为 `list[T]` 等。
- 移除不再需要的 Python 2 兼容性声明 `# -*- coding: utf-8 -*-`。
- 清理了多余的空行、注释和未使用的导入。
- 统一了文件末尾的换行符。
- 优化了部分日志输出和字符串格式化 (`f"{e!s}"`)。
这些改动旨在提升代码的可读性、一致性和可维护性,使其更符合现代 Python 编码规范。
|
2025-11-19 23:18:16 +08:00 |
|
Windpicker-owo
|
481252d660
|
refactor(chat): 异步化聊天系统并重构兴趣值计算机制
将同步调用改为异步调用以提升性能,重构兴趣值计算流程以支持更灵活的组件化架构。主要改进包括:
- 异步化ChatManager相关方法,避免阻塞主线程
- 重构兴趣值计算系统,从插件内部计算改为通过兴趣管理器统一处理
- 新增should_act字段支持更细粒度的动作决策
- 优化初始化逻辑,避免构造函数中的异步操作
- 扩展插件系统支持兴趣计算器组件注册
- 更新数据库模型以支持新的兴趣值相关字段
这些改进提升了系统的响应性能和可扩展性,同时保持了API的向后兼容性。
|
2025-11-19 23:15:31 +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
|
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
|
df3c616d09
|
ruff,私聊视为提及了bot
|
2025-11-19 23:07:30 +08:00 |
|
Windpicker-owo
|
9d014de89c
|
feat(person-info): 增强人物关系信息构建功能
重构关系信息构建逻辑,从数据库查询更多维度数据生成详细关系描述:
- 增加认识时间、交流频率、态度评分等基本信息
- 整合UserRelationships表的额外关系数据
- 添加态度和关系分数的描述性文字转换方法
- 优化特征点选择策略,按权重和时效性综合排序
- 提供更结构化的关系信息输出格式
|
2025-11-19 23:07:13 +08:00 |
|
tt-P607
|
1c760798b0
|
总算能回复了😭😭😭
|
2025-11-19 23:05:06 +08:00 |
|
tt-P607
|
aba4f1a947
|
三次修改
|
2025-11-19 23:02:01 +08:00 |
|
SengokuCola
|
ae254de494
|
better:重构personinfo,使用Person类和类属性
|
2025-08-12 14:33:13 +08:00 |
|
SengokuCola
|
08ad5dc989
|
fix:修复s4u 关系炸飞问题
|
2025-08-12 10:59:06 +08:00 |
|
SengokuCola
|
996ac18680
|
FIX:类型问题
|
2025-08-12 01:45:17 +08:00 |
|
SengokuCola
|
0f6ed0fe02
|
ref:重构关系系统第一步,拆除impression,采用不同属性交叉评分呢
|
2025-08-12 01:38:19 +08:00 |
|
UnCLAS-Prommer
|
6c0edd0ad7
|
调整对应的调用
|
2025-07-30 17:07:55 +08:00 |
|
SengokuCola
|
b839f8ba6c
|
better:优化prompt和配置和无用代码
|
2025-07-24 02:37:11 +08:00 |
|
SengokuCola
|
e0a6474416
|
better:优化关系构建
|
2025-07-16 11:29:11 +08:00 |
|
UnCLAS-Prommer
|
7ef0bfb7c8
|
完成所有类型注解的修复
|
2025-07-13 00:19:54 +08:00 |
|
github-actions[bot]
|
3768fb22ad
|
🤖 自动格式化代码 [skip ci]
|
2025-07-10 17:32:15 +00:00 |
|
SengokuCola
|
6bfc8b2d8c
|
fix:优化关系构建的prompt
|
2025-07-11 01:24:07 +08:00 |
|
SengokuCola
|
61c55d8b3b
|
Merge branch 'dev' of https://github.com/MaiM-with-u/MaiBot into dev
|
2025-07-06 23:34:42 +08:00 |
|
SengokuCola
|
0181c26a54
|
fix:修复模型配置应用错误,修复no_action执行错误
|
2025-07-06 23:34:32 +08:00 |
|
github-actions[bot]
|
1643b2f0e8
|
🤖 自动格式化代码 [skip ci]
|
2025-07-06 15:18:29 +00:00 |
|
SengokuCola
|
0e982ebcab
|
better:优化关系prompt,回退utils的修改
|
2025-07-06 23:18:12 +08:00 |
|
github-actions[bot]
|
6e15fec8b4
|
🤖 自动格式化代码 [skip ci]
|
2025-07-06 10:36:29 +00:00 |
|
SengokuCola
|
498d72384f
|
feat:统一normal和focus的动作调整,emoji统一可选随机激活或llm激活
|
2025-07-06 18:36:14 +08:00 |
|
SengokuCola
|
b3a93d16e6
|
fix - 优化normal_chat代码,采用和focus一致的关系构建,优化log,添加超时检查,允许normal使用llm激活
|
2025-07-06 17:02:36 +08:00 |
|
SengokuCola
|
ce87eb187f
|
feat:修改统计,分离emoji动作
|
2025-07-01 19:07:12 +08:00 |
|
github-actions[bot]
|
7efe17a9c8
|
🤖 自动格式化代码 [skip ci]
|
2025-07-01 06:47:24 +00:00 |
|
SengokuCola
|
cae015fcfa
|
移除关系处理器,转为在replyer中提取
|
2025-07-01 14:46:09 +08:00 |
|