diff --git a/app/agent/tools/impl/query_sites.py b/app/agent/tools/impl/query_sites.py index 028f75b1..c8b7c8c2 100644 --- a/app/agent/tools/impl/query_sites.py +++ b/app/agent/tools/impl/query_sites.py @@ -12,11 +12,18 @@ from app.log import logger class QuerySitesInput(BaseModel): """查询站点工具的输入参数模型""" - explanation: str = Field(..., description="Clear explanation of why this tool is being used in the current context") - status: Optional[str] = Field("all", - description="Filter sites by status: 'active' for enabled sites, 'inactive' for disabled sites, 'all' for all sites") - name: Optional[str] = Field(None, - description="Filter sites by name (partial match, optional)") + + explanation: str = Field( + ..., + description="Clear explanation of why this tool is being used in the current context", + ) + status: Optional[str] = Field( + "all", + description="Filter sites by status: 'active' for enabled sites, 'inactive' for disabled sites, 'all' for all sites", + ) + name: Optional[str] = Field( + None, description="Filter sites by name (partial match, optional)" + ) class QuerySitesTool(MoviePilotTool): @@ -28,19 +35,21 @@ class QuerySitesTool(MoviePilotTool): """根据查询参数生成友好的提示消息""" status = kwargs.get("status", "all") name = kwargs.get("name") - + parts = ["正在查询站点"] - + if status != "all": status_map = {"active": "已启用", "inactive": "已禁用"} parts.append(f"状态: {status_map.get(status, status)}") - + if name: parts.append(f"名称: {name}") - + return " | ".join(parts) if len(parts) > 1 else parts[0] - async def run(self, status: Optional[str] = "all", name: Optional[str] = None, **kwargs) -> str: + async def run( + self, status: Optional[str] = "all", name: Optional[str] = None, **kwargs + ) -> str: logger.info(f"执行工具: {self.name}, 参数: status={status}, name={name}") try: site_oper = SiteOper() @@ -68,9 +77,10 @@ class QuerySitesTool(MoviePilotTool): "url": s.url, "pri": s.pri, "is_active": s.is_active, + "cookie": s.cookie, "downloader": s.downloader, "proxy": s.proxy, - "timeout": s.timeout + "timeout": s.timeout, } simplified_sites.append(simplified) result_json = json.dumps(simplified_sites, ensure_ascii=False, indent=2) @@ -79,4 +89,3 @@ class QuerySitesTool(MoviePilotTool): except Exception as e: logger.error(f"查询站点失败: {e}", exc_info=True) return f"查询站点时发生错误: {str(e)}" -