mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-14 21:52:56 +08:00
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(group-settings): 实现群插件配置管理系统 - 引入 GroupSettingsService 服务,提供统一的群插件配置管理接口 - 新增 GroupPluginSetting 模型,用于持久化存储插件在不同群组的配置 - 插件扩展数据 PluginExtraData 增加 group_config_model 字段,用于注册分群配置模型 - 新增 GetGroupConfig 依赖注入,允许插件轻松获取和解析当前群组的配置 【核心服务 GroupSettingsService】 - 支持按群组、插件名和键设置、获取和删除配置项 - 实现配置聚合缓存机制,提升配置读取效率,减少数据库查询 - 支持配置继承与覆盖逻辑(群配置覆盖全局默认值) - 提供批量设置功能 set_bulk,方便为多个群组同时更新配置 【管理与缓存】 - 新增超级用户命令 pconf (plugin_config_manager),用于命令行管理插件的分群和全局配置 - 新增 CacheType.GROUP_PLUGIN_SETTINGS 缓存类型并注册 - 增加 Pydantic model_construct 兼容函数 * 🐛 fix(codeql): 移除对 JavaScript 和 TypeScript 的分析支持 --------- Co-authored-by: webjoin111 <455457521@qq.com>
91 lines
2.2 KiB
Python
91 lines
2.2 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 .group_settings_service import group_settings_service
|
|
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",
|
|
"group_settings_service",
|
|
"list_available_models",
|
|
"list_embedding_models",
|
|
"logger",
|
|
"renderer_service",
|
|
"scheduler_manager",
|
|
"search",
|
|
"set_global_default_model_name",
|
|
"with_db_timeout",
|
|
]
|