zhenxun_bot/zhenxun/utils
Rumio 68460d18cc
Some checks failed
检查bot是否运行正常 / bot check (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
Feat: 增强 LLM、渲染与广播功能并优化性能 (#2071)
* ️ perf(image_utils): 优化图片哈希获取避免阻塞异步

*  feat(llm): 增强 LLM 管理功能,支持纯文本列表输出,优化模型能力识别并新增提供商

- 【LLM 管理器】为 `llm list` 命令添加 `--text` 选项,支持以纯文本格式输出模型列表。
- 【LLM 配置】新增 `OpenRouter` LLM 提供商的默认配置。
- 【模型能力】增强 `get_model_capabilities` 函数的查找逻辑,支持模型名称分段匹配和更灵活的通配符匹配。
- 【模型能力】为 `Gemini` 模型能力注册表使用更通用的通配符模式。
- 【模型能力】新增 `GPT` 系列模型的详细能力定义,包括多模态输入输出和工具调用支持。

*  feat(renderer): 添加 Jinja2 `inline_asset` 全局函数

- 新增 `RendererService._inline_asset_global` 方法,并注册为 Jinja2 全局函数 `inline_asset`。
- 允许模板通过 `{{ inline_asset('@namespace/path/to/asset.svg') }}` 直接内联已注册命名空间下的资源文件内容。
- 主要用于解决内联 SVG 时可能遇到的跨域安全问题。
- 【重构】优化 `ResourceResolver.resolve_asset_uri` 中对命名空间资源 (以 `@` 开头) 的解析逻辑,确保能够正确获取文件绝对路径并返回 URI。
- 改进 `RenderableComponent.get_extra_css`,使其在组件定义 `component_css` 时自动返回该 CSS 内容。
- 清理 `Renderable` 协议和 `RenderableComponent` 基类中已存在方法的 `[新增]` 标记。

*  feat(tag): 添加标签克隆功能

- 新增 `tag clone <源标签名> <新标签名>` 命令,用于复制现有标签。
- 【优化】在 `tag create`, `tag edit --add`, `tag edit --set` 命令中,自动去重传入的群组ID,避免重复关联。

*  feat(broadcast): 实现标签定向广播、强制发送及并发控制

- 【新功能】
  - 新增标签定向广播功能,支持通过 `-t <标签名>` 或 `广播到 <标签名>` 命令向指定标签的群组发送消息
  - 引入广播强制发送模式,允许绕过群组的任务阻断设置
  - 实现广播并发控制,通过配置限制同时发送任务数量,避免API速率限制
  - 优化视频消息处理,支持从URL下载视频内容并作为原始数据发送,提高跨平台兼容性
- 【配置】
  - 添加 `DEFAULT_BROADCAST` 配置项,用于设置群组进群时广播功能的默认开关状态
  - 添加 `BROADCAST_CONCURRENCY_LIMIT` 配置项,用于控制广播时的最大并发任务数

*  feat(renderer): 支持组件变体样式收集

*  feat(tag): 实现群组标签自动清理及手动清理功能

* 🐛 fix(gemini): 增加响应验证以处理内容过滤(promptFeedback)

* 🐛 fix(codeql): 移除对 JavaScript 和 TypeScript 的分析支持

* 🚨 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-26 14:13:19 +08:00
..
decorator ♻️ refactor(scheduler): 重构定时任务系统并增强功能 (#2009) 2025-08-06 09:02:23 +08:00
depends feat(limit, message): 引入声明式限流系统并增强消息格式化功能 (#1978) 2025-07-15 17:13:33 +08:00
echart_utils feat!(ui): 重构图表组件架构,实现数据与样式分离 (#2035) 2025-08-28 09:20:15 +08:00
github_utils refactor(zhenxun): 移除失效的 GitHub 代理 (#2029) 2025-08-26 16:48:02 +08:00
html_template 重构插件商店,支持Gitee插件管理,更新相关逻辑和配置 (#1931) 2025-06-20 19:08:06 +08:00
manager 减少数据库查询次数,提高数据库查询方面性能 (#2030) 2025-08-26 16:53:14 +08:00
plugin_models 提供新webui api (#1673) 2024-10-03 23:56:17 +08:00
repo_utils fix(plugin_store): 修复插件商店的安装与卸载逻辑 (#2050) 2025-09-12 17:38:24 +08:00
_build_image.py 🚨 Add specific ignore items in pyright ignore 2025-01-10 12:19:11 +08:00
_build_mat.py 首次启动时提供使用web ui方式完全配置 (#1870) 2025-06-16 09:11:41 +08:00
_image_template.py ♻️ refactor: 统一图片渲染架构并引入通用UI组件系统 (#2019) 2025-08-15 16:34:37 +08:00
browser.py fix(htmlrender): 更新htmlrender 导入 路径 (#2051) 2025-09-12 16:41:43 +08:00
common_utils.py feat(core): 支持LLM多图片响应,增强UI主题皮肤系统及优化JSON/Markdown处理 (#2062) 2025-10-09 08:50:40 +08:00
enum.py 引入缓存机制 (#1889) 2025-07-14 22:35:29 +08:00
exception.py ♻️ refactor: 统一图片渲染架构并引入通用UI组件系统 (#2019) 2025-08-15 16:34:37 +08:00
http_utils.py 🐛 fix(http_utils): 增强错误处理,记录请求失败的详细信息 (#2065) 2025-10-16 17:31:08 +08:00
image_utils.py Feat: 增强 LLM、渲染与广播功能并优化性能 (#2071) 2025-11-26 14:13:19 +08:00
limiters.py feat(limit, message): 引入声明式限流系统并增强消息格式化功能 (#1978) 2025-07-15 17:13:33 +08:00
log_sanitizer.py feat(llm): 增强LLM服务,支持图片生成、响应验证与OpenRouter集成 (#2054) 2025-10-01 18:41:46 +08:00
message.py feat(limit, message): 引入声明式限流系统并增强消息格式化功能 (#1978) 2025-07-15 17:13:33 +08:00
platform.py feat(avatar): 引入头像缓存服务并优化头像获取 (#2055) 2025-09-28 08:53:10 +08:00
pydantic_compat.py feat(core): 增强定时任务与群组标签管理,重构调度核心 (#2068) 2025-11-03 10:53:40 +08:00
rules.py 🐛 修复群欢迎消息删除问题 (#1864) 2025-03-03 22:19:34 +08:00
time_utils.py feat(core): 增强定时任务与群组标签管理,重构调度核心 (#2068) 2025-11-03 10:53:40 +08:00
user_agent.py Develop: 完全使用 ruff 替代 isort 与 black (#1757) 2024-12-10 19:49:11 +08:00
utils.py Bugfix/fix aliyun (#2036) 2025-08-29 14:57:08 +08:00
withdraw_manage.py Develop: 完全使用 ruff 替代 isort 与 black (#1757) 2024-12-10 19:49:11 +08:00