Files
insightflow/docs/PHASE7_TASK2_SUMMARY.md
OpenClaw Bot 797ca58e8e Phase 7 Task 7: 插件与集成系统
- 创建 plugin_manager.py 模块
  - PluginManager: 插件管理主类
  - ChromeExtensionHandler: Chrome 插件处理
  - BotHandler: 飞书/钉钉/Slack 机器人处理
  - WebhookIntegration: Zapier/Make Webhook 集成
  - WebDAVSync: WebDAV 同步管理

- 创建完整的 Chrome 扩展代码
  - manifest.json, background.js, content.js, content.css
  - popup.html/js: 弹出窗口界面
  - options.html/js: 设置页面
  - 支持网页剪藏、选中文本保存、项目选择

- 更新 schema.sql 添加插件相关数据库表
  - plugins: 插件配置表
  - bot_sessions: 机器人会话表
  - webhook_endpoints: Webhook 端点表
  - webdav_syncs: WebDAV 同步配置表
  - plugin_activity_logs: 插件活动日志表

- 更新 main.py 添加插件相关 API 端点
  - GET/POST /api/v1/plugins - 插件管理
  - POST /api/v1/plugins/chrome/clip - Chrome 插件保存网页
  - POST /api/v1/bots/webhook/{platform} - 接收机器人消息
  - GET /api/v1/bots/sessions - 机器人会话列表
  - POST /api/v1/webhook-endpoints - 创建 Webhook 端点
  - POST /webhook/{type}/{token} - 接收外部 Webhook
  - POST /api/v1/webdav-syncs - WebDAV 同步配置
  - POST /api/v1/webdav-syncs/{id}/test - 测试 WebDAV 连接
  - POST /api/v1/webdav-syncs/{id}/sync - 触发 WebDAV 同步

- 更新 requirements.txt 添加插件依赖
  - beautifulsoup4: HTML 解析
  - webdavclient3: WebDAV 客户端

- 更新 STATUS.md 和 README.md 开发进度
2026-02-23 12:09:15 +08:00

3.4 KiB
Raw Permalink Blame History

InsightFlow Phase 7 任务 2 开发总结

完成内容

1. 多模态处理模块 (multimodal_processor.py)

VideoProcessor 类

  • 视频文件处理: 支持 MP4, AVI, MOV, MKV, WebM, FLV 格式
  • 音频提取: 使用 ffmpeg 提取音频轨道WAV 格式16kHz 采样率)
  • 关键帧提取: 使用 OpenCV 按时间间隔提取关键帧默认每5秒
  • OCR识别: 支持 PaddleOCR/EasyOCR/Tesseract 识别关键帧文字
  • 数据整合: 合并所有帧的 OCR 文本,支持实体提取

ImageProcessor 类

  • 图片处理: 支持 JPG, PNG, GIF, BMP, WebP 格式
  • OCR识别: 识别图片中的文字内容白板、PPT、手写笔记
  • 图片描述: 预留多模态 LLM 接口(待集成)
  • 批量处理: 支持批量图片导入

MultimodalEntityExtractor 类

  • 从视频和图片处理结果中提取实体和关系
  • 与现有 LLM 客户端集成

2. 多模态实体关联模块 (multimodal_entity_linker.py)

MultimodalEntityLinker 类

  • 跨模态实体对齐: 使用 embedding 相似度计算发现不同模态中的同一实体
  • 多模态实体画像: 统计实体在各模态中的提及次数
  • 跨模态关系发现: 查找在同一视频帧/图片中共同出现的实体
  • 多模态时间线: 按时间顺序展示多模态事件

3. 数据库更新 (schema.sql)

新增表:

  • videos: 视频信息表时长、帧率、分辨率、OCR文本
  • video_frames: 视频关键帧表帧数据、时间戳、OCR文本
  • images: 图片信息表OCR文本、描述、提取的实体
  • multimodal_mentions: 多模态实体提及表
  • multimodal_entity_links: 多模态实体关联表

4. API 端点 (main.py)

视频相关

  • POST /api/v1/projects/{id}/upload-video - 上传视频
  • GET /api/v1/projects/{id}/videos - 视频列表
  • GET /api/v1/videos/{id} - 视频详情

图片相关

  • POST /api/v1/projects/{id}/upload-image - 上传图片
  • GET /api/v1/projects/{id}/images - 图片列表
  • GET /api/v1/images/{id} - 图片详情

多模态实体关联

  • POST /api/v1/projects/{id}/multimodal/link-entities - 跨模态实体关联
  • GET /api/v1/entities/{id}/multimodal-profile - 实体多模态画像
  • GET /api/v1/projects/{id}/multimodal-timeline - 多模态时间线
  • GET /api/v1/entities/{id}/cross-modal-relations - 跨模态关系

5. 依赖更新 (requirements.txt)

新增依赖:

  • opencv-python==4.9.0.80 - 视频处理
  • pillow==10.2.0 - 图片处理
  • paddleocr==2.7.0.3 + paddlepaddle==2.6.0 - OCR 引擎
  • ffmpeg-python==0.2.0 - ffmpeg 封装
  • sentence-transformers==2.3.1 - 跨模态对齐

系统要求

  • ffmpeg: 必须安装,用于视频和音频处理
  • Python 3.8+: 支持所有依赖库

待完善项

  1. 多模态 LLM 集成: 图片描述功能需要集成 Kimi 或其他多模态模型 API
  2. 前端界面: 需要开发视频/图片上传界面和多模态展示组件
  3. 性能优化: 大视频文件处理可能需要异步任务队列
  4. OCR 引擎选择: 根据部署环境选择最适合的 OCR 引擎

部署说明

# 安装系统依赖
apt-get update
apt-get install -y ffmpeg

# 安装 Python 依赖
pip install -r requirements.txt

# 更新数据库
sqlite3 insightflow.db < schema.sql

# 启动服务
python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000