Skip to content

Phase 84 — 多模态感知层设计

版本: v4.1.0 创建日期: 2026-03-10 状态: ✅ 已实现 (v4.1.0)


一、模块概述

Phase 84 实现多模态感知层,为Agent提供屏幕分析、语音会话、文档解析、视频分析和跨模态查询能力,构建统一的感知-理解-响应管道。

1.1 核心目标

  1. 屏幕感知: 实时屏幕截图分析、UI元素识别、OCR文字提取
  2. 语音交互: 语音识别(ASR)+语音合成(TTS)双向会话
  3. 文档解析: PDF/Word/Excel/图片多格式智能解析和结构化提取
  4. 视频分析: 关键帧提取、场景识别、动作检测
  5. 跨模态查询: 统一查询接口,跨图/文/音/视频的语义检索

1.2 技术架构

┌──────────────────────────────────────────────────┐
│            Perception Engine Layer                │
│                                                  │
│  ┌───────────────────┐  ┌──────────────────────┐ │
│  │ ScreenAnalyzer    │  │ VoiceSessionManager  │ │
│  │ 截图+OCR+UI识别  │  │ ASR+TTS+VAD         │ │
│  │ Sharp+Tesseract   │  │ 流式传输+中断检测    │ │
│  └───────────────────┘  └──────────────────────┘ │
│  ┌───────────────────┐  ┌──────────────────────┐ │
│  │ DocumentParser    │  │ VideoAnalyzer        │ │
│  │ PDF/Word/Excel    │  │ 关键帧+场景+动作     │ │
│  │ 结构化提取        │  │ 时间轴标注           │ │
│  └───────────────────┘  └──────────────────────┘ │
│  ┌──────────────────────────────────────────────┐ │
│  │ CrossModalQueryEngine — 统一跨模态检索       │ │
│  └──────────────────────────────────────────────┘ │
│  ┌──────────────────────────────────────────────┐ │
│  │       Perception IPC Layer (8 handlers)      │ │
│  └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘

二、核心模块设计

2.1 PerceptionEngine (ai-engine/perception/perception-engine.js)

多模态感知引擎主模块。

常量:

  • MODALITY: SCREEN, VOICE, DOCUMENT, VIDEO
  • VOICE_STATUS: IDLE, LISTENING, PROCESSING, SPEAKING
  • ANALYSIS_TYPE: OCR, OBJECT_DETECTION, SCENE_RECOGNITION, ACTION_DETECTION

核心方法:

  • initialize(deps) — 初始化感知引擎,加载模型和配置
  • analyzeScreen({ region, analysisTypes }) — 屏幕分析(截图+OCR+UI元素识别)
  • startVoice({ language, model }) — 启动语音会话(ASR+VAD)
  • stopVoice(sessionId) — 停止语音会话,返回完整转录
  • parseDocument({ filePath, format, extractTables }) — 文档智能解析
  • analyzeVideo({ filePath, keyframeInterval, analysisTypes }) — 视频分析
  • crossModalQuery({ query, modalities, limit }) — 跨模态统一检索
  • getContext() — 获取当前多模态感知上下文
  • configure(config) — 动态更新感知配置
  • _captureScreen(region) — 内部屏幕截图
  • _extractKeyframes(videoPath, interval) — 提取视频关键帧
  • _buildMultimodalIndex(data, modality) — 构建跨模态索引
  • destroy() — 销毁引擎,释放资源

2.2 PerceptionIPC (ai-engine/perception/perception-ipc.js)

IPC通道注册和参数校验。


三、数据库设计

sql
-- Phase 84: Perception Engine
CREATE TABLE IF NOT EXISTS perception_results (
  id TEXT PRIMARY KEY,
  modality TEXT NOT NULL,           -- screen, voice, document, video
  analysis_type TEXT,
  input_source TEXT,                -- file path or session id
  result_data TEXT,                 -- JSON: structured analysis result
  confidence REAL DEFAULT 0.0,
  metadata TEXT,                    -- JSON: region, language, format
  created_at INTEGER
);

CREATE TABLE IF NOT EXISTS voice_sessions (
  id TEXT PRIMARY KEY,
  status TEXT DEFAULT 'idle',
  language TEXT DEFAULT 'zh-CN',
  transcript TEXT,                  -- full transcription
  duration_ms INTEGER DEFAULT 0,
  model TEXT,
  started_at INTEGER,
  ended_at INTEGER
);

CREATE TABLE IF NOT EXISTS multimodal_index (
  id TEXT PRIMARY KEY,
  modality TEXT NOT NULL,
  source_id TEXT NOT NULL,          -- reference to perception_results
  embedding TEXT,                   -- vector embedding
  content_summary TEXT,
  tags TEXT,                        -- JSON array
  created_at INTEGER
);

四、IPC接口设计

Phase 84 — PerceptionIPC (8 handlers)

通道说明
perception:analyze-screen屏幕分析
perception:start-voice启动语音会话
perception:stop-voice停止语音会话
perception:parse-document文档智能解析
perception:analyze-video视频分析
perception:cross-modal-query跨模态查询
perception:get-context获取感知上下文
perception:configure动态配置

五、前端集成

Pinia Stores

  • perceptionEngine.ts — 感知结果、语音状态、文档解析、跨模态检索

Vue Pages

  • PerceptionEnginePage.vue — 屏幕分析/语音交互/文档解析/视频分析/跨模态检索

Routes

  • /perception-engine — 多模态感知

六、配置选项

javascript
perceptionEngine: {
  enabled: false,
  screenCaptureIntervalMs: 5000,
  voiceLanguage: 'zh-CN',
  voiceVadSensitivity: 0.6,
  documentMaxSizeMb: 50,
  videoKeyframeIntervalMs: 2000,
  crossModalSearchLimit: 20,
},

七、测试覆盖

测试文件: src/main/ai-engine/perception/__tests__/perception-engine.test.js测试数量: 21 tests

分类数量说明
初始化2引擎初始化、模型加载
屏幕分析4全屏截图、区域截图、OCR提取、UI元素识别
语音会话4启动/停止、转录结果、VAD检测、多语言
文档解析4PDF解析、Word解析、表格提取、图片OCR
视频分析3关键帧提取、场景识别、动作检测
跨模态查询3单模态、多模态混合、相似度排序
配置1动态配置更新

八、Context Engineering

  • step 5.4: setPerceptionEngineContext() — 注入多模态感知上下文

基于 MIT 许可发布