Merge pull request #1525 from AstrBotDevs/fix-path-issue-cli

Fix: 修复 CLI 模式下路径问题导致 WebUI 和 MCP Server 无法加载的问题
This commit is contained in:
Soulter
2025-05-11 18:39:12 +08:00
committed by GitHub
3 changed files with 6 additions and 8 deletions
+2 -1
View File
@@ -4,6 +4,7 @@ from pathlib import Path
import click
import asyncio
import traceback
from filelock import FileLock, Timeout
@@ -59,4 +60,4 @@ def run(reload: bool, port: str) -> None:
except Timeout:
raise click.ClickException("无法获取锁文件,请检查是否有其他实例正在运行")
except Exception as e:
raise click.ClickException(f"运行时出现错误: {e!s}")
raise click.ClickException(f"运行时出现错误: {e}\n{traceback.format_exc()}")
+2 -2
View File
@@ -7,6 +7,7 @@ from quart import request
from astrbot.core import logger
from astrbot.core.core_lifecycle import AstrBotCoreLifecycle
from astrbot.core.utils.astrbot_path import get_astrbot_data_path
from .route import Response, Route, RouteContext
@@ -31,8 +32,7 @@ class ToolsRoute(Route):
@property
def mcp_config_path(self):
current_dir = os.path.dirname(os.path.abspath(__file__))
data_dir = os.path.abspath(os.path.join(current_dir, "../../../data"))
data_dir = get_astrbot_data_path()
return os.path.join(data_dir, "mcp_server.json")
def load_mcp_config(self):
+2 -5
View File
@@ -13,10 +13,7 @@ from .routes.route import RouteContext, Response
from astrbot.core import logger, WEBUI_SK
from astrbot.core.db import BaseDatabase
from astrbot.core.utils.io import get_local_ip_addresses
DATAPATH = os.path.abspath(
os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../data")
)
from astrbot.core.utils.astrbot_path import get_astrbot_data_path
class AstrBotDashboard:
@@ -28,7 +25,7 @@ class AstrBotDashboard:
) -> None:
self.core_lifecycle = core_lifecycle
self.config = core_lifecycle.astrbot_config
self.data_path = os.path.abspath(os.path.join(DATAPATH, "dist"))
self.data_path = os.path.abspath(os.path.join(get_astrbot_data_path(), "dist"))
self.app = Quart("dashboard", static_folder=self.data_path, static_url_path="/")
self.app.config["MAX_CONTENT_LENGTH"] = (
128 * 1024 * 1024