用途:该技能整理 Electron 应用中主进程与渲染进程之间的 IPC 通信模式,以及配套 MVP 界面实现方式,适合在实现 IPC handler、跨进程事件发送或渲染层 UI 时参考。
主要能力:
- 预加载层通过 contextBridge 暴露 window.api,包含调用主进程的 startRun、selectWinner、cancelRun、previewAll,以及监听主进程事件的 onAgentOutput、onAgentStatus、onError,事件监听返回取消订阅函数。
- 渲染进程到主进程使用 ipcMain.handle('start-run'、'select-winner'、'cancel-run'、'preview-all')。
- 主进程到渲染进程通过 sendToRenderer 发送 agent-output、agent-status、error 事件。
- 提供 OutputBuffer 做终端输出缓冲与 flush、flushAll。
- 给出 BrowserWindow 安全配置示例,sandbox: false、contextIsolation: true、nodeIntegration: false。
- 界面美化:标题栏隐藏与 titleBarOverlay、macOS vibrancy、Windows 11 mica/acrylic、透明窗口、Window Controls Overlay API 及 CSS env() 与 -webkit-app-region。
- Tailwind 深色主题配色、状态色、玻璃拟态与过渡效果;xterm.js 终端主题(当前为 VS Code 风格,另列 Dracula、One Dark 可选项)。
- 组件结构为 App、SetupWizard、GridView、AgentCard、Terminal,阶段含 setup、ready、running、completed。
使用方式:按示例在 preload 暴露 API,在主进程注册 handler,在渲染组件中订阅事件,并在 useEffect 返回时调用取消订阅函数避免内存泄漏。
适用场景:Electron 桌面应用中多智能体任务的启动、状态与终端输出展示、窗口外观定制。
限制:资料未提供完整项目源码、构建与安装命令、许可证、性能与安全测试数据,也未说明各窗口效果的实际兼容性验证情况。