您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论

《Gemini-Voyager 从入门到精通》(14) - 特性模块设计

C3P0 (C3P0) 2026年02月14日 12:42 0 次浏览

第15章 特性模块设计

📖 《Gemini-Voyager 从入门到精通》系列连载

15.1 导出模块架构

导出模块将对话转换为各种格式。

分层设计

┌─────────────────────────────────────────────────────────────────┐
│                    导出模块架构                                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │              ConversationExportService                   │   │
│   │           (导出流程编排与输出处理)                       │   │
│   └──────────────────────────┬────────────────────────────┘   │
│                              │                                  │
│          ┌───────────────────┼───────────────────┐          │
│          ▼                   ▼                   ▼          │
│   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐ │
│   │MarkdownFormat│   │  PDFPrint   │   │ ImageExport  │ │
│   │    ter       │   │  Service    │   │   Service    │ │
│   └──────┬───────┘   └──────┬───────┘   └──────┬───────┘ │
│          │                   │                   │            │
│          └───────────────────┼───────────────────┘            │
│                              ▼                               │
│   ┌─────────────────────────────────────────────────────────┐  │
│   │              DOMContentExtractor                         │  │
│   │           (从页面提取对话数据)                          │  │
│   └─────────────────────────────────────────────────────────┘  │
│                                                                 │
│   数据流向: 页面 DOM → 数据提取 → 格式转换 → 输出 → 下载    │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

15.2 文件夹模块架构

文件夹模块负责对话的文件夹组织功能。

模块结构

┌─────────────────────────────────────────────────────────────────┐
│                    文件夹模块架构                                 │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                    FolderManager                        │   │
│   │              (统一协调与状态管理)                         │   │
│   └──────────────────────────┬────────────────────────────┘   │
│                              │                                  │
│          ┌───────────────────┼───────────────────┐          │
│          ▼                   ▼                   ▼          │
│   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐ │
│   │StorageAdapter│   │  DOMHandler  │   │ EventHandler │ │
│   │  数据持久化  │   │  界面渲染    │   │  交互处理    │ │
│   └──────────────┘   └──────────────┘   └──────────────┘ │
│                                                                 │
│   平台适配器:                                                   │
│   ┌──────────────┐   ┌──────────────┐                        │
│   │  gemini.ts   │   │ aistudio.ts  │                        │
│   │ (Gemini 适配)│  │(AI Studio适配)│                        │
│   └──────────────┘   └──────────────┘                        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

15.3 内容脚本模块

内容脚本是与网页交互的核心机制。

22个功能模块

┌─────────────────────────────────────────────────────────────────┐
│                    内容脚本模块                                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                   22 个功能模块                          │   │
│   ├─────────────────────────────────────────────────────────┤   │
│   │                                                         │   │
│   │  folder/      │  timeline/     │  export/            │   │
│   │  prompt/      │  deepResearch/ │  watermarkRemover/ │   │
│   │  mermaid/     │  markdownPatcher/  │  ...           │   │
│   │                                                         │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   通信机制: Event Bus (事件总线)                               │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

⏳ 下一章将介绍工程实践

讨论回复

0 条回复

还没有人回复