diff --git a/admin/dashboard/blueprints/plugin_routes.py b/admin/dashboard/blueprints/plugin_routes.py index 40d3dde..682fceb 100644 --- a/admin/dashboard/blueprints/plugin_routes.py +++ b/admin/dashboard/blueprints/plugin_routes.py @@ -7,42 +7,11 @@ from flask import Blueprint, request, jsonify, render_template, current_app from admin.dashboard.blueprints.auth import login_required from utils.robot_cmd.robot_command import GroupBotManager, PermissionStatus -from plugins.robot_menu.menu_render_tool import RobotMenuRenderTool # 创建蓝图 plugin_routes = Blueprint('plugin_routes', __name__) LOG = logger -# 后台命令索引页只复用“命令目录生成”能力,不需要图片渲染, -# 因此这里固定使用轻量 text 配置创建一个工具实例即可。 -_command_catalog_tool = RobotMenuRenderTool( - output_mode="text", - image_fallback_to_text=True, - image_render_timeout_seconds=30, - image_render_retries=1, - image_template_path="plugins/robot_menu/templates/menu_cards.html", - log=LOG, -) - - -def _build_group_options(server) -> list: - """构建后台命令索引页的群组选项列表。""" - group_ids = sorted(set(GroupBotManager.get_group_list() or [])) - options = [] - for group_id in group_ids: - group_name = "" - try: - group_name = server.contact_manager.get_nickname(group_id) or "" - except Exception: - group_name = "" - options.append( - { - "group_id": group_id, - "group_name": str(group_name or group_id), - } - ) - return options - # 机器人管理页面 @plugin_routes.route('/plugins_manage') @@ -51,13 +20,6 @@ def robot_management(): return render_template('plugins_manage.html') -@plugin_routes.route('/command_catalog') -@login_required -def command_catalog_page(): - """后台命令索引页面。""" - return render_template('command_catalog.html') - - @plugin_routes.route('/api/plugins', methods=['GET']) @login_required def get_plugins(): @@ -75,37 +37,6 @@ def get_plugins(): return jsonify({"success": False, "message": f"获取插件列表失败: {str(e)}"}) -@plugin_routes.route('/api/plugins/command_catalog', methods=['GET']) -@login_required -def get_command_catalog(): - """获取后台命令索引数据。""" - try: - server = current_app.dashboard_server - group_id = str(request.args.get('group_id') or '').strip() - - # 后台命令索引默认站在“管理员”视角, - # 这样既能看到当前可用命令,也能看到未启用能力和管理指令。 - catalog = _command_catalog_tool.build_command_catalog_data( - group_id=group_id, - requester_id="dashboard_admin", - force_admin=True, - ) - data = { - **catalog, - "group_options": _build_group_options(server), - "summary": { - "available_manual_count": len(catalog.get("available_manual", []) or []), - "available_auto_count": len(catalog.get("available_auto", []) or []), - "unavailable_manual_count": len(catalog.get("unavailable_manual", []) or []), - "admin_command_count": len(catalog.get("admin_commands", []) or []), - }, - } - return jsonify({"success": True, "data": data}) - except Exception as e: - LOG.error(f"获取命令索引失败: {str(e)}", exc_info=True) - return jsonify({"success": False, "message": f"获取命令索引失败: {str(e)}"}) - - @plugin_routes.route('/api/plugins/group_status', methods=['GET']) @login_required def get_plugin_group_status(): diff --git a/admin/dashboard/templates/base.html b/admin/dashboard/templates/base.html index 84133bc..eca0f07 100644 --- a/admin/dashboard/templates/base.html +++ b/admin/dashboard/templates/base.html @@ -1012,7 +1012,6 @@ items: [ { label: '插件统计', path: '/plugins' }, { label: '插件管理', path: '/plugins_manage' }, - { label: '命令索引', path: '/command_catalog' }, { label: '插件定时任务', path: '/plugin_schedules' }, { label: '群级插件配置', path: '/group_plugin_config' }, { label: '响应指令管理', path: '/fun_command_rules' }, @@ -1153,7 +1152,6 @@ '12': '/virtual_group', '13': '/api_docs', '14': '/system_status', - '18': '/command_catalog', '17': '/system_llm', '15': '/file_browser', '16': '/message_push' diff --git a/admin/dashboard/templates/command_catalog.html b/admin/dashboard/templates/command_catalog.html deleted file mode 100644 index f00ee7c..0000000 --- a/admin/dashboard/templates/command_catalog.html +++ /dev/null @@ -1,478 +0,0 @@ -{% extends "base.html" %} - -{% block title %}命令索引 - 机器人管理后台{% endblock %} - -{% block content %} -
集中查看当前插件命令、群可用状态、自动能力与管理员触发示例,减少靠记忆找功能的成本。
-支持按命令、插件名、描述关键词快速定位。
-这里展示的是当前群在管理员视角下“真实可触发”的命令入口。
-这部分只在后台管理员视角展示,便于你知道还有哪些能力没在当前群打开。
-用于提醒你哪些功能不是靠用户发命令触发,而是自动执行。
-给管理员的常用操作命令,适合快速开关功能和维护群管理员。
-