d3ro-voice/docs/re-findings/speakly-architecture.md
Yun Chan e24bb8378c 초기 프로젝트 설정: 하네스 시스템 + 설계서 + RE 노하우
- CLAUDE.md: 프로젝트 규칙, 기술 스택, 코딩 규칙, 페이즈 로드맵
- .claude/settings.json: 권한, 강제 훅 (매 프롬프트 설계서 규칙 주입)
- .claude/skills/: implement-phase, review-phase, scaffold, test-commit, debug
- .claude/agents/: electron-architect, voice-pipeline-expert, ui-specialist
- docs/design/00-09: 마스터 아키텍처, 서비스 명세(16개), IPC(113채널),
  DB스키마, UI컴포넌트, 검증리포트, 외부엔진연동, 갭분석,
  VoiceMode패턴, 디자인시스템, 히스토리팝업
- docs/phases/1-7+3.5: 전체 구현 페이즈 문서
- docs/re-findings/: Speakly RE 노하우 5개 문서
2026-04-05 01:03:03 +09:00

1.6 KiB

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 →
  2. UserConfigService → 6. I18nService → 7. AuthService → 8. ReportService →
  3. UserInfoService → 10. DebugProvider → 11. TextOperationStrategy →
  4. RecordStatsService → 13. HistoryService → 14. SoundEffectService →
  5. CustomInstructionConfigService → 16. AutoLaunchService → 17. HotkeyConfig →
  6. createWindow → 19. HotkeyService 포워딩 → 20. Tray → 21. IPC 핸들러 →
  7. UpdateService (3초 지연)