# Speakly 아키텍처 분석 결과 ## 전체 구조 ``` Renderer (React+MUI) ↔ Preload (IPC Bridge) ↔ Main Process ↓ koffi FFI NativeHelper.dll ↓ Genspark Cloud (WSS) ``` ## 서비스 목록 (25개) VoiceModeService(오케스트레이터), VoiceRecognitionService(WebSocket STT), AudioService, MicNativeService, NativeService(FFI), AuthService, ContextService, CustomInstructionService, HotkeyService, HotkeyConfig, HistoryService(SQLite), DictionaryService, TextOperationStrategy, UserConfigService, DeviceConfigService, UserInfoService, GensparkService, I18nService, FeedbackService, ReportService, UpdateService, AutoLaunchService, PermissionService, SoundEffectService, DebugProvider ## IPC 채널 수 - ipcMain.handle: ~130개 (양방향) - ipcMain.on: ~30개 (단방향 renderer→main) - webContents.send: ~40개 (단방향 main→renderer) ## 초기화 순서 (22단계) 1. Logger → 2. User-Agent/CSP → 3. Accessibility → 4. DeepLink → 5. UserConfigService → 6. I18nService → 7. AuthService → 8. ReportService → 9. UserInfoService → 10. DebugProvider → 11. TextOperationStrategy → 12. RecordStatsService → 13. HistoryService → 14. SoundEffectService → 15. CustomInstructionConfigService → 16. AutoLaunchService → 17. HotkeyConfig → 18. createWindow → 19. HotkeyService 포워딩 → 20. Tray → 21. IPC 핸들러 → 22. UpdateService (3초 지연)