From de1f2e5119aaa56b15445f07d79b79e6d4f2fd93 Mon Sep 17 00:00:00 2001 From: K2cr2O1 <2221577113@qq.com> Date: Sun, 11 Jan 2026 21:10:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(help):=20=E9=87=8D=E6=9E=84=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=E7=B3=BB=E7=BB=9F=E4=B8=BA=E5=9B=BE=E7=89=87=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加浏览器管理器和图片管理器,用于通过 Playwright 渲染帮助菜单为图片 重构命令管理器以支持图片缓存和同步功能 添加 HTML 模板用于帮助菜单渲染 --- core/data/temp/help_menu.png | Bin 0 -> 118331 bytes core/managers/__init__.py | 10 +++ core/managers/browser_manager.py | 72 +++++++++++++++++ core/managers/command_manager.py | 60 ++++++++++++-- core/managers/help_pic.py | 1 - core/managers/image_manager.py | 115 ++++++++++++++++++++++++++ main.py | 18 ++++- templates/help.html | 134 +++++++++++++++++++++++++++++++ 8 files changed, 403 insertions(+), 7 deletions(-) create mode 100644 core/data/temp/help_menu.png create mode 100644 core/managers/browser_manager.py delete mode 100644 core/managers/help_pic.py create mode 100644 core/managers/image_manager.py create mode 100644 templates/help.html diff --git a/core/data/temp/help_menu.png b/core/data/temp/help_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..77500443bb818b13e1d5cc456fac08629dcc33c3 GIT binary patch literal 118331 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 OT{pG5T4i!4?%x2XlaTNL literal 0 HcmV?d00001 diff --git a/core/managers/__init__.py b/core/managers/__init__.py index 843b996..a563ad1 100644 --- a/core/managers/__init__.py +++ b/core/managers/__init__.py @@ -9,6 +9,8 @@ from .command_manager import matcher as command_manager from .permission_manager import PermissionManager from .plugin_manager import PluginManager from .redis_manager import RedisManager +from .browser_manager import BrowserManager +from .image_manager import ImageManager # --- 实例化所有单例管理器 --- @@ -28,6 +30,12 @@ plugin_manager.load_all_plugins() # Redis 管理器 redis_manager = RedisManager() +# 浏览器管理器 +browser_manager = BrowserManager() + +# 图片管理器 +image_manager = ImageManager() + __all__ = [ "admin_manager", "permission_manager", @@ -35,4 +43,6 @@ __all__ = [ "matcher", "plugin_manager", "redis_manager", + "browser_manager", + "image_manager", ] diff --git a/core/managers/browser_manager.py b/core/managers/browser_manager.py new file mode 100644 index 0000000..0670251 --- /dev/null +++ b/core/managers/browser_manager.py @@ -0,0 +1,72 @@ +""" +浏览器管理器模块 + +负责管理全局唯一的 Playwright 浏览器实例,避免频繁启动/关闭浏览器的开销。 +""" +import asyncio +from typing import Optional +from playwright.async_api import async_playwright, Browser, Playwright, Page +from ..utils.logger import logger + +class BrowserManager: + """ + 浏览器管理器(异步单例) + """ + _instance = None + _playwright: Optional[Playwright] = None + _browser: Optional[Browser] = None + + def __new__(cls): + if cls._instance is None: + cls._instance = super().__new__(cls) + return cls._instance + + async def initialize(self): + """ + 初始化 Playwright 和 Browser + """ + if self._browser is None: + try: + logger.info("正在启动无头浏览器...") + self._playwright = await async_playwright().start() + # 启动 Chromium,headless=True 表示无头模式 + self._browser = await self._playwright.chromium.launch(headless=True) + logger.success("无头浏览器启动成功!") + except Exception as e: + logger.exception(f"无头浏览器启动失败: {e}") + self._browser = None + + async def get_new_page(self) -> Optional[Page]: + """ + 获取一个新的页面 (Page) + + 使用完毕后,调用者应该负责关闭该页面 (await page.close()) + """ + if self._browser is None: + logger.warning("浏览器尚未初始化,尝试重新初始化...") + await self.initialize() + + if self._browser: + try: + return await self._browser.new_page() + except Exception as e: + logger.error(f"创建新页面失败: {e}") + return None + return None + + async def shutdown(self): + """ + 关闭浏览器和 Playwright + """ + if self._browser: + await self._browser.close() + self._browser = None + logger.info("浏览器已关闭") + + if self._playwright: + await self._playwright.stop() + self._playwright = None + logger.info("Playwright 已停止") + +# 全局浏览器管理器实例 +browser_manager = BrowserManager() diff --git a/core/managers/command_manager.py b/core/managers/command_manager.py index cb90b79..2d2392f 100644 --- a/core/managers/command_manager.py +++ b/core/managers/command_manager.py @@ -7,12 +7,16 @@ """ from typing import Any, Callable, Dict, Optional, Tuple +import os +import base64 from models.events.message import MessageSegment from ..config_loader import global_config from ..handlers.event_handler import MessageHandler, NoticeHandler, RequestHandler -from .help_pic import help_pic +from .redis_manager import redis_manager +from .image_manager import image_manager +from ..utils.logger import logger # 从配置中获取命令前缀 _config_prefixes = global_config.bot.command @@ -59,6 +63,40 @@ class CommandManager: # 注册内置的 /help 命令 self._register_internal_commands() + async def sync_help_pic(self): + """ + 启动时或插件重载时同步 help 图片到 Redis + """ + try: + logger.info("正在生成帮助图片...") + + # 1. 收集插件数据 + plugins_data = [] + for plugin_name, meta in self.plugins.items(): + plugins_data.append({ + "name": meta.get("name", plugin_name), + "description": meta.get("description", "暂无描述"), + "usage": meta.get("usage", "暂无用法") + }) + + # 2. 渲染图片 + # 使用 png 格式以获得更好的文字清晰度 + base64_str = await image_manager.render_template_to_base64( + template_name="help.html", + data={"plugins": plugins_data}, + output_name="help_menu.png", + image_type="png" + ) + + if base64_str: + await redis_manager.set("neobot:core:help_pic", base64_str) + logger.success("帮助图片已更新并缓存到 Redis") + else: + logger.error("帮助图片生成失败") + + except Exception as e: + logger.error(f"同步帮助图片失败: {e}") + def _register_internal_commands(self): """ 注册框架内置的命令 @@ -160,9 +198,22 @@ class CommandManager: async def _help_command(self, bot, event): """ 内置的 `/help` 命令的实现。 + 直接从 Redis 获取缓存的图片。 """ - help_text = "--- 可用指令列表 ---\n" + # 1. 尝试从 Redis 获取 + help_pic = await redis_manager.get("neobot:core:help_pic") + + if not help_pic: + await bot.send(event, "帮助图片缓存缺失,正在重新生成...") + await self.sync_help_pic() + help_pic = await redis_manager.get("neobot:core:help_pic") + + if help_pic: + await bot.send(event, MessageSegment.image(help_pic)) + return + # 2. 最后的兜底:发送纯文本 + help_text = "--- 可用指令列表 ---\n" for plugin_name, meta in self.plugins.items(): name = meta.get("name", "未命名插件") description = meta.get("description", "暂无描述") @@ -171,9 +222,8 @@ class CommandManager: help_text += f"\n{name}:\n" help_text += f" 功能: {description}\n" help_text += f" 用法: {usage}\n" - - await bot.send(event, MessageSegment.image(help_pic)) - # await bot.send(event, help_text.strip()) + + await bot.send(event, help_text.strip()) # 实例化全局唯一的命令管理器 diff --git a/core/managers/help_pic.py b/core/managers/help_pic.py deleted file mode 100644 index b3d9920..0000000 --- a/core/managers/help_pic.py +++ /dev/null @@ -1 +0,0 @@ -help_pic = """data:image/png;base64,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""" diff --git a/core/managers/image_manager.py b/core/managers/image_manager.py new file mode 100644 index 0000000..e73732b --- /dev/null +++ b/core/managers/image_manager.py @@ -0,0 +1,115 @@ +""" +图片生成管理器模块 + +负责管理图片生成相关的逻辑,支持多种渲染引擎(目前支持 Playwright)。 +""" +import os +import base64 +from typing import Dict, Any, Optional +from jinja2 import Template + +from .browser_manager import browser_manager +from ..utils.logger import logger + +class ImageManager: + """ + 图片生成管理器(单例) + """ + _instance = None + + def __new__(cls): + if cls._instance is None: + cls._instance = super().__new__(cls) + return cls._instance + + def __init__(self): + # 模板目录 + self.template_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "templates") + # 临时文件目录 + # core/managers/image_manager.py -> core/managers -> core -> core/data/temp + self.temp_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "data", "temp") + os.makedirs(self.temp_dir, exist_ok=True) + + async def render_template(self, template_name: str, data: Dict[str, Any], output_name: str = "output.png", quality: int = 80, image_type: str = "png") -> Optional[str]: + """ + 使用 Playwright 渲染 Jinja2 模板并保存为图片文件 + + Args: + template_name (str): 模板文件名 (例如 "help.html") + data (Dict[str, Any]): 传递给模板的数据字典 + output_name (str, optional): 输出文件名. Defaults to "output.png". + quality (int, optional): JPEG 质量 (0-100). 仅在 image_type 为 jpeg 时有效. Defaults to 80. + image_type (str, optional): 图片类型 ('png' or 'jpeg'). Defaults to "png". + + Returns: + Optional[str]: 生成图片的绝对路径,如果失败则返回 None + """ + template_path = os.path.join(self.template_dir, template_name) + if not os.path.exists(template_path): + logger.error(f"模板文件未找到: {template_path}") + return None + + try: + # 1. 渲染 HTML + with open(template_path, "r", encoding="utf-8") as f: + template_str = f.read() + + template = Template(template_str) + html_content = template.render(**data) + + # 2. 使用浏览器截图 + page = await browser_manager.get_new_page() + if not page: + logger.error("无法获取浏览器页面") + return None + + try: + # 设置视口 + await page.set_viewport_size({"width": 650, "height": 100}) + + # 加载内容 + await page.set_content(html_content) + await page.wait_for_selector("body") + + # 截图 + screenshot_args = {'full_page': True, 'type': image_type} + if image_type == 'jpeg': + screenshot_args['quality'] = quality + + screenshot_bytes = await page.screenshot(**screenshot_args) + + finally: + await page.close() + + # 3. 保存文件 + output_path = os.path.join(self.temp_dir, output_name) + with open(output_path, "wb") as f: + f.write(screenshot_bytes) + + logger.info(f"图片已生成: {output_path} ({len(screenshot_bytes)/1024:.2f} KB)") + return os.path.abspath(output_path) + + except Exception as e: + logger.exception(f"渲染模板 {template_name} 失败: {e}") + return None + + async def render_template_to_base64(self, template_name: str, data: Dict[str, Any], output_name: str = "output.png", quality: int = 80, image_type: str = "png") -> Optional[str]: + """ + 渲染模板并返回 Base64 编码的图片字符串 + """ + file_path = await self.render_template(template_name, data, output_name, quality, image_type) + if not file_path: + return None + + try: + with open(file_path, "rb") as f: + content = f.read() + + mime_type = "image/jpeg" if image_type == "jpeg" else "image/png" + return f"data:{mime_type};base64," + base64.b64encode(content).decode("utf-8") + except Exception as e: + logger.error(f"读取图片文件失败: {e}") + return None + +# 全局图片管理器实例 +image_manager = ImageManager() diff --git a/main.py b/main.py index 936d63f..c94ae9c 100644 --- a/main.py +++ b/main.py @@ -15,8 +15,9 @@ from core.utils.logger import logger from core.managers.admin_manager import admin_manager from core.ws import WS -from core.managers import plugin_manager +from core.managers import plugin_manager, matcher from core.managers.redis_manager import redis_manager +from core.managers.browser_manager import browser_manager from core.utils.executor import run_in_thread_pool, initialize_executor from core.config_loader import global_config as config @@ -29,6 +30,15 @@ sys.path.insert(0, ROOT_DIR) PLUGIN_DIR = os.path.join(ROOT_DIR, "plugins") +async def reload_plugin_and_sync_help(module_name: str): + """ + 重载插件并同步帮助图片 + """ + await run_in_thread_pool(plugin_manager.reload_plugin, module_name) + # 插件重载后,重新生成帮助图片 + await matcher.sync_help_pic() + + class PluginReloadHandler(FileSystemEventHandler): """ 文件变更处理器,用于热重载插件 @@ -102,9 +112,15 @@ async def main(): # 初始化 Redis 连接 await redis_manager.initialize() + # 同步帮助图片 + await matcher.sync_help_pic() + # 初始化管理员管理器 await admin_manager.initialize() + # 初始化浏览器管理器 + await browser_manager.initialize() + # 启动文件监控 # 监控 plugins 目录 plugin_path = os.path.join(os.path.dirname(__file__), "plugins") diff --git a/templates/help.html b/templates/help.html new file mode 100644 index 0000000..4fdc65e --- /dev/null +++ b/templates/help.html @@ -0,0 +1,134 @@ + + + + + + NeoBot 帮助菜单 + + + +
+
+

NeoBot

+

功能插件列表

+
+ +
+ {% for plugin in plugins %} +
+
+ {{ plugin.name }} +
+
{{ plugin.description }}
+
+ {{ plugin.usage }} +
+
+ {% endfor %} +
+ + +
+ + \ No newline at end of file