"""Competitor 业务工具 - 将竞品分析服务注册为 FunctionTool""" import logging from typing import Any from agentkit.tools.function_tool import FunctionTool from agentkit.tools.registry import ToolRegistry logger = logging.getLogger(__name__) async def competitor_analyze( brand_id: str, analysis_types: list[str] | None = None, period_days: int = 30, ) -> dict: """执行竞品策略分析""" from app.services.competitor.competitor_analyzer_service import CompetitorAnalyzerService service = CompetitorAnalyzerService() result = await service.analyze_competitor( brand_id=brand_id, analysis_types=analysis_types, period_days=period_days, ) return result async def competitor_gap_analysis( brand_id: str, period_days: int = 30, ) -> dict: """执行竞品差距分析""" from app.services.competitor.competitor_analyzer_service import CompetitorAnalyzerService service = CompetitorAnalyzerService() result = await service.analyze_competitor( brand_id=brand_id, analysis_types=["citation_gap", "platform_coverage", "query_overlap"], period_days=period_days, ) return result def register_competitor_tools(registry: ToolRegistry) -> None: """注册所有竞品分析相关工具""" registry.register( FunctionTool( name="competitor_analyze", description="执行竞品策略分析,对比品牌与竞品的引用数据", func=competitor_analyze, tags=["competitor", "analysis"], ) ) registry.register( FunctionTool( name="competitor_gap_analysis", description="执行竞品差距分析,识别差距领域和机会点", func=competitor_gap_analysis, tags=["competitor", "gap"], ) ) logger.info("Competitor tools registered")