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
4f277c1eed
fix(chat): 防止回复媒体内容处理失败的消息
...
机器人此前会将 "[图片(描述生成失败)]" 等系统提示误解为用户消息并进行回复,导致异常的对话行为。
本次修复通过两个层面解决此问题:
1. 在 `ChatBot` 中添加硬编码过滤器,作为第一道防线,直接静默处理包含失败关键词的消息。
2. 更新 Planner Prompt,明确禁止 AI 回复此类消息,作为第二道保险,确保系统行为的健壮性。
2025-11-19 23:24:13 +08:00
tt-P607
c5bd89d6f5
feat(chat): 在群组静默列表中忽略图片和表情包
...
原有的群组静默功能只对非@的文本消息生效,导致在静默群组中发送的图片和表情包依然会被消息管理器处理。
本次更新将静默逻辑扩展,现在也会忽略图片和表情包类型的消息,从而更彻底地实现群组消息的静默,减少不必要的资源消耗。
2025-11-19 23:24:12 +08:00
tt-P607
a892642b7d
fix(chat): 修复消息处理中的潜在空指针和类型错误
...
为多个关键步骤增加了健壮性检查,以防止在处理消息时因意外的空值或类型不匹配而导致程序崩溃。
主要修复包括:
- 在记录消息日志前,检查 `user_info` 是否存在。
- 在判断事件是否中断前,检查事件处理结果 `result` 是否为 None。
- 在获取消息时间戳前,使用 `hasattr` 确认 `time` 属性的存在。
- 在检查群组静默状态时,将 `group_id` 转换为字符串以匹配配置列表。
2025-11-19 23:24:11 +08:00
tt-P607
5786b84ad4
feat(chat): 新增群组静默列表以忽略非@消息
...
引入了 `mute_group_list` 配置项。对于被添加到此列表的群组,机器人将只在被明确@或回复时才处理消息,从而避免在活跃群组中造成不必要的打扰。
- 在 `MessageReceiveConfig` 中添加 `mute_group_list` 选项。
- 在消息接收逻辑中实现检查,如果消息来自静默群组且不是@或回复,则跳过消息管理器处理。
- 调整了 `is_mentioned` 的计算时机,移至消息内容处理之后,以确保静默判断的准确性。
- 附带修复了处理适配器响应时因数据非字典类型导致的潜在错误。
2025-11-19 23:24:08 +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
Eric-Terminal
c5b4c93833
修复(聊天): 为 message_process 增加 message_info 防御性检查
...
message_process 方法在收到没有 'message_info' 字段的 payload(例如来自 Napcat 的握手/心跳控制消息)时,会因 KeyError 而失败。
此更改增加了防御性检查,在处理前验证 'message_info' 的存在和类型。如果缺失,则记录并跳过该 payload,防止主处理循环崩溃。
2025-11-19 23:23:57 +08:00
Windpicker-owo
1eda54cb8f
feat(notice): 实现全局notice消息管理系统
...
添加全局notice管理器,将notice消息与普通消息分离处理。主要功能包括:
- 创建 GlobalNoticeManager 单例类,支持公共和特定聊天流作用域
- 在 message_manager 中集成notice检测和处理逻辑
- 扩展数据库模型和消息类,添加notice相关字段
- 在提示词生成器中添加notice信息块展示
- 配置系统支持notice相关参数设置
- 适配器插件增强notice类型识别和配置
notice消息特点:
- 默认不触发聊天流程,只记录到全局管理器
- 可在提示词中展示最近的系统通知
- 支持按类型设置不同的生存时间
- 支持公共notice(所有聊天可见)和流特定notice
BREAKING CHANGE: 数据库消息表结构变更,需要添加 is_public_notice 和 notice_type 字段
2025-11-19 23:23:55 +08:00
minecraft1024a
b5549ff81f
fix(chat): 修复睡眠和情绪系统中的空值和逻辑问题
...
修复了两个问题:
1. 在睡眠状态下,如果没有设置起床时间,且当天也无法从日程中获取新的起床时间,程序会错误地继续执行后续的唤醒判断逻辑,而不是直接返回并继续睡眠。
2. 在更新情绪状态时,如果消息的`interest_value`为`None`,会导致类型错误。已增加空值检查,将其默认处理为 0.0。
2025-11-19 23:22:41 +08:00
tt-P607
8abe742349
refactor(chat): 优化聊天日志与分段回复提示词
...
本次提交主要包含两项优化:
1. **聊天日志增强**: 在接收消息的日志中增加了聊天来源(群聊名称或“私聊”),方便在后台快速定位消息上下文。
2. **分段回复优化**: 简化并明确了分段回复的 LLM 提示词,引导模型生成更自然、简短的回复分段,以改善对话的节奏感。
2025-11-19 23:21:04 +08:00
雅诺狐
701466cdef
Potential fix for code scanning alert no. 5: 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-19 23:20:42 +08:00
Windpicker-owo
d52ebe20c4
feat(mood): 集成情绪系统到消息处理流程并改进初始化逻辑
...
在消息处理完成后自动触发情绪状态更新,增强了聊天体验的动态性。
同时改进了情绪系统的异步初始化过程,增加了错误处理和日志记录,
确保系统在各种异常情况下都能稳定运行。
2025-11-19 23:20:26 +08:00
Windpicker-owo
f002228abb
refactor(scoring): 重构评分系统使用统一API替代插件内部实现
...
将原有的兴趣度评分系统重构为使用统一的评分API,移除了插件内部实现并更新了所有相关引用。主要变更包括:
- 替换 chatter_interest_scoring_system 为 scoring_api
- 移除 interest_scoring.py 文件,统一使用 src/plugin_system/apis/scoring_api
- 更新关系追踪器以使用统一API,保持向后兼容性
- 简化了多个模块中的关系分获取逻辑
2025-11-19 23:20:23 +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
f8e62d0253
ruff: 清理代码并规范导入顺序
...
对整个代码库进行了大规模的清理和重构,主要包括:
- 统一并修复了多个文件中的 `import` 语句顺序,使其符合 PEP 8 规范。
- 移除了大量未使用的导入和变量,减少了代码冗余。
- 修复了多处代码风格问题,例如多余的空行、不一致的引号使用等。
- 简化了异常处理逻辑,移除了不必要的 `noqa` 注释。
- 在多个文件中使用了更现代的类型注解语法(例如 `list[str]` 替代 `List[str]`)。
2025-11-19 23:19:07 +08:00
雅诺狐
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
Windpicker-owo
dccf1cffc9
feat(chat): 实现批量动作存储并优化消息处理流程
...
新增批量动作记录存储功能,提升数据库写入性能。重构消息预处理逻辑,改进兴趣度计算和同步机制,优化用户信息和群组信息处理。添加配置选项控制批量存储开关,更新相关模板配置。
2025-11-19 23:18:27 +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
Windpicker-owo
a5a16971e9
refactor(memory): 移除废弃的记忆系统备份文件,优化消息管理器架构
...
移除了deprecated_backup目录下的所有废弃记忆系统文件,包括增强记忆适配器、钩子、集成层、重排序器、元数据索引、多阶段检索和向量存储等模块。同时优化了消息管理器,集成了批量数据库写入器、流缓存管理器和自适应流管理器,提升了系统性能和可维护性。
2025-11-19 23:14:42 +08:00
Windpicker-owo
f8aa149c39
refactor(chat): 优化流循环管理和数据库性能
...
移除StreamLoopManager中的锁机制,简化并发流处理逻辑
- 删除loop_lock,减少锁竞争和超时问题
- 优化流启动、停止和清理流程
- 增强错误处理和日志记录
增强数据库操作性能
- 集成数据库批量调度器和连接池管理器
- 优化ChatStream保存机制,支持批量更新
- 改进数据库会话管理,提高并发性能
清理和优化代码结构
- 移除affinity_chatter中的重复方法
- 改进prompt表达习惯格式化
- 完善系统启动和清理流程
2025-11-19 23:14:16 +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
3fcf8e9add
feat(memory): 重构记忆系统并移除插件热重载
...
重构记忆系统核心模块,引入全局记忆作用域、记忆指纹去重机制和查询规划器,优化多阶段检索性能。移除插件热重载系统及其相关依赖。
主要变更:
- 引入全局记忆作用域,简化记忆管理
- 实现记忆指纹去重,避免重复记忆存储
- 新增查询规划器,支持语义查询规划和记忆类型过滤
- 优化多阶段检索,增加语义重排和权重配置
- 改进向量存储,支持嵌入维度自动解析和查询向量生成
- 增强元数据索引,支持主体索引和更新操作
- 记忆构建器支持多主体和自然语言展示
- 移除watchdog依赖和插件热重载模块
- 更新配置模板,简化记忆配置项
BREAKING CHANGE: 移除插件热重载系统,相关API和命令不再可用。记忆系统接口有较大调整,使用该系统的模块需要适配新接口。
2025-11-19 23:11:14 +08:00
Windpicker-owo
0a3c908654
feat(memory): 增强记忆构建上下文处理能力并优化兴趣度批量更新机制
...
- 在记忆构建过程中允许检索历史记忆作为上下文补充
- 改进LLM响应解析逻辑,增强JSON提取兼容性
- 优化消息兴趣度计算和批量更新机制,减少数据库写入频率
- 添加构建状态管理,支持在BUILDING状态下进行记忆检索
- 修复stream_id拼写错误处理和历史消息获取逻辑
2025-11-19 23:11:10 +08:00
Windpicker-owo
ae0c2704d1
refactor(chat): 移除 ChatStream 的历史消息自动加载功能
...
移除 ChatStream 初始化时的 `_load_history_messages()` 调用,改为按需异步加载历史消息。这解决了启动时阻塞事件循环的问题,并提高了聊天流初始化的性能。
主要变更:
- 删除 `ChatStream._load_history_messages()` 方法及相关代码
- 将多个模块中的同步数据库查询函数改为异步版本
- 修复相关调用处的异步调用方式
- 优化图片描述查询的错误处理
BREAKING CHANGE: `get_raw_msg_before_timestamp_with_chat` 和相关消息查询函数现在改为异步操作,需要调用处使用 await
2025-11-19 23:09:40 +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
7508d542f2
refactor(interest-system): 移除旧兴趣度管理系统,迁移到插件内部实现
...
移除旧的集中式兴趣度管理系统(interest_manager.py),将兴趣度计算功能迁移到affinity_flow_chatter插件内部实现。主要包括:
- 删除interest_manager.py及其相关导入引用
- 修改RelationshipEnergyCalculator使用插件内部的关系分计算
- 重构StreamContextManager使用插件内部的兴趣度评分系统
- 更新ChatStream、PlanFilter、Planner等组件使用新的插件接口
- 简化上下文管理器,移除事件系统和验证器相关代码
此次重构提高了模块独立性,减少了核心代码对插件功能的直接依赖,符合"高内聚低耦合"的设计原则。
2025-11-19 23:09:28 +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
5962b44294
refactor(chat): 优化消息管理与打断系统,添加打断计数与历史消息加载功能
2025-11-19 23:09:23 +08:00
Windpicker-owo
ca8a47f246
refactor(chat): 重构消息兴趣度计算与动作记录机制
...
重构聊天系统以使用集中式消息管理API,移除ChatMessageContext类,将兴趣度计算和动作记录功能整合到StreamContext中。
主要变更:
- 移除ChatMessageContext类,使用StreamContext统一管理消息上下文
- 在DatabaseMessages模型中添加interest_degree、actions、should_reply字段
- 实现消息管理器API用于更新消息信息和刷新focus_energy
- 重构ChatStream的focus_energy计算逻辑,基于StreamContext历史消息
- 在动作管理器中添加动作记录功能,确保动作执行后更新消息状态
BREAKING CHANGE: ChatMessageContext类已被移除,相关功能需使用StreamContext API替代
2025-11-19 23:09:19 +08:00
tt-P607
9c6fbce81b
refactor(chat): 移除会话数据中的 relationship_score
2025-11-19 23:09:17 +08:00
tt-P607
3fa26debb9
feat(chat): 实现 focus_energy 的实时更新与同步机制
...
为了解决 `focus_energy` 更新不及时,导致其无法准确反映当前对话兴趣度的问题,本次提交引入了一套新的实时更新与同步机制。
这确保了每当消息的兴趣度发生变化时,代表机器人注意力的 `focus_energy` 也能被立即重新计算和更新,使决策更加精准。
主要变更:
1. **手动更新**: 在 `ChatStream` 中新增 `update_focus_energy` 方法,允许外部逻辑在需要时手动触发 `focus_energy` 的重新计算。
2. **实时计算**: `ChatterActionPlanner` 在评估并更新消息兴趣度后,会立即调用 `update_focus_energy`,确保了兴趣度到注意力的即时传导。
3. **状态同步**: `ChatterManager` 在完成一次执行后,会主动将 `mood_manager` 中可能已更新的 `chat_stream` 同步回当前的 `StreamContext`,保证了整个处理流中数据的一致性。
2025-11-19 23:09:16 +08:00
Windpicker-owo
a67b78b551
feat(chat): 实现动态消息分发系统和消息打断机制
...
添加基于focus_energy的动态消息分发周期调整功能,根据聊天流兴趣度智能调整检查间隔
实现消息打断系统,允许高优先级消息打断正在处理的任务
重构ChatStream类,引入动态兴趣度计算系统,包括消息兴趣度统计和用户关系评分
扩展数据库模型和配置系统以支持新功能,增加相关配置项
更新版本号至0.11.0-alpha-1以反映重大功能更新
2025-11-19 23:09:12 +08:00
tt-P607
42645972e4
feat(core): 实现消息异步处理并引入LLM驱动的智能表情回应
...
本次更新对系统核心处理流程和插件功能进行了重要升级,主要包含以下两方面:
1. **消息处理异步化**:
- 在 `main.py` 中引入了 `asyncio.create_task` 机制,将每条消息的处理过程包装成一个独立的后台任务。
- 这解决了长时间运行的AI或插件操作可能阻塞主事件循环的问题,显著提升了机器人的响应速度和系统稳定性。
- 为后台任务添加了完成回调,现在可以详细地记录每个消息处理任务的成功、失败或取消状态及其耗时,便于监控和调试。
2. **`set_emoji_like` 插件智能化**:
- 为 `set_emoji_like` 插件增加了LLM驱动的表情选择功能。当动作指令未指定具体表情时,插件会自动构建包含聊天上下文、情绪和人设的提示,请求LLM选择一个最合适的表情进行回应。
- 为支持此功能,对AFC规划器的提示词进行了优化,为LLM提供了更清晰的参数示例和规则,提高了动作生成的准确性。
此外,为了统一日志规范,将 `[所见]` 消息接收日志集中到 `bot.py` 中,确保在任何过滤逻辑执行前记录所有收到的消息,并移除了插件中重复的日志。
2025-11-19 23:08:52 +08:00
minecraft1024a
c1ba228862
refactor(chat): 更新判断群聊消息的属性以适配新结构
2025-11-19 23:08:41 +08:00
minecraft1024a
b98417dec6
先修一下命令无法正常检查聊天类型限制
2025-11-19 23:08:34 +08:00
Windpicker-owo
087ecfb420
fix(chat): 修复display_message缺失时的显示问题
2025-11-19 23:08:02 +08:00
Windpicker-owo
df3c616d09
ruff,私聊视为提及了bot
2025-11-19 23:07:30 +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
Windpicker-owo
2739848451
feat(affinity-flow): 优化兴趣度评分系统并集成消息管理器
...
重构兴趣度评分系统,移除时间因子权重,增加未读消息处理机制。集成消息管理器用于消息存储和状态跟踪,改进提及检测逻辑。
主要变更:
- 移除时间因子评分,调整兴趣匹配度权重至0.5
- 添加未读消息参数到规划器,优化兴趣度计算
- 引入消息管理器处理消息存储和状态标记
- 改进提及检测逻辑,使用消息对象的is_mentioned属性
- 添加消息清理和启动/停止机制
BREAKING CHANGE: 兴趣度评分算法调整,需要重新评估消息优先级
2025-11-19 23:06:40 +08:00
Windpicker-owo
d7d7388aa7
炸飞hfc,引入afc
2025-11-19 23:06:33 +08:00
minecraft1024a
f842c43ab0
ruff
2025-11-19 23:05:47 +08:00
minecraft1024a
87389c9d66
Megre Pull Request #1260 from MaiCore: https://github.com/MaiM-with-u/MaiBot/pull/1260
2025-11-19 23:05:41 +08:00
minecraft1024a
350388d116
fix(db): 修复数据库迁移中列和索引的创建逻辑
...
- 增强了添加列时对默认值的处理,以兼容不同数据库方言(例如 SQLite 的布尔值)。
- 切换到更标准的 `index.create()` 方法来创建索引,提高了稳定性。
- 调整了启动顺序,确保数据库在主系统之前完成初始化,以防止竞争条件。
2025-11-19 23:05:40 +08:00
minecraft1024a
ba91b99674
fix(db): 适配 SQLAlchemy 2.0 API 变更
...
更新了与数据库交互的代码,以适配 SQLAlchemy 2.0 引入的 API 变更,解决相关的废弃警告和异步调用问题。
主要变更包括:
- 使用 `scalars().first()` 替代已废弃的 `scalar()` 方法。
- 在获取所有标量结果时显式调用 `.all()`。
- 对异步引擎 `get_engine()` 的调用进行 `await`。
- 移除了向 Inspector 方法(如 `get_table_names`)传递多余的 `conn` 参数。
2025-11-19 23:05:34 +08:00