ce94f63d9a
✨ feat(hook): 增强认证钩子和运行时缓存管理 ( #2106 )
...
* ✨ feat(hook): 增强认证钩子和运行时缓存管理
```
♻ refactor(hook): 移除未使用的配置项并优化缓存设置
移除 AUTH_HOOKS_CONCURRENCY_LIMIT 配置项,该配置项不再使用
✨ feat(auth_ban): 简化缓存配置并添加实体参数支持
将 BAN_CACHE_TTL 相关配置从动态配置改为常量定义,
移除复杂的 TTL 值转换逻辑,并为 auth_ban 函数添加可选的
entity 参数以支持外部传入实体信息
♻ refactor(auth_limit): 移除未使用的配置依赖
移除 AUTH_LIMIT_NOTICE_CD 配置项,直接使用常量值 2
作为限制通知冷却时间
📦 依赖更新: update playwright dependency to version 1.57.0 in pyproject.toml and requirements.txt
```
* ✨ feat(auth_checker): 增强插件模块处理和预过滤逻辑,支持用户插件兼容性
* ✨ feat(http_utils): 添加内容缓存机制以优化HTTP响应处理
* ✨ feat(cache): 添加群组插件设置视图缓存类型并更新相关逻辑
* ✨ feat(renderer): 优化渲染引擎,增加内存缓存管理和HTML文档处理逻辑
* ✨ feat(sign_in): 添加好感度排行和好感度总排行命令
* ✨ feat(renderer): 增强浏览器实例管理和模板预处理,支持历史 include 语法兼容
* ✨ feat(renderer): 优化 Playwright 环境检查逻辑,增加结果缓存以提高性能
* ✨ feat(renderer): 增强模板文件渲染策略,优化资产加载路径处理
* 🚨 auto fix by pre-commit hooks
* ✨ feat(log): 增加日志内容安全序列化,避免超长 base64 等污染日志
✨ feat(log_sanitizer): 添加对嵌入超长 base64/data URI 的清理功能
✨ feat(auth_checker): 添加 Alconna 快捷方式缓存检查,优化路由匹配逻辑
* feat(renderer): 添加渲染结果内存缓存功能以优化性能
feat(help): 实现帮助菜单图像缓存机制
feat(sign_in): 更新HTML卡片生成以支持动画禁用和剪裁
feat(superuser): 在启动时预热超级用户帮助缓存
feat(theme): 优化主题管理器的资源解析缓存
* 🚨 auto fix by pre-commit hooks
* feat(renderer): 增加全页面视口最大宽度限制并优化内容尺寸计算
---------
Co-authored-by: ATTomatoo <1126160939@qq.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: HibiKier <45528451+HibiKier@users.noreply.github.com >
2026-03-03 15:54:47 +08:00
HibiKier
bc8e1659ae
✨ feat(plugins): Enhance PluginExtraData with ignore_statistics and limits features ( #2098 )
...
- Added ignore_statistics field to PluginExtraData to control call statistics.
- Introduced limits parameter in PluginExtraData for rate limiting plugin usage.
- Updated relevant plugins to utilize the new features for better control over plugin statistics and usage limits.
2026-02-06 16:46:01 +08:00
ManyManyTomato
203754e300
✨ feat(core): 优化数据库调用表现 ( #2089 )
2026-02-01 14:28:51 +08:00
837330e30a
🎉 🍾 ♻️ refactor(core): 重构核心鉴权与缓存机制,引入异步发送队列以提升性能 🚀 ( #2088 )
...
* 添加测试插件
* ✨ feat(auth): 添加缓存机制以优化用户和插件数据查询性能
* 🗑️ chore(help): 删除笨蛋检测插件代码
* ✨ feat(bot): 添加对扩展插件的加载支持
* ✨ feat(auth): 优化权限检查和缓存机制,增加用户和插件数据的并行查询
* ✨ feat(cache): 引入运行时缓存机制,优化用户和插件的ban记录管理
* ✨ feat(auth): 更新is_ban函数文档,添加参数和返回值说明
* ```
feat(auth): 使用内存缓存优化权限验证性能
- 移除数据库查询超时控制,改用 LevelUserMemoryCache、BotMemoryCache
和 PluginLimitMemoryCache 进行缓存查询
- 优化 auth_admin、auth_bot、auth_limit 权限验证逻辑,提升响应速度
- 添加 background 参数支持异步发送权限不足提示消息
- 移除 asyncio 依赖,简化代码结构
fix(auth): 修复限制通知频率控制问题
- 实现限制通知冷却机制,避免重复发送相同限制消息
- 添加 AUTH_LIMIT_NOTICE_CD 配置项,默认值为 2 秒
- 使用 FreqLimiter 控制限制通知发送频率
refactor(models): 增强模型数据变更时的缓存同步
- 在 BotConsole、GroupConsole、LevelUser、PluginLimit 模型的
create、update_or_create、save、delete 方法中自动更新对应缓存
- 确保数据库和内存缓存数据一致性
docs(ban_console): 修正文档注释并优化日志信息
- 修正 BanConsole 类中方法的文档字符串,使用标准参数和返回值格式
- 优化调试日志信息,使描述更加清晰准确
```
* ✨ feat(auth): 更新Limit类以支持PluginLimitSnapshot,优化限制信息处理
* ✨ feat(bot_manage): 优化Bot控制台初始化逻辑,处理IntegrityError异常
* ✨ feat(mmm1): 新增消息推送功能,支持私聊和群聊事件处理
* ✨ feat(group_member_update): 优化群组成员更新逻辑,增加活动跟踪和消息记录功能
* ✨ feat(mmm1): 删除冗余的消息推送功能代码
* ✨ feat(auth): 优化权限检查逻辑,增加模块阻止功能和缓存处理
* ✨ feat(auth): 优化权限检查逻辑,增加快速ban检测和前置检查功能
* ✨ feat(chat_history): 增强消息处理规则,添加时间间隔限制以防止重复消息
✨ feat(data_source): 引入异步获取群成员信息的功能,优化用户信息更新逻辑
* ✨ feat(send_queue): 添加异步发送队列以优化API调用和速率限制
* ✨ feat(auth): 添加缓存就绪检查以优化权限处理逻辑
* ✨ feat(plugins): 移除不必要的插件加载以简化插件管理
* ✨ feat(group_console): 优化群组获取逻辑,添加缓存检查以提升性能
✨ 只接收缓存完成之后时间的消息
* ✨ feat(auth): 添加异步任务管理和超载检测,优化权限处理逻辑
✨ feat(chat_history): 修改规则函数为异步,提升消息处理效率
✨ feat(group_handle): 增加安全获取群组信息的异步方法,添加超时处理
✨ feat(record_request): 引入安全获取群组信息的异步方法,优化群邀请处理
✨ feat(ban_memory_cache): 增强禁言内存缓存,添加负缓存机制
✨ feat(message_load): 新增消息负载检测功能,优化任务调度
✨ feat(scheduler): 在调度器中集成消息压力检测,优化任务执行
✨ feat(send_queue): 引入异步任务管理,优化发送队列处理
* ✨ feat(auth): 添加对 LevelUserSnapshot 和 BotSnapshot 的支持,优化权限检查逻辑
✨ 格式化
* ✨ feat(db_context): 增强 get_or_create 方法,处理并发创建冲突并回退查询已存在记录
* ✨ feat(bot_manage): 增强 init_bot_console 方法,处理并发创建冲突并回退查询已存在的 bot 数据
* 🚨 auto fix by pre-commit hooks
* ✨ feat(runtime_cache): 优化消息处理逻辑,支持 bytes 和 bytearray 类型的联合判断
* ✨ style(runtime_cache): 格式化代码,优化多行表达式的可读性
* 🚨 auto fix by pre-commit hooks
* ✨ refactor: 优化类型注解,改进群组成员更新逻辑和平台处理
✨ 格式化
* 🚨 auto fix by pre-commit hooks
* ✨ refactor: 优化代码格式,增强可读性并修复类型注解
* 🚨 auto fix by pre-commit hooks
* ✨ refactor: 更新文档注释,增强is_ban函数的可读性
* ✨ refactor: 优化代码结构,移除冗余函数,增强可读性并改进任务调度逻辑
* ✨ refactor: 调整定时任务时间,优化渲染服务的初始化逻辑,增强代码可读性
---------
Co-authored-by: ATTomatoo <1126160939@qq.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-01-28 10:15:24 +08:00
HibiKier and pre-commit-ci[bot]
e7f3c210df
修复并发时数据库超时 ( #2063 )
...
* 🔧 修复和优化:调整超时设置,重构检查逻辑,简化代码结构
- 在 `chkdsk_hook.py` 中重构 `check` 方法,提取公共逻辑
- 更新 `CacheManager` 中的超时设置,使用新的 `CACHE_TIMEOUT`
- 在 `utils.py` 中添加缓存逻辑,记录数据库操作的执行情况
* ✨ feat(auth): 添加并发控制,优化权限检查逻辑
* Update utils.py
* 🚨 auto fix by pre-commit hooks
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-09 08:46:08 +08:00
HibiKier
b505307f2f
🐛 优化CacheDict类中的键存在性检查和获取逻辑,简化代码结构,提高可读性。 ( #2037 )
检查bot是否运行正常 / bot check (push) Has been cancelled
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
Sequential Lint and Type Check / ruff-call (push) Has been cancelled
Release Drafter / Update Release Draft (push) Has been cancelled
Force Sync to Aliyun / sync (push) Has been cancelled
Update Version / update-version (push) Has been cancelled
Sequential Lint and Type Check / pyright-call (push) Has been cancelled
2025-08-29 16:07:04 +08:00
HibiKier
d9e65057cf
⚡ 减少数据库查询次数,提高数据库查询方面性能 ( #2030 )
...
检查bot是否运行正常 / bot check (push) Has been cancelled
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
Sequential Lint and Type Check / ruff-call (push) Has been cancelled
Release Drafter / Update Release Draft (push) Has been cancelled
Force Sync to Aliyun / sync (push) Has been cancelled
Update Version / update-version (push) Has been cancelled
Sequential Lint and Type Check / pyright-call (push) Has been cancelled
* 🐛 修复数据库超时问题
* 🔧 移除帮助图片清理功能.
* ✨ 更新插件商店功能,允许在添加插件时指定源类型为 None。优化插件 ID 查找逻辑,增强代码可读性。新增 zhenxun/ui 模块导入。
* 🔧 优化数据访问和数据库上下文逻辑,移除不必要的全局变量和日志信息,调整日志级别为调试,提升代码可读性和性能。
2025-08-26 16:53:14 +08:00
HibiKier
f9a38a26b2
🐛 修复群组申请通知 ( #2026 )
...
检查bot是否运行正常 / bot check (push) Waiting to run
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
Sequential Lint and Type Check / ruff-call (push) Waiting to run
Sequential Lint and Type Check / pyright-call (push) Blocked by required conditions
Release Drafter / Update Release Draft (push) Waiting to run
Force Sync to Aliyun / sync (push) Waiting to run
Update Version / update-version (push) Waiting to run
* ✨ 修复一些bug
- 移除不必要的定时器类,简化代码结构
- 优化好友请求处理逻辑,确保在自动同意和手动处理之间的清晰区分
- 更新缓存机制,避免重复处理相同的好友请求
- 新增判断文件是否为二进制文件的功能,提升文件处理的准确性
- 优化缓存字典的过期检查逻辑,提高性能和可读性
* ✨ 更新 get_async_client 函数,支持字符串类型的代理参数
- 修改 proxies 参数类型,允许传入字符串形式的代理地址
- 增强代理处理逻辑,将字符串代理转换为字典格式,提升灵活性和可用性
2025-08-19 16:20:52 +08:00
HibiKier
3deffcb46c
✨ 增强缓存功能,优化请求管理逻辑 ( #2012 )
...
检查bot是否运行正常 / bot check (push) Has been cancelled
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
Sequential Lint and Type Check / ruff-call (push) Has been cancelled
Release Drafter / Update Release Draft (push) Has been cancelled
Force Sync to Aliyun / sync (push) Has been cancelled
Update Version / update-version (push) Has been cancelled
Sequential Lint and Type Check / pyright-call (push) Has been cancelled
- 在 `record_request.py` 和 `group_handle/__init__.py` 中引入了 `CacheRoot`,实现请求缓存,避免重复处理相同请求。
- 在 `exception.py` 中更新 `ForceAddGroupError` 类,新增 `group_id` 属性以便于错误处理。
- 在 `data_source.py` 中修改 `ForceAddGroupError` 的抛出逻辑,包含 `group_id` 信息。
- 更新 `cache` 类,支持类型化缓存字典和列表,增强缓存的类型安全性。
此更新提升了请求处理的效率和准确性,同时增强了错误信息的可追溯性。
2025-08-06 16:31:09 +08:00
HibiKier
d218c569d4
✨ 格式化db_context ( #1980 )
...
* ✨ 格式化db_context
* 🔥 移除旧db-context
* ⚡ 添加旧版本兼容
2025-07-15 17:08:42 +08:00
8649aaaa54
✨ 引入缓存机制 ( #1889 )
...
* 添加全局cache
* ✨ 构建缓存,hook使用缓存
* ✨ 新增数据库Model方法监控
* ✨ 数据库添加semaphore锁
* 🩹 优化webapi返回数据
* ✨ 添加增量缓存与缓存过期
* 🎨 优化检测代码结构
* ⚡ 优化hook权限检测性能
* 🐛 添加新异常判断跳过权限检测
* ✨ 添加插件limit缓存
* 🎨 代码格式优化
* 🐛 修复代码导入
* 🐛 修复刷新时检查
* 👽 Rename exception for missing database URL in initialization
* ♿ Update default database URL to SQLite in configuration
* 🔧 Update tortoise-orm and aiocache dependencies restrictions; add optional redis and asyncpg support
* 🐛 修复ban检测
* 🐛 修复所有插件关闭时缓存更新
* 🐛 尝试迁移至aiocache
* 🐛 完善aiocache缓存
* ⚡ 代码性能优化
* 🐛 移除获取封禁缓存时的日志记录
* 🐛 修复缓存类型声明,优化封禁用户处理逻辑
* 🐛 优化LevelUser权限更新逻辑及数据库迁移
* ✨ cache支持redis连接
* 🚨 auto fix by pre-commit hooks
* ⚡ :增强获取群组的安全性和准确性。同时,优化了缓存管理中的相关逻辑,确保缓存操作的一致性。
* ✨ feat(auth_limit): 将插件初始化逻辑的启动装饰器更改为优先级管理器
* 🔧 修复日志记录级别
* 🔧 更新数据库连接字符串
* 🔧 更新数据库连接字符串为内存数据库,并优化权限检查逻辑
* ✨ feat(cache): 增加缓存功能配置项,并新增数据访问层以支持缓存逻辑
* ♻️ 重构cache
* ✨ feat(cache): 增强缓存管理,新增缓存字典和缓存列表功能,支持过期时间管理
* 🔧 修复Notebook类中的viewport高度设置,将其从1000调整为10
* ✨ 更新插件管理逻辑,替换缓存服务为CacheRoot并优化缓存失效处理
* ✨ 更新RegisterConfig类中的type字段
* ✨ 修复清理重复记录逻辑,确保检查记录的id属性有效性
* ⚡ 超级无敌大优化,解决延迟与卡死问题
* ✨ 更新封禁功能,增加封禁时长参数和描述,优化插件信息返回结构
* ✨ 更新zhenxun_help.py中的viewport高度,将其从453调整为10,以优化页面显示效果
* ✨ 优化插件分类逻辑,增加插件ID排序,并更新插件信息返回结构
---------
Co-authored-by: BalconyJH <balconyjh@gmail.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-14 22:35:29 +08:00