# 核心功能 **本文档引用的文件** - [backend/app/main.py](file://backend/app/main.py) - [backend/app/api/auth.py](file://backend/app/api/auth.py) - [backend/app/api/queries.py](file://backend/app/api/queries.py) - [backend/app/api/citations.py](file://backend/app/api/citations.py) - [backend/app/api/reports.py](file://backend/app/api/reports.py) - [backend/app/api/lifecycle.py](file://backend/app/api/lifecycle.py) - [backend/app/api/knowledge.py](file://backend/app/api/knowledge.py) - [backend/app/services/auth.py](file://backend/app/services/auth.py) - [backend/app/services/query.py](file://backend/app/services/query.py) - [backend/app/services/citation.py](file://backend/app/services/citation.py) - [backend/app/services/analytics/tracker.py](file://backend/app/services/analytics/tracker.py) - [backend/app/services/analytics/insights.py](file://backend/app/services/analytics/insights.py) - [backend/app/services/knowledge/rag_service.py](file://backend/app/services/knowledge/rag_service.py) - [backend/app/agent_framework/agents/__init__.py](file://backend/app/agent_framework/agents/__init__.py) - [backend/app/agent_framework/agents/citation_detector.py](file://backend/app/agent_framework/agents/citation_detector.py) - [backend/app/agent_framework/agents/content_generator_agent.py](file://backend/app/agent_framework/agents/content_generator_agent.py) - [backend/app/agent_framework/agents/deai_agent.py](file://backend/app/agent_framework/agents/deai_agent.py) - [backend/app/agent_framework/agents/geo_optimizer_agent.py](file://backend/app/agent_framework/agents/geo_optimizer_agent.py) - [backend/app/agent_framework/pipeline/engine.py](file://backend/app/agent_framework/pipeline/engine.py) - [backend/app/agent_framework/pipeline/loader.py](file://backend/app/agent_framework/pipeline/loader.py) - [backend/app/agent_framework/dispatcher.py](file://backend/app/agent_framework/dispatcher.py) - [backend/app/models/query.py](file://backend/app/models/query.py) - [backend/app/models/citation_record.py](file://backend/app/models/citation_record.py) - [backend/app/models/lifecycle.py](file://backend/app/models/lifecycle.py) - [backend/app/models/knowledge.py](file://backend/app/models/knowledge.py) - [backend/alembic/versions/d4f6g8h0ab23_add_geo_lifecycle_tables.py](file://backend/alembic/versions/d4f6g8h0ab23_add_geo_lifecycle_tables.py) - [backend/workers/scheduler.py](file://backend/workers/scheduler.py) - [backend/workers/citation_engine.py](file://backend/workers/citation_engine.py) - [backend/workers/platforms/base.py](file://backend/workers/platforms/base.py) - [frontend/app/(dashboard)/dashboard/page.tsx](file://frontend/app/(dashboard)/dashboard/page.tsx) - [frontend/app/(dashboard)/dashboard/admin/page.tsx](file://frontend/app/(dashboard)/dashboard/admin/page.tsx) - [frontend/app/(dashboard)/dashboard/agents/page.tsx](file://frontend/app/(dashboard)/dashboard/agents/page.tsx) - [frontend/app/(dashboard)/dashboard/analytics/page.tsx](file://frontend/app/(dashboard)/dashboard/analytics/page.tsx) - [frontend/app/(dashboard)/dashboard/lifecycle/page.tsx](file://frontend/app/(dashboard)/dashboard/lifecycle/page.tsx) - [frontend/app/(dashboard)/dashboard/knowledge/page.tsx](file://frontend/app/(dashboard)/dashboard/knowledge/page.tsx) - [frontend/components/charts/trend-chart.tsx](file://frontend/components/charts/trend-chart.tsx) - [frontend/lib/api/lifecycle.ts](file://frontend/lib/api/lifecycle.ts) ## 更新摘要 **变更内容** - 新增AI代理框架模块,包含引用检测、内容生成、去AI化、GEO优化等智能代理 - 新增业务生命周期管理系统,支持品牌项目全生命周期管理 - 新增分析监控系统,提供发布追踪、效果分析和智能洞察生成功能 - 新增知识库服务模块,支持RAG检索、文档管理和知识库CRUD操作 - 扩展前端界面,新增代理管理、分析监控、生命周期管理和知识库管理页面 ## 目录 1. [简介](#简介) 2. [项目结构](#项目结构) 3. [核心组件](#核心组件) 4. [架构总览](#架构总览) 5. [详细组件分析](#详细组件分析) 6. [依赖分析](#依赖分析) 7. [性能考虑](#性能考虑) 8. [故障排查指南](#故障排查指南) 9. [结论](#结论) 10. [附录](#附录) ## 简介 本文件为 GEO 平台的核心功能概览,聚焦以下关键能力: - 用户认证与权限管理:基于邮箱/密码注册登录、JWT 访问令牌签发与校验、会话保护接口。 - 智能查询任务管理:查询词创建、更新、删除、分页查询;按日/周/月频率自动调度;手动触发即时查询。 - 品牌引用检测引擎:多阶段匹配(精确/别名/模糊)、置信度评分、竞争品牌识别、上下文片段抽取。 - 多AI平台数据集成:抽象适配器模式对接不同大模型平台,统一查询与结果处理。 - AI代理框架:基于Pipeline的多代理协作系统,支持引用检测、内容生成、去AI化、GEO优化等智能任务编排。 - 业务生命周期管理:品牌项目全生命周期管理,包含5个阶段的项目推进和状态跟踪。 - 分析监控系统:发布效果追踪、内容表现分析、智能洞察生成和性能监控。 - 知识库服务:RAG检索、文档管理、知识库CRUD操作和搜索日志记录。 - 数据分析与可视化:统计指标(总查询/引用次数、引用率、平均位置)、平台对比、30 天趋势折线图。 - 报告导出:CSV 导出引用记录,便于离线分析与归档。 这些功能围绕"查询—检测—智能代理—生命周期—分析监控—知识库—统计—可视—导出"的完整生态展开,既满足管理员对系统运行与任务调度的掌控,也服务于研究人员对品牌监测与趋势分析的需求。 ## 项目结构 后端采用 FastAPI + SQLAlchemy 异步 ORM,按领域划分 API、服务、模型与工作器;前端使用 Next.js + React,通过自定义 API 客户端与后端交互;数据库为 PostgreSQL。 ```mermaid graph TB subgraph "后端" A["FastAPI 应用
app/main.py"] B["API 层
auth/queries/citations/reports/lifecycle/knowledge"] C["服务层
auth/query/citation/analytics/knowledge"] D["模型层
Query/CitationRecord/Lifecycle/Knowledge"] E["工作器
Scheduler/CitationEngine/Platforms"] F["AI代理框架
Agents/Pipeline/Dispatcher"] G["分析监控
Tracker/Insights"] H["知识库服务
RAGService/Chunker/Embedder"] end subgraph "前端" I["仪表盘页面
dashboard/page.tsx"] J["管理员页面
admin/page.tsx"] K["代理管理页面
agents/page.tsx"] L["分析监控页面
analytics/page.tsx"] M["生命周期页面
lifecycle/page.tsx"] N["知识库页面
knowledge/page.tsx"] O["趋势图表组件
trend-chart.tsx"] end A --> B B --> C C --> D C --> E C --> F C --> G C --> H I --> O I --> B J --> B K --> F L --> G M --> D N --> H ``` **图表来源** - [backend/app/main.py:1-48](file://backend/app/main.py#L1-L48) - [backend/app/api/auth.py:1-43](file://backend/app/api/auth.py#L1-L43) - [backend/app/api/queries.py:1-86](file://backend/app/api/queries.py#L1-L86) - [backend/app/api/citations.py:1-78](file://backend/app/api/citations.py#L1-L78) - [backend/app/api/reports.py:1-47](file://backend/app/api/reports.py#L1-L47) - [backend/app/api/lifecycle.py:1-297](file://backend/app/api/lifecycle.py#L1-L297) - [backend/app/api/knowledge.py:1-502](file://backend/app/api/knowledge.py#L1-L502) - [backend/app/services/auth.py:1-69](file://backend/app/services/auth.py#L1-L69) - [backend/app/services/query.py:1-130](file://backend/app/services/query.py#L1-L130) - [backend/app/services/citation.py:1-269](file://backend/app/services/citation.py#L1-L269) - [backend/app/services/analytics/tracker.py:1-230](file://backend/app/services/analytics/tracker.py#L1-L230) - [backend/app/services/analytics/insights.py:1-313](file://backend/app/services/analytics/insights.py#L1-L313) - [backend/app/services/knowledge/rag_service.py:1-43](file://backend/app/services/knowledge/rag_service.py#L1-L43) - [backend/app/agent_framework/agents/__init__.py:1-14](file://backend/app/agent_framework/agents/__init__.py#L1-L14) - [backend/app/agent_framework/pipeline/engine.py:1-536](file://backend/app/agent_framework/pipeline/engine.py#L1-L536) - [backend/app/agent_framework/dispatcher.py:1-367](file://backend/app/agent_framework/dispatcher.py#L1-L367) - [backend/app/models/query.py:1-55](file://backend/app/models/query.py#L1-L55) - [backend/app/models/citation_record.py:1-42](file://backend/app/models/citation_record.py#L1-L42) - [backend/app/models/lifecycle.py:1-91](file://backend/app/models/lifecycle.py#L1-L91) - [backend/app/models/knowledge.py:1-43](file://backend/app/models/knowledge.py#L1-L43) - [backend/workers/scheduler.py:1-95](file://backend/workers/scheduler.py#L1-L95) - [backend/workers/citation_engine.py:1-309](file://backend/workers/citation_engine.py#L1-L309) - [frontend/app/(dashboard)/dashboard/page.tsx:1-156](file://frontend/app/(dashboard)/dashboard/page.tsx#L1-L156) - [frontend/app/(dashboard)/dashboard/admin/page.tsx:1-200](file://frontend/app/(dashboard)/dashboard/admin/page.tsx#L1-L200) - [frontend/app/(dashboard)/dashboard/agents/page.tsx:1-200](file://frontend/app/(dashboard)/dashboard/agents/page.tsx#L1-L200) - [frontend/app/(dashboard)/dashboard/analytics/page.tsx:1-200](file://frontend/app/(dashboard)/dashboard/analytics/page.tsx#L1-L200) - [frontend/app/(dashboard)/dashboard/lifecycle/page.tsx:1-200](file://frontend/app/(dashboard)/dashboard/lifecycle/page.tsx#L1-L200) - [frontend/app/(dashboard)/dashboard/knowledge/page.tsx:1-200](file://frontend/app/(dashboard)/dashboard/knowledge/page.tsx#L1-L200) - [frontend/components/charts/trend-chart.tsx:1-60](file://frontend/components/charts/trend-chart.tsx#L1-L60) **章节来源** - [backend/app/main.py:1-48](file://backend/app/main.py#L1-L48) ## 核心组件 - 认证与权限 - 注册/登录:邮箱唯一性校验、密码哈希、JWT 签发;当前用户信息读取。 - 权限边界:所有业务接口均通过当前用户上下文进行资源归属校验(查询、引用、统计、导出、生命周期、知识库)。 - 查询任务管理 - 查询 CRUD:分页列表、创建、读取、更新、删除;创建时校验用户配额上限;更新时可重算下次执行时间。 - 自动调度:每小时扫描到期查询,自动触发引用检测;手动触发即时查询。 - 引用检测引擎 - 多阶段匹配:精确命中 → 别名命中 → 模糊相似度阈值;返回是否引用、置信度、位置、上下文。 - 竞争品牌:基于预设行业品牌库识别竞品。 - 结果持久化:生成引用记录,包含平台、是否引用、位置、文本、竞品集合、原始响应。 - 多 AI 平台集成 - 适配器基类定义统一接口;内置"文心""Kimi"适配器;未来可扩展更多平台。 - AI代理框架 - 代理实现:引用检测代理、内容生成代理、去AI化代理、GEO优化代理。 - Pipeline编排:基于YAML的多阶段任务编排,支持变量解析、依赖管理、条件执行。 - 任务分发:Redis队列驱动的任务分发器,支持任务状态跟踪和重试机制。 - 业务生命周期管理 - 项目管理:品牌基建、内容生产、AI适配优化、权威信号构建、持续运维5个阶段。 - 状态跟踪:项目进度、阶段状态、完成率统计和时间轴事件记录。 - 快速启动:一键创建项目并初始化5个阶段。 - 分析监控系统 - 发布追踪:内容发布记录、效果指标快照和平台分布统计。 - 性能分析:内容表现排行、单篇内容深度分析和历史趋势追踪。 - 智能洞察:基于LLM的自动化洞察生成和优化建议。 - 知识库服务 - RAG检索:文档分块、向量化嵌入和混合检索。 - 文档管理:URL抓取、文本上传和分块预览。 - 知识库CRUD:多租户知识库管理和搜索日志记录。 - 数据分析与可视化 - 统计聚合:总查询/引用数、引用率、平均位置、按平台汇总、30 天趋势。 - 前端展示:仪表盘卡片与趋势折线图组件。 - 报告导出 - 支持 CSV 下载,包含日期、平台、是否引用、引用位置、引用文本、竞品品牌等字段。 **章节来源** - [backend/app/api/auth.py:1-43](file://backend/app/api/auth.py#L1-L43) - [backend/app/services/auth.py:1-69](file://backend/app/services/auth.py#L1-L69) - [backend/app/api/queries.py:1-86](file://backend/app/api/queries.py#L1-L86) - [backend/app/services/query.py:1-130](file://backend/app/services/query.py#L1-L130) - [backend/app/api/citations.py:1-78](file://backend/app/api/citations.py#L1-L78) - [backend/app/services/citation.py:1-269](file://backend/app/services/citation.py#L1-L269) - [backend/app/workers/citation_engine.py:148-309](file://backend/app/workers/citation_engine.py#L148-L309) - [backend/app/workers/platforms/base.py:1-18](file://backend/app/workers/platforms/base.py#L1-L18) - [backend/app/agent_framework/agents/__init__.py:1-14](file://backend/app/agent_framework/agents/__init__.py#L1-L14) - [backend/app/agent_framework/pipeline/engine.py:1-536](file://backend/app/agent_framework/pipeline/engine.py#L1-L536) - [backend/app/agent_framework/dispatcher.py:1-367](file://backend/app/agent_framework/dispatcher.py#L1-L367) - [backend/app/api/lifecycle.py:1-297](file://backend/app/api/lifecycle.py#L1-L297) - [backend/app/models/lifecycle.py:1-91](file://backend/app/models/lifecycle.py#L1-L91) - [backend/app/services/analytics/tracker.py:1-230](file://backend/app/services/analytics/tracker.py#L1-L230) - [backend/app/services/analytics/insights.py:1-313](file://backend/app/services/analytics/insights.py#L1-L313) - [backend/app/api/knowledge.py:1-502](file://backend/app/api/knowledge.py#L1-L502) - [backend/app/services/knowledge/rag_service.py:1-43](file://backend/app/services/knowledge/rag_service.py#L1-L43) - [frontend/app/(dashboard)/dashboard/page.tsx:1-156](file://frontend/app/(dashboard)/dashboard/page.tsx#L1-L156) - [frontend/components/charts/trend-chart.tsx:1-60](file://frontend/components/charts/trend-chart.tsx#L1-L60) - [backend/app/api/reports.py:1-47](file://backend/app/api/reports.py#L1-L47) ## 架构总览 下图展示从用户请求到数据落库与可视化的整体流程,以及定时调度、智能代理编排、生命周期管理和分析监控的协同机制。 ```mermaid sequenceDiagram participant U as "用户" participant FE as "前端" participant API as "后端API" participant S as "服务层" participant DB as "数据库" participant W as "工作器" participant CE as "引用检测引擎" participant P as "AI平台适配器" participant AG as "AI代理框架" participant PL as "Pipeline引擎" U->>FE : 登录/访问各功能页面 FE->>API : 获取统计/查询/引用/导出/生命周期/知识库 API->>S : 参数校验与业务处理 S->>DB : 读写查询/引用/任务/项目/知识库 Note over S,DB : 权限校验:仅允许访问本人资源 API->>W : 触发/查询任务 W->>CE : 执行查询 CE->>P : 平台查询 P-->>CE : 原始响应 CE->>S : 写入引用记录 S->>DB : 持久化 S->>AG : 分发代理任务 AG->>PL : 执行Pipeline编排 PL->>AG : 代理执行结果 S->>DB : 更新代理状态 DB-->>S : 成功 S-->>API : 结果 API-->>FE : 响应数据/流式下载 ``` **图表来源** - [backend/app/main.py:13-21](file://backend/app/main.py#L13-L21) - [backend/app/api/citations.py:59-77](file://backend/app/api/citations.py#L59-L77) - [backend/app/workers/scheduler.py:51-84](file://backend/workers/scheduler.py#L51-L84) - [backend/app/workers/citation_engine.py:159-234](file://backend/workers/citation_engine.py#L159-L234) - [backend/app/services/citation.py:204-234](file://backend/app/services/citation.py#L204-L234) - [backend/app/agent_framework/dispatcher.py:54-117](file://backend/app/agent_framework/dispatcher.py#L54-L117) - [backend/app/agent_framework/pipeline/engine.py:51-176](file://backend/app/agent_framework/pipeline/engine.py#L51-L176) ## 详细组件分析 ### 用户认证与权限管理 - 功能要点 - 注册:邮箱唯一性检查、密码加密存储、返回用户信息。 - 登录:邮箱+密码验证、签发 JWT(含过期时间),返回用户与令牌。 - 当前用户:受保护路由读取当前用户上下文。 - 关键价值 - 保障数据隔离:所有业务接口均以当前用户为准进行资源归属校验。 - 易于扩展:JWT 可用于跨域与第三方集成。 - 典型流程 - 注册 → 登录 → 携带令牌访问受保护接口 → 获取/创建查询 → 触发查询 → 查看统计/导出报告。 ```mermaid sequenceDiagram participant U as "用户" participant API as "认证API" participant S as "认证服务" participant DB as "数据库" U->>API : POST /api/v1/auth/register API->>S : 注册逻辑 S->>DB : 检查邮箱/保存用户 DB-->>S : 成功 S-->>API : 用户对象 U->>API : POST /api/v1/auth/login API->>S : 验证邮箱/密码 S->>DB : 查询用户 DB-->>S : 用户信息 S-->>API : JWT令牌 API-->>U : {access_token,user} ``` **图表来源** - [backend/app/api/auth.py:13-37](file://backend/app/api/auth.py#L13-L37) - [backend/app/services/auth.py:37-69](file://backend/app/services/auth.py#L37-L69) **章节来源** - [backend/app/api/auth.py:1-43](file://backend/app/api/auth.py#L1-L43) - [backend/app/services/auth.py:1-69](file://backend/app/services/auth.py#L1-L69) ### 智能查询任务管理 - 功能要点 - 查询 CRUD:分页列表、创建(校验配额与频率)、读取、更新(频率变更时重算下次执行时间)、删除。 - 自动调度:每小时扫描到期查询,调用引用检测引擎执行;更新查询最近与下次执行时间。 - 即时查询:手动触发,为每个配置平台创建任务并入队。 - 核心价值 - 减少人工干预:按计划自动抓取与检测,提升研究效率。 - 灵活控制:支持日/周/月频率与手动触发,兼顾实时性与成本。 - 典型场景 - 研究员创建查询(关键词、目标品牌、平台、频率),系统按时自动执行;也可随时"立即执行"。 ```mermaid flowchart TD Start(["创建查询"]) --> CheckLimit["检查用户配额"] CheckLimit --> |未超限| CalcNext["按频率计算下次执行时间"] CheckLimit --> |超限| Deny["拒绝创建"] CalcNext --> SaveQ["保存查询"] SaveQ --> Schedule["等待调度器扫描"] Schedule --> Due{"到期?"} Due --> |否| Wait["继续等待"] Due --> |是| Trigger["触发引用检测"] Trigger --> UpdateTime["更新最近/下次执行时间"] UpdateTime --> Done(["完成一轮周期"]) ``` **图表来源** - [backend/app/services/query.py:45-81](file://backend/app/services/query.py#L45-L81) - [backend/app/workers/scheduler.py:51-84](file://backend/workers/scheduler.py#L51-L84) - [backend/app/workers/citation_engine.py:291-300](file://backend/app/workers/citation_engine.py#L291-L300) **章节来源** - [backend/app/api/queries.py:1-86](file://backend/app/api/queries.py#L1-L86) - [backend/app/services/query.py:1-130](file://backend/app/services/query.py#L1-L130) - [backend/app/workers/scheduler.py:1-95](file://backend/workers/scheduler.py#L1-L95) ### 品牌引用检测引擎 - 功能要点 - 品牌匹配器:精确命中(置信度1.0)→ 别名命中(置信度0.9)→ 模糊相似度(阈值0.4);返回是否引用、置信度、位置、上下文。 - 竞争品牌检测:基于预设行业品牌库识别其他品牌。 - 结果持久化:记录平台、是否引用、位置、文本、竞品、原始响应。 - 核心价值 - 置信度评分:帮助判断引用可靠性;模糊匹配提供兜底发现。 - 上下文定位:快速定位品牌在原文中的首次出现段落,便于人工复核。 - 典型场景 - 文本中提及"XX品牌",匹配器判定为"别名命中",置信度0.9,并返回首次出现段落片段。 ```mermaid classDiagram class CitationEngine { +execute_query(query, db) CitationRecord[] +execute_single_platform(keyword, platform, target_brand, aliases) dict } class BrandMatcher { +match(text) dict } class CompetitorDetector { +detect(text, target_brand) str[] } class BasePlatformAdapter { <> +query(keyword) str } CitationEngine --> BrandMatcher : "使用" CitationEngine --> CompetitorDetector : "使用" CitationEngine --> BasePlatformAdapter : "委托查询" ``` **图表来源** - [backend/app/workers/citation_engine.py:148-309](file://backend/app/workers/citation_engine.py#L148-L309) - [backend/app/workers/platforms/base.py:1-18](file://backend/app/workers/platforms/base.py#L1-L18) **章节来源** - [backend/app/workers/citation_engine.py:19-120](file://backend/app/workers/citation_engine.py#L19-L120) - [backend/app/workers/citation_engine.py:122-146](file://backend/app/workers/citation_engine.py#L122-L146) - [backend/app/workers/citation_engine.py:148-309](file://backend/app/workers/citation_engine.py#L148-L309) ### 多 AI 平台数据集成 - 功能要点 - 适配器基类定义统一接口(平台名、URL、查询方法)。 - 内置"文心""Kimi"适配器;引擎按查询配置的平台列表逐一执行。 - 核心价值 - 解耦平台差异:统一调用入口,便于扩展更多平台。 - 可观测性:每个平台独立任务状态(pending/running/success/failed)。 - 典型场景 - 查询配置包含"wenxin,kimi",引擎为两者分别创建任务并行执行,最终汇总结果。 ```mermaid sequenceDiagram participant CE as "CitationEngine" participant Q as "Query" participant T as "QueryTask" participant A as "平台适配器" CE->>Q : 读取平台列表 loop 遍历平台 CE->>T : 获取/创建任务 CE->>A : 调用 query(keyword) A-->>CE : 返回原始响应 CE->>CE : 品牌匹配/竞品检测 CE->>T : 更新任务状态 end ``` **图表来源** - [backend/app/workers/citation_engine.py:159-234](file://backend/app/workers/citation_engine.py#L159-L234) - [backend/app/workers/platforms/base.py:10-17](file://backend/app/workers/platforms/base.py#L10-L17) **章节来源** - [backend/app/workers/platforms/base.py:1-18](file://backend/app/workers/platforms/base.py#L1-L18) - [backend/app/workers/citation_engine.py:151-157](file://backend/app/workers/citation_engine.py#L151-L157) ### AI代理框架 - 功能要点 - 代理实现:CitationDetectorAgent、ContentGeneratorAgent、DeAIAgent、GEOOptimizerAgent。 - Pipeline编排:支持变量解析、依赖管理、条件执行、重试机制。 - 任务分发:Redis队列驱动,支持任务状态跟踪、进度上报和回调机制。 - 核心价值 - 智能化编排:将复杂的多步骤任务分解为可组合的代理单元。 - 可扩展性:新的代理类型可通过简单接口接入框架。 - 可观测性:完整的任务生命周期跟踪和性能监控。 - 典型场景 - 内容生产Pipeline:主题选择 → 文章生成 → 去AI化 → GEO优化 → 发布。 ```mermaid classDiagram class BaseAgent { <> +execute(task) TaskResult +report_progress(task_id, progress, message) +get_capabilities() AgentCapability } class CitationDetectorAgent { +execute_full_detect(task) dict +execute_single_detect(task) dict } class ContentGeneratorAgent { +_generate_topics(task) dict +_generate_article(task) dict } class DeAIAgent { +_process(task) dict } class GEOOptimizerAgent { +_optimize(task) dict } class PipelineEngine { +execute(pipeline, context) PipelineResult +_execute_stage(stage, ctx, stages_ctx) StageResult } class TaskDispatcher { +dispatch(task, org_id, user_id) str +get_task_status(task_id) dict +handle_result(result) } BaseAgent <|-- CitationDetectorAgent BaseAgent <|-- ContentGeneratorAgent BaseAgent <|-- DeAIAgent BaseAgent <|-- GEOOptimizerAgent PipelineEngine --> BaseAgent : "编排执行" TaskDispatcher --> BaseAgent : "任务分发" ``` **图表来源** - [backend/app/agent_framework/agents/citation_detector.py:24-218](file://backend/app/agent_framework/agents/citation_detector.py#L24-L218) - [backend/app/agent_framework/agents/content_generator_agent.py:23-299](file://backend/app/agent_framework/agents/content_generator_agent.py#L23-L299) - [backend/app/agent_framework/agents/deai_agent.py:21-156](file://backend/app/agent_framework/agents/deai_agent.py#L21-L156) - [backend/app/agent_framework/agents/geo_optimizer_agent.py:23-198](file://backend/app/agent_framework/agents/geo_optimizer_agent.py#L23-L198) - [backend/app/agent_framework/pipeline/engine.py:31-536](file://backend/app/agent_framework/pipeline/engine.py#L31-L536) - [backend/app/agent_framework/dispatcher.py:32-367](file://backend/app/agent_framework/dispatcher.py#L32-L367) **章节来源** - [backend/app/agent_framework/agents/__init__.py:1-14](file://backend/app/agent_framework/agents/__init__.py#L1-L14) - [backend/app/agent_framework/agents/citation_detector.py:1-218](file://backend/app/agent_framework/agents/citation_detector.py#L1-L218) - [backend/app/agent_framework/agents/content_generator_agent.py:1-299](file://backend/app/agent_framework/agents/content_generator_agent.py#L1-L299) - [backend/app/agent_framework/agents/deai_agent.py:1-156](file://backend/app/agent_framework/agents/deai_agent.py#L1-L156) - [backend/app/agent_framework/agents/geo_optimizer_agent.py:1-198](file://backend/app/agent_framework/agents/geo_optimizer_agent.py#L1-L198) - [backend/app/agent_framework/pipeline/engine.py:1-536](file://backend/app/agent_framework/pipeline/engine.py#L1-L536) - [backend/app/agent_framework/dispatcher.py:1-367](file://backend/app/agent_framework/dispatcher.py#L1-L367) ### 业务生命周期管理 - 功能要点 - 项目创建:快速启动功能,自动生成5个阶段的项目。 - 阶段管理:品牌基建、内容生产、AI适配优化、权威信号构建、持续运维。 - 状态跟踪:项目进度、阶段状态、完成率统计和时间轴事件记录。 - 统计分析:组织级别的项目统计和阶段分布。 - 核心价值 - 全生命周期视角:从品牌建设到持续运营的完整流程管理。 - 可视化跟踪:阶段进度卡片和时间轴展示项目进展。 - 数据驱动决策:基于统计数据的项目管理和资源配置。 - 典型场景 - 管理员创建品牌项目 → 各阶段负责人推进 → 实时查看进度 → 生成项目报告。 ```mermaid sequenceDiagram participant Admin as "管理员" participant API as "生命周期API" participant S as "生命周期服务" participant DB as "数据库" Admin->>API : POST /api/v1/lifecycle/projects/quick-start API->>S : 创建项目和5个阶段 S->>DB : 插入LifecycleProject和ProjectStage DB-->>S : 成功 S-->>API : 返回项目详情 API-->>Admin : 项目创建成功 Admin->>API : GET /api/v1/lifecycle/projects/{id}/timeline API->>S : 获取时间轴事件 S->>DB : 查询项目和阶段 DB-->>S : 事件列表 S-->>API : 时间轴数据 API-->>Admin : 渲染时间轴 ``` **图表来源** - [backend/app/api/lifecycle.py:190-230](file://backend/app/api/lifecycle.py#L190-L230) - [backend/app/api/lifecycle.py:138-187](file://backend/app/api/lifecycle.py#L138-L187) - [backend/app/models/lifecycle.py:12-91](file://backend/app/models/lifecycle.py#L12-L91) **章节来源** - [backend/app/api/lifecycle.py:1-297](file://backend/app/api/lifecycle.py#L1-L297) - [backend/app/models/lifecycle.py:1-91](file://backend/app/models/lifecycle.py#L1-L91) - [frontend/lib/api/lifecycle.ts:53-95](file://frontend/lib/api/lifecycle.ts#L53-L95) ### 分析监控系统 - 功能要点 - 发布追踪:记录内容发布事件、更新效果指标和生成快照。 - 性能分析:内容表现排行、单篇内容深度分析和历史趋势。 - 智能洞察:基于LLM的自动化洞察生成,包含趋势、异常、机会和建议。 - 统计概览:组织级别的发布统计、平台分布和互动率分析。 - 核心价值 - 数据驱动优化:基于真实效果数据的自动化洞察和建议。 - 全面监控:从发布到效果的全流程数据追踪。 - 智能辅助:AI驱动的分析和优化建议,提升内容质量。 - 典型场景 - 内容发布后自动记录效果 → 定期生成洞察报告 → 基于建议优化内容策略。 ```mermaid sequenceDiagram participant CMS as "内容管理系统" participant API as "分析API" participant S as "分析服务" participant DB as "数据库" CMS->>API : POST /api/v1/analytics/publish API->>S : 记录发布事件 S->>DB : 插入PublishRecord DB-->>S : 成功 S->>DB : 插入ContentMetrics快照 CMS->>API : GET /api/v1/analytics/insights API->>S : 生成洞察 S->>S : 调用LLM分析数据 S->>DB : 插入OptimizationInsight DB-->>S : 成功 S-->>API : 返回洞察结果 API-->>CMS : 洞察报告 ``` **图表来源** - [backend/app/services/analytics/tracker.py:16-51](file://backend/app/services/analytics/tracker.py#L16-L51) - [backend/app/services/analytics/insights.py:40-103](file://backend/app/services/analytics/insights.py#L40-L103) - [backend/app/services/analytics/tracker.py:53-128](file://backend/app/services/analytics/tracker.py#L53-L128) **章节来源** - [backend/app/services/analytics/tracker.py:1-230](file://backend/app/services/analytics/tracker.py#L1-L230) - [backend/app/services/analytics/insights.py:1-313](file://backend/app/services/analytics/insights.py#L1-L313) ### 知识库服务 - 功能要点 - RAG检索:文档分块、向量化嵌入和混合检索,支持多知识库查询。 - 文档管理:支持URL抓取和文本上传,自动计算内容哈希和分块数量。 - 知识库CRUD:多租户知识库管理,支持文档级联删除和统计更新。 - 搜索日志:记录搜索查询、结果数量和延迟时间。 - 核心价值 - 智能检索:基于向量和关键词的混合检索,提升相关性。 - 知识管理:结构化的知识库管理和版本控制。 - 效率提升:自动化的文档处理和检索,减少人工维护成本。 - 典型场景 - 研究员上传行业报告 → 系统自动分块嵌入 → 搜索相关知识 → 生成内容。 ```mermaid sequenceDiagram participant User as "用户" participant API as "知识库API" participant S as "RAG服务" participant DB as "数据库" User->>API : POST /api/v1/knowledge/bases/{kb_id}/documents API->>S : 上传文档 S->>DB : 插入KnowledgeDocument S->>S : 分块 → 向量化 → 存储 S->>DB : 插入KnowledgeChunk DB-->>S : 成功 S-->>API : 返回文档详情 API-->>User : 上传完成 User->>API : POST /api/v1/knowledge/search API->>S : 执行RAG检索 S->>DB : 查询向量相似度 DB-->>S : 相关文档 S-->>API : 返回检索结果 API-->>User : 检索结果 ``` **图表来源** - [backend/app/api/knowledge.py:217-293](file://backend/app/api/knowledge.py#L217-L293) - [backend/app/api/knowledge.py:424-501](file://backend/app/api/knowledge.py#L424-L501) - [backend/app/services/knowledge/rag_service.py:33-43](file://backend/app/services/knowledge/rag_service.py#L33-L43) **章节来源** - [backend/app/api/knowledge.py:1-502](file://backend/app/api/knowledge.py#L1-L502) - [backend/app/services/knowledge/rag_service.py:1-43](file://backend/app/services/knowledge/rag_service.py#L1-L43) - [backend/app/models/knowledge.py:1-43](file://backend/app/models/knowledge.py#L1-L43) ### 数据分析与可视化 - 功能要点 - 统计接口:总查询/引用数、引用率、平均位置、按平台汇总、30 天趋势(按自然周聚合)。 - 前端仪表盘:卡片展示核心指标;趋势折线图展示过去 30 天每周引用次数。 - 核心价值 - 快速洞察:总览指标帮助评估监测效果与变化趋势。 - 易用性:图表直观呈现,降低阅读成本。 - 典型场景 - 研究人员查看"过去30天引用趋势",发现某周显著上升,结合上下文进一步分析。 ```mermaid sequenceDiagram participant FE as "前端" participant API as "统计API" participant S as "统计服务" participant DB as "数据库" FE->>API : GET /api/v1/citations/stats API->>S : 统计聚合 S->>DB : 聚合查询/分组统计 DB-->>S : 结果集 S-->>API : {total,rate,avg,by_platform,trend} API-->>FE : 返回JSON FE->>FE : 渲染卡片与趋势图 ``` **图表来源** - [frontend/app/(dashboard)/dashboard/page.tsx:20-155](file://frontend/app/(dashboard)/dashboard/page.tsx#L20-L155) - [frontend/components/charts/trend-chart.tsx:22-59](file://frontend/components/charts/trend-chart.tsx#L22-L59) - [backend/app/api/citations.py:49-56](file://backend/app/api/citations.py#L49-L56) - [backend/app/services/citation.py:76-201](file://backend/app/services/citation.py#L76-L201) **章节来源** - [frontend/app/(dashboard)/dashboard/page.tsx:1-156](file://frontend/app/(dashboard)/dashboard/page.tsx#L1-L156) - [frontend/components/charts/trend-chart.tsx:1-60](file://frontend/components/charts/trend-chart.tsx#L1-L60) - [backend/app/api/citations.py:1-78](file://backend/app/api/citations.py#L1-L78) - [backend/app/services/citation.py:1-269](file://backend/app/services/citation.py#L1-L269) ### 报告导出 - 功能要点 - 支持 CSV 导出指定查询的所有引用记录,包含日期、平台、是否引用、引用位置、引用文本、竞品品牌。 - 流式响应,避免大文件内存压力。 - 核心价值 - 离线分析:便于导入 Excel/BI 工具做深度分析。 - 合规归档:结构化导出满足审计与存档需求。 - 典型场景 - 研究员导出某周的全部引用记录,用于撰写专题报告。 ```mermaid sequenceDiagram participant FE as "前端" participant API as "导出API" participant S as "导出服务" participant DB as "数据库" FE->>API : GET /api/v1/reports/export/csv?query_id=... API->>S : 导出CSV S->>DB : 查询引用记录 DB-->>S : 记录集 S-->>API : CSV字符串 API-->>FE : 流式响应(Attachment) ``` **图表来源** - [backend/app/api/reports.py:16-46](file://backend/app/api/reports.py#L16-L46) - [backend/app/services/citation.py:237-268](file://backend/app/services/citation.py#L237-L268) **章节来源** - [backend/app/api/reports.py:1-47](file://backend/app/api/reports.py#L1-L47) - [backend/app/services/citation.py:237-268](file://backend/app/services/citation.py#L237-L268) ## 依赖分析 - 组件耦合 - API 层仅负责参数解析与鉴权,业务逻辑集中在服务层,降低控制器复杂度。 - 引擎与平台适配器通过抽象接口解耦,便于替换与扩展。 - 调度器与引擎通过 ORM 与任务表协作,避免直接耦合业务数据。 - AI代理框架通过任务分发器与代理实现松耦合。 - 生命周期管理与项目阶段通过外键关联,确保数据一致性。 - 外部依赖 - FastAPI/SQLAlchemy:Web 框架与 ORM。 - APScheduler:异步定时任务调度。 - Recharts:前端图表渲染。 - Redis:异步任务队列和缓存。 - LLM提供商:OpenAI、DeepSeek等大模型服务。 - 潜在风险 - 平台适配器异常需隔离,避免影响其他平台任务。 - 大量并发查询可能带来数据库与外部平台压力,建议限流与重试策略。 - AI代理任务的LLM调用可能存在成本控制和速率限制问题。 ```mermaid graph LR API["API层"] --> SVC["服务层"] SVC --> MODEL["模型层"] SVC --> WORKER["工作器"] SVC --> AGENT["AI代理框架"] SVC --> ANALYTICS["分析监控"] SVC --> KNOWLEDGE["知识库服务"] WORKER --> ADAPTER["平台适配器"] AGENT --> DISPATCHER["任务分发器"] ANALYTICS --> LLM["LLM提供商"] KNOWLEDGE --> VECTOR["向量数据库"] FE["前端"] --> API ``` **图表来源** - [backend/app/main.py:38-42](file://backend/app/main.py#L38-L42) - [backend/app/workers/citation_engine.py:151-157](file://backend/app/workers/citation_engine.py#L151-L157) - [backend/app/agent_framework/dispatcher.py:35-46](file://backend/app/agent_framework/dispatcher.py#L35-L46) **章节来源** - [backend/app/main.py:1-48](file://backend/app/main.py#L1-L48) - [backend/app/workers/citation_engine.py:148-309](file://backend/app/workers/citation_engine.py#L148-L309) - [backend/app/agent_framework/dispatcher.py:1-367](file://backend/app/agent_framework/dispatcher.py#L1-L367) ## 性能考虑 - 数据库 - 查询索引:查询与引用记录表均建立常用过滤字段索引,减少扫描开销。 - 分页与聚合:统计接口使用分组与聚合,避免一次性拉取全量数据。 - 连接池:合理配置数据库连接池大小,避免连接争用。 - 引擎与平台 - 并行执行:同一查询的不同平台可并行处理,缩短总耗时。 - 错误隔离:单平台失败不影响其他平台,保证整体可用性。 - 缓存策略:对频繁查询的结果进行缓存,减少重复计算。 - 前端 - 图表懒加载与响应式容器,提升大屏体验。 - 导出采用流式响应,避免内存峰值。 - 代理状态轮询优化,避免过度请求。 - AI代理框架 - 任务队列:Redis队列支持高并发任务处理。 - 超时控制:为LLM调用设置合理的超时时间。 - 重试机制:失败任务自动重试,支持指数退避。 - 知识库服务 - 向量索引:优化向量相似度查询性能。 - 分块策略:合理设置分块大小,平衡精度与性能。 - 批量处理:批量插入和更新操作,减少数据库往返。 ## 故障排查指南 - 认证问题 - 注册失败:邮箱已被注册;检查重复提交或换用其他邮箱。 - 登录失败:邮箱或密码错误;确认凭据正确与网络可达。 - 查询任务 - 创建被拒:超出配额;联系管理员提升限额或清理历史查询。 - 无法执行:查询状态非"active"或未配置平台;检查状态与平台列表。 - 即时查询无响应:平台适配器异常或网络超时;查看任务状态与错误信息。 - AI代理框架 - 代理任务失败:检查代理配置、LLM提供商连接和任务输入参数。 - Pipeline执行错误:验证YAML语法、依赖关系和变量引用。 - 任务超时:调整超时设置或优化LLM调用参数。 - 生命周期管理 - 项目创建失败:检查组织权限和品牌名称唯一性。 - 阶段推进异常:确认阶段状态和前置条件满足。 - 统计数据缺失:验证项目数据完整性和时间范围设置。 - 分析监控 - 发布记录丢失:检查发布事件记录和数据库连接。 - 洞察生成失败:确认LLM提供商可用性和API密钥配置。 - 性能数据异常:验证指标计算逻辑和数据完整性。 - 知识库服务 - 文档上传失败:检查文件大小限制和内容格式。 - 检索结果不准确:验证向量嵌入质量和检索参数设置。 - 搜索日志缺失:确认日志记录和数据库写入权限。 - 统计与导出 - 统计为空:可能因筛选条件导致无数据;尝试放宽时间范围或移除查询筛选。 - 导出失败:查询不存在或无权限;确认 query_id 与登录态。 - 调度器 - 未触发:检查调度器是否启动、时区设置、下次执行时间是否已到达。 **章节来源** - [backend/app/services/auth.py:37-69](file://backend/app/services/auth.py#L37-L69) - [backend/app/services/query.py:45-81](file://backend/app/services/query.py#L45-L81) - [backend/app/services/citation.py:204-234](file://backend/app/services/citation.py#L204-L234) - [backend/app/api/reports.py:16-46](file://backend/app/api/reports.py#L16-L46) - [backend/app/workers/scheduler.py:30-40](file://backend/app/workers/scheduler.py#L30-L40) - [backend/app/agent_framework/dispatcher.py:118-154](file://backend/app/agent_framework/dispatcher.py#L118-L154) - [backend/app/api/lifecycle.py:190-230](file://backend/app/api/lifecycle.py#L190-L230) - [backend/app/services/analytics/tracker.py:16-51](file://backend/app/services/analytics/tracker.py#L16-L51) - [backend/app/api/knowledge.py:217-293](file://backend/app/api/knowledge.py#L217-L293) ## 结论 GEO 平台以"查询—检测—智能代理—生命周期—分析监控—知识库—统计—可视—导出"为主线,构建了从自动化采集到深度分析的完整链路。通过严格的权限控制、可扩展的平台适配器、稳健的定时调度、智能化的AI代理编排、全生命周期的项目管理和全面的分析监控体系,既能满足管理员对系统运行的掌控,也能为研究人员提供高效、可靠的品牌监测工具。新增的AI代理框架、业务生命周期管理、分析监控系统和知识库服务等核心功能模块,进一步增强了平台的智能化水平和业务服务能力。建议后续在代理任务的成本控制、生命周期管理的自动化程度、分析洞察的准确性以及知识库的规模扩展等方面持续优化,以提升整体用户体验和平台价值。 ## 附录 - 典型使用流程(管理员) - 新建用户/分配配额 → 配置平台密钥 → 监控调度器运行 → 查看任务状态与错误日志 → 调整频率策略 → 管理代理任务 → 监控分析数据 → 维护知识库内容。 - 典型使用流程(研究人员) - 登录 → 创建查询(关键词/目标品牌/平台/频率) → 查看仪表盘趋势 → 导出报告 → 使用知识库检索相关信息 → 生成内容并进行优化 → 发布内容并跟踪效果。 - 典型使用流程(项目经理) - 登录 → 快速启动品牌项目 → 分配各阶段任务 → 跟踪项目进度 → 查看阶段报告 → 管理团队成员 → 生成项目总结。 - 关键接口路径参考 - 认证:POST /api/v1/auth/register, POST /api/v1/auth/login, GET /api/v1/auth/me - 查询:GET/POST/GET/PATCH/DELETE /api/v1/queries - 引用:GET /api/v1/citations, GET /api/v1/citations/stats, POST /api/v1/queries/{query_id}/run-now - 报告:GET /api/v1/reports/export/csv - 生命周期:POST /api/v1/lifecycle/projects/quick-start, GET /api/v1/lifecycle/projects/{id}/timeline - 知识库:POST /api/v1/knowledge/bases, POST /api/v1/knowledge/bases/{kb_id}/documents, POST /api/v1/knowledge/search - 分析监控:POST /api/v1/analytics/publish, GET /api/v1/analytics/insights - AI代理:POST /api/v1/agents/{agent_name}/{task_type}