mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-14 21:52:56 +08:00
* ✨ 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>
89 lines
2.1 KiB
Python
89 lines
2.1 KiB
Python
"""
|
|
Zhenxun Bot - 核心服务模块
|
|
|
|
主要服务包括:
|
|
- 数据库上下文 (db_context): 提供数据库模型基类和连接管理。
|
|
- 日志服务 (log): 提供增强的、带上下文的日志记录器。
|
|
- LLM服务 (llm): 提供与大语言模型交互的统一API。
|
|
- 插件生命周期管理 (plugin_init): 支持插件安装和卸载时的钩子函数。
|
|
- 定时任务调度器 (scheduler): 提供持久化的、可管理的定时任务服务。
|
|
"""
|
|
|
|
from nonebot import require
|
|
|
|
require("nonebot_plugin_apscheduler")
|
|
require("nonebot_plugin_alconna")
|
|
require("nonebot_plugin_session")
|
|
require("nonebot_plugin_htmlrender")
|
|
require("nonebot_plugin_uninfo")
|
|
require("nonebot_plugin_waiter")
|
|
|
|
from .avatar_service import avatar_service
|
|
from .db_context import Model, disconnect, with_db_timeout
|
|
from .llm import (
|
|
AI,
|
|
AIConfig,
|
|
CommonOverrides,
|
|
LLMContentPart,
|
|
LLMException,
|
|
LLMGenerationConfig,
|
|
LLMMessage,
|
|
chat,
|
|
clear_model_cache,
|
|
code,
|
|
create_multimodal_message,
|
|
embed,
|
|
generate,
|
|
generate_structured,
|
|
get_cache_stats,
|
|
get_model_instance,
|
|
list_available_models,
|
|
list_embedding_models,
|
|
search,
|
|
set_global_default_model_name,
|
|
)
|
|
from .log import logger
|
|
from .plugin_init import PluginInit, PluginInitManager
|
|
from .renderer import renderer_service
|
|
from .scheduler import (
|
|
ExecutionPolicy,
|
|
ScheduleContext,
|
|
Trigger,
|
|
scheduler_manager,
|
|
)
|
|
|
|
__all__ = [
|
|
"AI",
|
|
"AIConfig",
|
|
"CommonOverrides",
|
|
"ExecutionPolicy",
|
|
"LLMContentPart",
|
|
"LLMException",
|
|
"LLMGenerationConfig",
|
|
"LLMMessage",
|
|
"Model",
|
|
"PluginInit",
|
|
"PluginInitManager",
|
|
"ScheduleContext",
|
|
"Trigger",
|
|
"avatar_service",
|
|
"chat",
|
|
"clear_model_cache",
|
|
"code",
|
|
"create_multimodal_message",
|
|
"disconnect",
|
|
"embed",
|
|
"generate",
|
|
"generate_structured",
|
|
"get_cache_stats",
|
|
"get_model_instance",
|
|
"list_available_models",
|
|
"list_embedding_models",
|
|
"logger",
|
|
"renderer_service",
|
|
"scheduler_manager",
|
|
"search",
|
|
"set_global_default_model_name",
|
|
"with_db_timeout",
|
|
]
|