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 | 意图 | 场景 |
|---|---|---|
FormViewSubAgent | form | 表单页面 |
InfoViewSubAgent | info | 信息展示页面 |
ReportViewSubAgent | report | 报表/统计页面 |
LandingViewSubAgent | landing | 落地页/营销页 |
EmailViewSubAgent | 商务邮件 | |
GeneralViewSubAgent | general | 通用页面 |
异步任务
视图增强通过 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);
// 更新任务进度
};实体模型
| 实体 | 说明 |
|---|---|
AiChatSession | AI 会话(跨请求保持上下文) |
AiChatMessage | 会话消息 |
AiOperationLog | AI 操作日志 |
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.php | AI 任务 API |
AiViewEnhanceTask.php | 任务状态实体 |