실시간 녹음 + 타임스탬프 메모 + STT 전사 + LLM 구조화 회의록 + PDF/MD 내보내기. CaptionService 연동, 동시 사용 충돌 방지, 긴 회의 2-pass 요약 지원. DB 2테이블, IPC 15채널, UI 3뷰(목록/녹음/상세), 12개 locale i18n.
1.8 KiB
1.8 KiB
| name | description | allowed-tools |
|---|---|---|
| debug-electron | Electron 앱 디버깅. IPC 문제, 메모리 누수, 렌더러 크래시 등 진단. | Read Grep Glob Bash Edit |
Electron Debug
증상 또는 에러 메시지를 받으면 아래 진단 흐름을 자동 실행합니다.
0. 자동 진단 파이프라인
증상 분류 → 해당 섹션 실행 → 원인 보고 → 수정 제안
- 로그 수집:
npm run dev출력 또는 electron-log 파일 확인 - 에러 분류: IPC / 오디오 / 메모리 / 렌더러 크래시 / 빌드
- 해당 섹션 진단 실행
- 원인 + 수정 방안 보고
IPC 문제 진단
자동 실행할 검증 체인:
shared/ipc-channels.ts에서 문제 채널 Grep → 채널 정의 존재?src/main/ipc/에서 해당 채널 핸들러 Grep →ipcMain.handle/on등록?src/preload/index.ts에서contextBridge.exposeInMainWorldGrep → 브릿지 노출?src/renderer/에서window.electronAPI.*호출 Grep → 렌더러 사용?- 1~4 중 끊어진 체인 지점이 원인
오디오 문제 진단
- SoX 경로 확인:
src/main/utils/paths.ts→getSoxPath읽기 - AudioCaptureService 설정 확인: sampleRate 16000, noiseSuppression false
- faster-whisper sidecar 프로세스 상태:
tasklist | grep python - 마이크 권한: Electron
systemPreferences.getMediaAccessStatus('microphone')
메모리 누수 진단
useEffectcleanup 누락 Grep:useEffect있는데 return 없는 패턴- IPC 리스너 제거 누락:
ipcRenderer.on대비removeListener/removeAllListeners검색 - BrowserWindow destroy 확인:
close이벤트에서destroy()호출 여부
빌드/타입 문제
npm run typecheck 2>&1 | head -30실행- 에러 파일/라인 추출 후 해당 코드 Read
- 원인 분석 후 수정 제안