mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 15:38:19 +08:00
refactor(agent): 按需加载 Agent 运行时 (#6336)
This commit is contained in:
@@ -407,7 +407,7 @@ class AgentBackgroundOutputTest(unittest.IsolatedAsyncioTestCase):
|
||||
patch("app.agent.orchestrator.prompt_manager.get_agent_prompt", return_value="PROMPT"),
|
||||
patch("app.agent.orchestrator.create_subagent_middlewares", return_value=([], [])),
|
||||
patch(
|
||||
"app.agent.orchestrator.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
"app.agent.tools.factory.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
return_value=[],
|
||||
),
|
||||
patch(
|
||||
@@ -462,7 +462,7 @@ class AgentBackgroundOutputTest(unittest.IsolatedAsyncioTestCase):
|
||||
patch("app.agent.orchestrator.prompt_manager.get_agent_prompt", return_value="PROMPT"),
|
||||
patch("app.agent.orchestrator.create_subagent_middlewares", return_value=([], [])),
|
||||
patch(
|
||||
"app.agent.orchestrator.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
"app.agent.tools.factory.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
return_value=[],
|
||||
),
|
||||
patch(
|
||||
@@ -514,7 +514,7 @@ class AgentBackgroundOutputTest(unittest.IsolatedAsyncioTestCase):
|
||||
patch("app.agent.orchestrator.prompt_manager.get_agent_prompt", return_value="PROMPT"),
|
||||
patch("app.agent.orchestrator.create_subagent_middlewares", return_value=([], [])),
|
||||
patch(
|
||||
"app.agent.orchestrator.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
"app.agent.tools.factory.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
return_value=[],
|
||||
),
|
||||
patch(
|
||||
@@ -603,7 +603,7 @@ class AgentBackgroundOutputTest(unittest.IsolatedAsyncioTestCase):
|
||||
patch("app.agent.orchestrator.prompt_manager.get_agent_prompt", return_value="PROMPT"),
|
||||
patch("app.agent.orchestrator.create_subagent_middlewares", return_value=([], [])),
|
||||
patch(
|
||||
"app.agent.orchestrator.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
"app.agent.tools.factory.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
return_value=[],
|
||||
),
|
||||
patch(
|
||||
@@ -667,7 +667,7 @@ class AgentBackgroundOutputTest(unittest.IsolatedAsyncioTestCase):
|
||||
),
|
||||
),
|
||||
patch(
|
||||
"app.agent.orchestrator.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
"app.agent.tools.factory.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
return_value=[],
|
||||
),
|
||||
patch(
|
||||
@@ -718,7 +718,7 @@ class AgentBackgroundOutputTest(unittest.IsolatedAsyncioTestCase):
|
||||
patch("app.agent.orchestrator.prompt_manager.get_agent_prompt", return_value="PROMPT"),
|
||||
patch("app.agent.orchestrator.create_subagent_middlewares", return_value=([], [])),
|
||||
patch(
|
||||
"app.agent.orchestrator.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
"app.agent.tools.factory.MoviePilotToolFactory.get_tool_selector_always_include_names",
|
||||
return_value=[],
|
||||
),
|
||||
patch(
|
||||
@@ -766,23 +766,24 @@ class AgentBackgroundOutputTest(unittest.IsolatedAsyncioTestCase):
|
||||
|
||||
async def test_run_background_prompt_forces_disable_message_tools_when_capture_only(self):
|
||||
captured = {}
|
||||
manager = AgentManager()
|
||||
|
||||
async def fake_process(self, message, images=None, files=None):
|
||||
captured["message"] = message
|
||||
captured["reply_mode"] = self.reply_mode
|
||||
captured["allow_message_tools"] = self.allow_message_tools
|
||||
captured["user_id"] = self.user_id
|
||||
async def fake_process(task):
|
||||
captured["message"] = task.message
|
||||
captured["reply_mode"] = task.reply_mode
|
||||
captured["allow_message_tools"] = task.allow_message_tools
|
||||
captured["user_id"] = task.user_id
|
||||
|
||||
with (
|
||||
patch.object(MoviePilotAgent, "process", new=fake_process),
|
||||
patch.object(MoviePilotAgent, "cleanup", new=AsyncMock()),
|
||||
patch.object(memory_manager, "clear_memory"),
|
||||
):
|
||||
await AgentManager.run_background_prompt(
|
||||
manager._process_message_internal = fake_process
|
||||
await manager.initialize()
|
||||
try:
|
||||
await manager.run_background_prompt(
|
||||
message="background task",
|
||||
reply_mode=ReplyMode.CAPTURE_ONLY,
|
||||
allow_message_tools=True,
|
||||
)
|
||||
finally:
|
||||
await manager.close()
|
||||
|
||||
self.assertEqual("background task", captured["message"])
|
||||
self.assertEqual(ReplyMode.CAPTURE_ONLY, captured["reply_mode"])
|
||||
|
||||
Reference in New Issue
Block a user