mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-03-19 19:46:55 +08:00
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
"""MoviePilot工具工厂"""
|
|
|
|
from typing import List
|
|
|
|
from app.agent.tools.impl.add_download import AddDownloadTool
|
|
from app.agent.tools.impl.add_subscribe import AddSubscribeTool
|
|
from app.agent.tools.impl.get_recommendations import GetRecommendationsTool
|
|
from app.agent.tools.impl.query_downloaders import QueryDownloadersTool
|
|
from app.agent.tools.impl.query_downloads import QueryDownloadsTool
|
|
from app.agent.tools.impl.query_media_library import QueryMediaLibraryTool
|
|
from app.agent.tools.impl.query_subscribes import QuerySubscribesTool
|
|
from app.agent.tools.impl.search_media import SearchMediaTool
|
|
from app.agent.tools.impl.search_torrents import SearchTorrentsTool
|
|
from app.agent.tools.impl.send_message import SendMessageTool
|
|
from app.log import logger
|
|
from .base import MoviePilotTool
|
|
|
|
|
|
class MoviePilotToolFactory:
|
|
"""MoviePilot工具工厂"""
|
|
|
|
@staticmethod
|
|
def create_tools(session_id: str, user_id: str,
|
|
channel: str = None, source: str = None, username: str = None) -> List[MoviePilotTool]:
|
|
"""创建MoviePilot工具列表"""
|
|
tools = []
|
|
tool_definitions = [
|
|
SearchMediaTool,
|
|
AddSubscribeTool,
|
|
SearchTorrentsTool,
|
|
AddDownloadTool,
|
|
QuerySubscribesTool,
|
|
QueryDownloadsTool,
|
|
QueryDownloadersTool,
|
|
GetRecommendationsTool,
|
|
QueryMediaLibraryTool,
|
|
SendMessageTool
|
|
]
|
|
for ToolClass in tool_definitions:
|
|
tools.append(ToolClass(
|
|
session_id=session_id,
|
|
user_id=user_id,
|
|
channel=channel,
|
|
source=source,
|
|
username=username
|
|
))
|
|
logger.info(f"成功创建 {len(tools)} 个MoviePilot工具")
|
|
return tools
|