Skip to content

AI 视图增强

Doggy 提供 AI 驱动的视图增强系统,通过意图识别主 Agent + 6 个场景子 Agent,将自然语言需求自动分类并路由到对应的子 Agent 生成视图,支持异步任务执行和实时进度推送。

概述

AI 视图增强系统位于 src/Service/AI/Orchestrator/,基于 LlmRole/LlmProvider 体系构建:

用户需求 (自然语言)
  → IntentAgent (意图识别主 Agent)
    → FormViewSubAgent   表单视图
    → InfoViewSubAgent   信息展示视图
    → ReportViewSubAgent 报表视图
    → LandingViewSubAgent 落地页视图
    → EmailViewSubAgent  商务邮件视图
    → GeneralViewSubAgent 通用视图

架构

意图识别主 Agent

IntentAgent 通过 LLM 判断用户需求的意图类型,并路由到对应子 Agent:

php
// src/Service/AI/Orchestrator/IntentAgent.php
class IntentAgent
{
    public function classify(string $userMessage): string
    {
        // 返回意图类型: form / info / report / landing / email / general
    }
}

场景子 Agent

每个子 Agent 继承 AbstractViewSubAgent,实现 ViewSubAgentInterface

子 Agent意图场景
FormViewSubAgentform表单页面
InfoViewSubAgentinfo信息展示页面
ReportViewSubAgentreport报表/统计页面
LandingViewSubAgentlanding落地页/营销页
EmailViewSubAgentemail商务邮件
GeneralViewSubAgentgeneral通用页面

异步任务

视图增强通过 Symfony Messenger 异步执行,避免阻塞请求:

php
// src/Message/EnhanceViewMessage.php
class EnhanceViewMessage
{
    public function __construct(
        public readonly string $viewId,
        public readonly string $prompt,
    ) {}
}

EnhanceViewMessageHandler 处理后:

  • 创建 AiViewEnhanceTask 记录任务状态
  • 调用子 Agent 生成视图
  • 更新 AiOperationLog 记录操作
  • 通过 Mercure 推送任务进度

实时进度

基于 Mercure SSE 推送 AI 任务进度,前端通过 EventSource 订阅:

javascript
const url = new URL('/.well-known/mercure', window.location.origin);
url.searchParams.append('topic', `/user/${userId}/ai-task`);
const eventSource = new EventSource(url);
eventSource.onmessage = (event) => {
    const data = JSON.parse(event.data);
    // 更新任务进度
};

实体模型

实体说明
AiChatSessionAI 会话(跨请求保持上下文)
AiChatMessage会话消息
AiOperationLogAI 操作日志
AiViewEnhanceTask视图增强任务状态

调用流程

用户创建/编辑视图
  → 输入自然语言需求
  → POST /api/admin/platform/view-ai-task
  → IntentAgent 分类意图
  → 路由到子 Agent
  → 异步执行 (EnhanceViewMessage)
  → 生成视图文件
  → Mercure 推送进度

LLM 配置

支持 DeepSeek 模型的深度思考模式和推理强度调节:

bash
# .env
DEEPSEEK_MODEL_ID=deepseek-reasoner
DEEPSEEK_REASONING_EFFORT=medium  # low / medium / high

视图编辑器集成

AI 增强组件已集成到视图创建页面(_ai_enhance_component.html.twig):

  • 视图创建时的 AI 辅助编辑
  • 视图详情页的增强操作(view_detail.html.twig
  • 视图删除确认对话框

相关文件

文件职责
IntentAgent.php意图识别主 Agent
ViewEnhanceAgentOrchestrator.php增强编排器
ViewSubAgentChatRouter.php子 Agent 对话路由
AbstractViewSubAgent.php子 Agent 抽象基类
EnhanceViewMessage.php异步任务消息
EnhanceViewMessageHandler.php异步任务处理器
ViewAiTaskApiController.phpAI 任务 API
AiViewEnhanceTask.php任务状态实体

基于 MIT 协议开源 | Copyright © 2026 Doggy