Commit Graph

56 Commits

Author SHA1 Message Date
webjoin111
50c04f3625 feat(tag): 实现群组标签自动清理及手动清理功能 2025-11-15 12:43:16 +08:00
webjoin111
b4df0c0fe9 feat(broadcast): 实现标签定向广播、强制发送及并发控制
- 【新功能】
  - 新增标签定向广播功能,支持通过 `-t <标签名>` 或 `广播到 <标签名>` 命令向指定标签的群组发送消息
  - 引入广播强制发送模式,允许绕过群组的任务阻断设置
  - 实现广播并发控制,通过配置限制同时发送任务数量,避免API速率限制
  - 优化视频消息处理,支持从URL下载视频内容并作为原始数据发送,提高跨平台兼容性
- 【配置】
  - 添加 `DEFAULT_BROADCAST` 配置项,用于设置群组进群时广播功能的默认开关状态
  - 添加 `BROADCAST_CONCURRENCY_LIMIT` 配置项,用于控制广播时的最大并发任务数
2025-11-12 16:12:37 +08:00
webjoin111
412654d165 feat(tag): 添加标签克隆功能
- 新增 `tag clone <源标签名> <新标签名>` 命令,用于复制现有标签。
- 【优化】在 `tag create`, `tag edit --add`, `tag edit --set` 命令中,自动去重传入的群组ID,避免重复关联。
2025-11-12 16:07:59 +08:00
Rumio
70bde00757
feat(core): 增强定时任务与群组标签管理,重构调度核心 (#2068)
*  feat(core): 更新群组信息、Markdown 样式与 Pydantic 兼容层

- 【group】添加更新所有群组信息指令,并同步群组控制台数据
- 【markdown】支持合并 Markdown 的 CSS 来源
- 【pydantic-compat】提供 model_validate 兼容函数

*  feat(core): 增强定时任务与群组标签管理,重构调度核心

 新功能

* **标签 (tags)**: 引入群组标签服务。
    * 支持静态标签和动态标签 (基于 Alconna 规则自动匹配群信息)。
    * 支持黑名单模式及 `@all` 特殊标签。
    * 提供 `tag_manage` 超级用户插件 (list, create, edit, delete 等)。
    * 群成员变动时自动失效动态标签缓存。
* **调度 (scheduler)**: 增强定时任务。
    * 重构 `ScheduledJob` 模型,支持 `TAG`, `ALL_GROUPS` 等多种目标类型。
    * 新增任务别名 (`name`)、创建者、权限、来源等字段。
    * 支持一次性任务 (`schedule_once`) 和 Alconna 命令行参数 (`--params-cli`)。
    * 新增执行选项 (`jitter`, `spread`) 和并发策略 (`ALLOW`, `SKIP`, `QUEUE`)。
    * 支持批量获取任务状态。

♻️ 重构优化

* **调度器核心**:
    * 拆分 `service.py` 为 `manager.py` (API) 和 `types.py` (模型)。
    * 合并 `adapter.py` / `job.py` 至 `engine.py` (统一调度引擎)。
    * 引入 `targeting.py` 模块管理任务目标解析。
* **调度器插件 (scheduler_admin)**:
    * 迁移命令参数校验逻辑至 `ArparmaBehavior`。
    * 引入 `dependencies.py` 和 `data_source.py` 解耦业务逻辑与依赖注入。
    * 适配新的任务目标类型展示。

* 🐛 fix(tag): 修复黑名单标签解析逻辑并优化标签详情展示

*  feat(scheduler): 为多目标定时任务添加固定间隔串行执行选项

*  feat(schedulerAdmin): 允许定时任务删除、暂停、恢复命令支持多ID操作

* 🚨 auto fix by pre-commit hooks

---------

Co-authored-by: webjoin111 <455457521@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-03 10:53:40 +08:00
Rumio
7472cabd48
feat!(ui): 重构图表组件架构,实现数据与样式分离 (#2035)
*  feat!(ui): 重构图表组件架构,实现数据与样式分离

🏗️ **架构重构**
- 移除charts.py中所有硬编码样式参数(grid、tooltip、legend等)
- 将样式配置迁移至主题层style.json文件
- 统一图表模板消费样式文件的能力

📊 **图表组件优化**
- bar_chart: 移除grid和坐标轴show参数
- pie_chart: 移除tooltip、legend样式和series视觉参数
- line_chart: 移除tooltip、grid和坐标轴配置
- radar_chart: 移除tooltip硬编码

🎨 **主题系统增强**
- 新增pie_chart、line_chart、radar_chart的style.json配置
- 更新bar_chart/style.json,添加grid、xAxis、yAxis样式
- 所有图表模板支持deepMerge样式合并逻辑

🔧 **Breaking Changes**
- 图表工厂函数不再接受样式参数
- 主题开发者现可通过style.json完全定制图表外观
- 提升组件可维护性和主题灵活性

* 📦️ build(pyinstaller): 引入 resources.spec 并更新 .gitignore 规则

* 🚨 auto fix by pre-commit hooks

---------

Co-authored-by: webjoin111 <455457521@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-28 09:20:15 +08:00
Rumio
6124e217d0
♻️ refactor(UI): 重构UI渲染服务为组件化分层架构 (#2025)
Some checks failed
检查bot是否运行正常 / bot check (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
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
* ♻️ refactor(UI): 重构UI渲染服务为组件化分层架构

♻️ **架构重构**
- UI渲染服务重构为组件化分层架构
- 解耦主题管理、HTML生成、截图功能

 **新增功能**
- `zhenxun.ui` 统一入口,提供 `render`、`markdown`、`vstack` 等API
- `RenderableComponent` 基类和渲染协议抽象
- 新增主题管理器和截图引擎模块

⚙️ **配置优化**
- UI配置迁移至 `superuser/ui_manager.py`
- 新增"重载UI主题"管理指令

🔧 **性能改进**
- 优化渲染缓存,支持组件级透明缓存
- 所有UI组件适配新渲染流程

* 🚨 auto fix by pre-commit hooks

---------

Co-authored-by: webjoin111 <455457521@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-18 23:08:22 +08:00
Rumio
11524bcb04
♻️ refactor: 统一图片渲染架构并引入通用UI组件系统 (#2019)
Some checks failed
检查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
* ♻️ refactor: 统一图片渲染架构并引入通用UI组件系统

🎨 **渲染服务重构**
- 统一图片渲染入口,引入主题系统支持
- 优化Jinja2环境管理,支持主题覆盖和插件命名空间
- 新增UI缓存机制和主题重载功能

 **通用UI组件系统**
- 新增 zhenxun.ui 模块,提供数据模型和构建器
- 引入BaseBuilder基类,支持链式调用
- 新增多种UI构建器:InfoCard, Markdown, Table, Chart, Layout等
- 新增通用组件:Divider, Badge, ProgressBar, UserInfoBlock

🔄 **插件迁移**
- 迁移9个内置插件至新渲染系统
- 移除各插件中分散的图片生成工具
- 优化数据处理和渲染逻辑

💥 **Breaking Changes**
- 移除旧的图片渲染接口和模板路径
- TEMPLATE_PATH 更名为 THEMES_PATH
- 插件需适配新的RendererService和zhenxun.ui模块

*  test(check): 更新自检插件测试中的渲染服务模拟

* ♻️ refactor(renderer): 将缓存文件名哈希算法切换到 SHA256

* ♻️ refactor(shop): 移除商店HTML图片生成模块

* 🚨 auto fix by pre-commit hooks

---------

Co-authored-by: webjoin111 <455457521@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-15 16:34:37 +08:00
HibiKier
67a2560de4
增强权限检查,更新请求管理命令和数据库配置逻辑 (#2011) 2025-08-06 09:02:07 +08:00
HibiKier
205f4ff1fa
添加bot画像
*  新增自我介绍功能及自动发送图片支持

- 在 bot_profile.py 中实现自我介绍指令及重载功能
- 在 group_handle 中添加自动发送自我介绍图片的逻辑
- 在 fg_request 中实现添加好友时自动发送自我介绍图片
- 新增 bot_profile_manager.py 管理 BOT 自我介绍及图片生成
- 更新 models.py 以支持插件自我介绍和注意事项字段

* 🎨 调整管理帮助宽度

*  更新数据访问层,优化获取数据的方法并引入缓存机制

*  更新用户数据访问逻辑,优化获取用户信息的方法,使用新的函数替代原有实现

*  在 BotProfileManager 中添加自我介绍文件不存在的日志记录,优化文件读取逻辑

*  更新 BOT 自我介绍帮助信息,增加文件不存在时自动创建功能
2025-07-16 02:51:06 +08:00
HibiKier
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
HibiKier
579558e59b
🐛 修复被动的默认开关指令 (#1948)
* 🐛 修复被动的默认开关指令

*  优化插件开关命令,增强用户体验

*  移除旧_task配置
2025-07-11 10:07:09 +08:00
HibiKier
611f0b62ba
引用消息同意好友/群组请求 (#1902)
*  提供event日志表, 新增引用消息同意好友/群组请求

*  移除城市列表更新

*  新增申请入群功能

* 💬 文本修改
2025-06-09 14:39:28 +08:00
HibiKier
b5c2850e28
🐛 修复踢出群组回复内容错误 (#1911)
* 🐛 修复文本显示错误

* 💬 文本修容修正
2025-05-25 11:47:38 +08:00
Rumio
6546eb990b
增强广播插件功能 2025-05-12 16:15:25 +08:00
HibiKier
36bbaa3ae1
🐛 修复获取群组时会修改群组插件关闭状态 (#1869)
* 🐛 修复获取群组时会修改群组插件关闭状态

*  支持https图片地址转换

*  支持https图片地址转换

* 🎨 移除多余导入

* 🎨  优化GroupConsole设置插件默认状态代码结构

* 🎨 优化群组表代码结构

*  移除build_message的https默认转图片
2025-04-02 17:25:38 +08:00
HibiKier
f1d32bff89
提供qq协议端判断方法,广播添加to_me规则以及延迟 (#1858)
*  提供qq协议端判断方法

* 🩹 API重试添加额外错误捕获

* 🩹 广播添加延迟,添加to_me规则
2025-02-24 09:33:06 +08:00
HibiKier
aef2597b46
添加自动同意群组请求 (#1848)
*  添加自动同意群组请求

*  Add nonebot-plugin-waiter

---------

Co-authored-by: BalconyJH <balconyjh@gmail.com>
2025-02-12 23:32:46 +08:00
HibiKier
264929e5cb
新增好感度/金币设置和详细帮助 (#1831)
*  新增好感度/金币设置和详细帮助

* 🔧 修复html帮助
2025-01-10 18:39:23 +08:00
HibiKier
e814469b75 Compatible with pydantic 2.0 using the pydantic compatibility layer provided by nonebot 2025-01-10 12:19:11 +08:00
HibiKier
35014e4048
重构webui适配 (#1801)
* ♻️ 使用Uninfo重构PlatformUtils基础方法

* 🩹 优化插件加载与模块格式转换逻辑

* 🚑 修复商店道具无法使用

* 🚑 修复道具无法正常使用

* 🔧 增加Bot状态管理及模块禁用功能

* 🎨  优化Web UI代码结构,修改target方法

* 🚨 auto fix by pre-commit hooks

* 🎨 添加菜单API及优化异常处理

* 🐛 优化菜单API及模型结构,修复WebUi插件列表Api

* 📝 更新仓库readme

* 🚨 add mdlint file

* 📝 Add help chapter.

* 🐛 修复优化AuthChecker逻辑

* 🐛 优化数据库API,移除冗余导入及修正SQL_DICT引用

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: BalconyJH <balconyjh@gmail.com>
2024-12-25 12:03:49 +08:00
HibiKier
e363d29b3b
🐛 优化Bot管理插件,更新使用说明及代码结构 (#1767) 2024-12-13 15:31:18 +08:00
BalconyJH
64b5316570
🐛 fix bot console init (#1760) 2024-12-11 09:31:51 +08:00
HibiKier
5590445679
添加Bot管理插件 (#1758)
Co-authored-by: BalconyJH <73932916+BalconyJH@users.noreply.github.com>
2024-12-10 20:16:14 +08:00
BalconyJH
bc5a9c4fcc
Develop: 完全使用 ruff 替代 isort 与 black (#1757)
* 🚨 完全使用 ruff 替代 isort 与 black

* 🚨 ruff lint&format
2024-12-10 19:49:11 +08:00
HibiKier
d23602ac56
webui和数据库页面和查询所有表支持mysql和sqlite (#1732) 2024-11-18 11:06:13 +08:00
HibiKier
05f954eb8b
指定bot的功能管理 (#1706) 2024-10-21 19:07:35 +08:00
HibiKier
3d3a2a5f7f
部分功能适配QQ BOT (#1701) 2024-10-18 18:57:55 +08:00
HibiKier
28b61e57cd
新增超级用户与管理员帮助模板 (#1655) 2024-09-27 16:59:41 +08:00
HibiKier
0a5ab83ffe 🎨 代码结构优化 2024-09-07 12:46:25 +08:00
HibiKier
c36bb9771c 🎨 优化代码 2024-09-04 21:10:54 +08:00
HibiKier
02aba68269 🎨 代码优化 2024-09-02 21:45:37 +08:00
HibiKier
e37f1c6165 🎨 修改方法名称 2024-08-30 02:45:27 +08:00
HibiKier
625f17a708 🎨 修复bug,移除plugins文件夹 2024-08-29 22:01:34 +08:00
HibiKier
35699f86e3 🐛 修复群白名单和认证无法删除 2024-08-25 13:31:46 +08:00
HibiKier
45c6dbd2ce 🎨 代码优化 2024-08-24 19:32:52 +08:00
HibiKier
f69253616e 🎨 签到优化与配置修改 2024-08-24 17:06:23 +08:00
HibiKier
6d58f6a188 🐛 修改bug 2024-08-21 22:22:42 +08:00
HibiKier
d0792e0a1c 移除saa依赖 2024-08-11 15:57:33 +08:00
HibiKier
e0a3fe526e 🎨 统一发送格式 2024-08-10 02:25:04 +08:00
HibiKier
2926a46ae8 🎨 优化导入 2024-08-04 23:54:54 +08:00
HibiKier
f09d4e1101 ️ 优化修改群权限正则 2024-08-04 23:54:28 +08:00
HibiKier
3a1cea0939 添加exec_sql查询操作 2024-08-04 21:16:28 +08:00
HibiKier
131cd5ea9a 🐛 统一被动技能判断 2024-08-03 00:34:19 +08:00
HibiKier
36047693aa 🐛 修复处理问题并优化代码 2024-08-02 20:46:51 +08:00
HibiKier
d4a49a47e5 feat: 添加B站转发解析功能 2024-07-28 20:29:03 +08:00
HibiKier
137870b698 feat: 添加词条word_bank 2024-07-27 04:30:03 +08:00
HibiKier
d96fd8191d feat: add dialogue 2024-03-27 20:09:30 +08:00
HibiKier
5dd03bb0ca feat: add black_word 2024-03-18 16:10:44 +08:00
HibiKier
a2d6c7f951 perf👌: 广播与全局插件/被动管理 2024-02-29 03:07:31 +08:00
HibiKier
88bda9ce2c perf👌: 优化好友群组更新 2024-02-28 13:51:16 +08:00