title: AiPPT 系统图与调用时序 verified_at: 2026-08-27 tags:
- AiPPT
- UML
- 架构图 status: reference
AiPPT 系统图与调用时序
本页只保留跨项目和跨进程关系。实现细节以平台和业务文档为准。
1. 阅读路径
- 平台入口和打包:WebView实现与打包、Windows插件实现与打包、macOS插件实现与打包、私有化WPS实现与部署
- Web和Native通信:AiPPT Web通信协议与平台适配
- AI生成:AiPPT智能生成业务逻辑
- 模板和素材:模板与素材库业务逻辑
- 导出:导出压缩与PPT拼图业务逻辑
- 设计工具:设计工具与工具箱业务逻辑
2. 系统上下文
flowchart TB User[用户] Host[PowerPoint或WPS] Ribbon[Ribbon和右键菜单] Web[共享Web页面] Bridge[client-communication] Adapter[平台实现] PPT[PPT对象模型] API[AiPPT API] Storage[文件、缓存和设置] User --> Host User --> Ribbon Ribbon --> Web Web --> Bridge Bridge --> Adapter Adapter --> PPT Web --> API Adapter --> Storage
3. 三端组件边界
flowchart LR subgraph Shared[共享前端] Pages[React页面] Comm[TypeScript接口] end subgraph Windows[Windows PowerPoint] WinWeb[WebView2] CSharp[C# Handler] Interop[Office Interop] end subgraph Mac[macOS PowerPoint] WK[WKWebView] Swift[Swift Bridge] VBA[VBA和AppleScript] end subgraph WPS[私有化WPS] WpsWeb[WPS WebView] WpsImpl[impl/wps和dispatcher] WpsApi[window.Application] end Pages --> Comm Comm --> WinWeb --> CSharp --> Interop Comm --> WK --> Swift --> VBA Comm --> WpsWeb --> WpsImpl --> WpsApi
4. 页面打开时序
sequenceDiagram actor User as 用户 participant Ribbon as Ribbon participant Browser as Browser接口 participant Container as 平台窗口 participant Page as Web页面 User->>Ribbon: 点击功能 Ribbon->>Browser: open(windowConfig) alt Windows Browser->>Container: CTP或WPF WebView2 else macOS Browser->>Container: NSPanel和WKWebView else WPS Browser->>Container: TaskPane或WebDialog end Container->>Page: 加载URL和windowId Page->>Browser: 设置尺寸和位置
5. PPT调用时序
sequenceDiagram participant Page as Web页面 participant Comm as client-communication participant Adapter as 平台Adapter participant Model as PPT对象模型 Page->>Comm: 调用统一接口 alt Windows或macOS Comm->>Adapter: impl/cpp.ts和postMessageToClient else WPS模块接口 Comm->>Adapter: impl/wps.ts else WPS兼容协议 Comm->>Adapter: wps-dispatcher.ts end Adapter->>Model: 操作Slide或Shape Model-->>Adapter: 结果 Adapter-->>Page: Response
6. 部署关系
flowchart TB Frontend[aippt-frontend-addin] WinRepo[aippt_windows_addin] MacRepo[aippt-macos-addin] Frontend --> Online[在线页面] Frontend --> Offline[离线页面] Frontend --> WpsCom[WPS加载项] Offline --> WinPkg[Windows NSIS包] Offline --> MacPkg[macOS PKG] Offline --> WpsZip[WPS wps-com.zip] WinRepo --> WinPkg MacRepo --> MacPkg Online --> WebServer[公网或私有化Web服务] WpsCom --> WpsZip