From eeec6bcc48fcc482c25cb3ada6dc05b8590abebc Mon Sep 17 00:00:00 2001
From: Soulter <905617992@qq.com>
Date: Mon, 15 Dec 2025 00:44:37 +0800
Subject: [PATCH] refactor: move mcp and command page to extension page
---
astrbot/dashboard/routes/tools.py | 24 +-
.../extension/McpServersSection.vue} | 366 ++----------------
.../components/CommandFilters.vue | 0
.../components/CommandTable.vue | 2 +
.../components/DetailsDialog.vue | 0
.../components/RenameDialog.vue | 0
.../componentPanel/components/ToolTable.vue | 144 +++++++
.../composables/useCommandActions.ts | 0
.../composables/useCommandFilters.ts | 0
.../composables/useComponentData.ts} | 27 +-
.../extension/componentPanel/index.vue | 307 +++++++++++++++
.../extension/componentPanel}/types.ts | 18 +
.../locales/en-US/features/extension.json | 4 +-
.../i18n/locales/en-US/features/tool-use.json | 5 +-
.../locales/zh-CN/features/extension.json | 4 +-
.../i18n/locales/zh-CN/features/tool-use.json | 5 +-
.../full/vertical-sidebar/sidebarItem.ts | 10 -
dashboard/src/router/MainRoutes.ts | 10 -
dashboard/src/views/ExtensionPage.vue | 36 +-
dashboard/src/views/commandPanel/index.vue | 184 ---------
20 files changed, 599 insertions(+), 547 deletions(-)
rename dashboard/src/{views/ToolUsePage.vue => components/extension/McpServersSection.vue} (62%)
rename dashboard/src/{views/commandPanel => components/extension/componentPanel}/components/CommandFilters.vue (100%)
rename dashboard/src/{views/commandPanel => components/extension/componentPanel}/components/CommandTable.vue (99%)
rename dashboard/src/{views/commandPanel => components/extension/componentPanel}/components/DetailsDialog.vue (100%)
rename dashboard/src/{views/commandPanel => components/extension/componentPanel}/components/RenameDialog.vue (100%)
create mode 100644 dashboard/src/components/extension/componentPanel/components/ToolTable.vue
rename dashboard/src/{views/commandPanel => components/extension/componentPanel}/composables/useCommandActions.ts (100%)
rename dashboard/src/{views/commandPanel => components/extension/componentPanel}/composables/useCommandFilters.ts (100%)
rename dashboard/src/{views/commandPanel/composables/useCommandData.ts => components/extension/componentPanel/composables/useComponentData.ts} (64%)
create mode 100644 dashboard/src/components/extension/componentPanel/index.vue
rename dashboard/src/{views/commandPanel => components/extension/componentPanel}/types.ts (83%)
delete mode 100644 dashboard/src/views/commandPanel/index.vue
diff --git a/astrbot/dashboard/routes/tools.py b/astrbot/dashboard/routes/tools.py
index 64cd78caa..d7b082000 100644
--- a/astrbot/dashboard/routes/tools.py
+++ b/astrbot/dashboard/routes/tools.py
@@ -3,6 +3,7 @@ import traceback
from quart import request
from astrbot.core import logger
+from astrbot.core.agent.mcp_client import MCPTool
from astrbot.core.core_lifecycle import AstrBotCoreLifecycle
from astrbot.core.star import star_map
@@ -296,15 +297,30 @@ class ToolsRoute(Route):
"""获取所有注册的工具列表"""
try:
tools = self.tool_mgr.func_list
- tools_dict = [
- {
+ tools_dict = []
+ for tool in tools:
+ if isinstance(tool, MCPTool):
+ origin = "mcp"
+ origin_name = tool.mcp_server_name
+ elif tool.handler_module_path and star_map.get(
+ tool.handler_module_path
+ ):
+ star = star_map[tool.handler_module_path]
+ origin = "plugin"
+ origin_name = star.name
+ else:
+ origin = "unknown"
+ origin_name = "unknown"
+
+ tool_info = {
"name": tool.name,
"description": tool.description,
"parameters": tool.parameters,
"active": tool.active,
+ "origin": origin,
+ "origin_name": origin_name,
}
- for tool in tools
- ]
+ tools_dict.append(tool_info)
return Response().ok(data=tools_dict).__dict__
except Exception as e:
logger.error(traceback.format_exc())
diff --git a/dashboard/src/views/ToolUsePage.vue b/dashboard/src/components/extension/McpServersSection.vue
similarity index 62%
rename from dashboard/src/views/ToolUsePage.vue
rename to dashboard/src/components/extension/McpServersSection.vue
index db8fee905..fe20497f8 100644
--- a/dashboard/src/views/ToolUsePage.vue
+++ b/dashboard/src/components/extension/McpServersSection.vue
@@ -4,42 +4,18 @@
- {{ tm('subtitle') }}
-
-
-
{{ tm('mcpServers.empty') }}
@@ -57,7 +33,6 @@{{ tm('functionTools.empty') }}
-
-
{{ tool.description }}
- - -
-
{{ tm('functionTools.noParameters') }}
-