fix(agent): resolve circular import by lazy-importing Command in run_slash_command and list_slash_commands

This commit is contained in:
jxxghp
2026-04-07 00:16:09 +08:00
parent 9fefd807f9
commit 902394f86e
2 changed files with 4 additions and 2 deletions

View File

@@ -6,7 +6,6 @@ from typing import Optional, Type
from pydantic import BaseModel, Field
from app.agent.tools.base import MoviePilotTool
from app.command import Command
from app.log import logger
@@ -40,6 +39,8 @@ class ListSlashCommandsTool(MoviePilotTool):
logger.info(f"执行工具: {self.name}")
try:
from app.command import Command
command_obj = Command()
all_commands = command_obj.get_commands()

View File

@@ -6,7 +6,6 @@ from typing import Optional, Type
from pydantic import BaseModel, Field
from app.agent.tools.base import MoviePilotTool
from app.command import Command
from app.core.event import eventmanager
from app.log import logger
from app.schemas.types import EventType, MessageChannel
@@ -57,6 +56,8 @@ class RunSlashCommandTool(MoviePilotTool):
command = f"/{command}"
# 从全局 Command 单例中验证命令是否存在(包含系统预设命令 + 插件命令 + 其他命令)
from app.command import Command
cmd_name = command.split()[0]
command_obj = Command()
matched_command = command_obj.get(cmd_name)