콘텐츠로 이동

트러블슈팅

증상별로 정리한 흔한 에러 상태와 알려진 한계.

"핫키가 동작 안 함"

macOS

  • Accessibility 권한 미부여. 시스템 설정 → 개인정보 보호 및 보안 → 손쉬운 사용에서 실행 중인 인터프리터(또는 빌드된 Cue.app)를 찾아 토글 활성 후 Cue 재시작. 이게 없으면 CGEventTap이 글로벌 키 이벤트를 관찰할 수 없음.
  • Cmd 키 누른 채. Cmd+Shift+Space프라이버시 토글. 제안 핫키는 그냥 Shift+Space.
  • Cue가 현재 프라이버시 일시정지 중. 일시정지가 풀릴 때까지 핫키 no-op. 빨간 테두리 오버레이 확인.

Windows

  • 핫키는 프롬프트 없이 등록됨. 동작 안 하면 트레이에서 Cue 아이콘 확인 — 앱 시작이 실패했을 수 있음. 데이터 루트의 cue.log에서 근본 에러 확인.

"핫키 누른 후 팝업이 안 열림"

  • API 키 없음. 첫 실행 시 프롬프트. 닫았다면 Preferences → General → Anthropic API key에서 설정.
  • API 호출 실패. cue.log에서 Anthropic 에러 확인 (rate limit, auth, network). 팝업은 스트리밍 응답을 기다리고, 에러 시 조용히 닫힘.
  • 선택된 텍스트 grab이 너무 오래 걸림. Cue는 Cmd+C / Ctrl+C 시뮬레이션 후 클립보드를 ~250 ms까지 기다림. 앱이 응답 느리면 팝업은 선택된 텍스트 없이 진행.

"스트리밍 레코더가 계속 죽음"

스트리밍 레코더는 서브프로세스. cue.log에서 루프로 재시작하는 것이 보이면 근본 신호 확인:

  • SIGSEGV (rc=-11) — 보통 동적 라이브러리 불일치. macOS에서는 GStreamer.framework가 시스템에 설치되어 있는지, miniforge나 conda가 활성된 셸에서 Cue를 실행하지 않는지 확인 (그쪽 dylib이 framework의 것을 override해서 PyGObject가 segfault 날 수 있음). 지원되는 설치 경로는 개발 환경 참고.
  • SIGTRAP (rc=-5) — macOS hardened runtime에서 com.apple.security.cs.allow-jit entitlement 누락. Frozen 빌드에는 활성된 채로 ship됨 — entitlements 파일 없이 손으로 빌드할 때만 발생.
  • Clean exit 루프 — 보통 rotator가 chunk 끝났다고 판단하고 새 것을 시작. 정상 동작에서 ~30초마다 발생.

"프라이버시 일시정지가 안 풀림"

  • 지속적인 secure input. 일부 앱(특히 일부 VPN 클라이언트, 일부 원격 데스크톱 세션)이 시스템 차원의 secure-event-input latch를 예상보다 길게 잡아둘 수 있음. 그 앱 종료하면 release되어야 하고, 안 되면 로그아웃 후 재로그인. macOS는 latch를 IsSecureEventInputEnabled로 노출하고 Cue가 그 상태를 미러.
  • 차단된 앱 규칙이 여전히 매치. Preferences → Privacy에서 차단 목록을 foreground 앱과 비교. 윈도우 타이틀 정규식도 적용 — 타이틀에 "Login", "Password" 등이 들어 있으면 예상치 못하게 fire할 수 있음.

"Cue가 시스템 인증 다이얼로그를 막음"

Cue가 실행 중인데 Touch ID / 비밀번호 프롬프트가 응답 안 하는 느낌이면 알려진 상호작용. Cue 스트리밍 레코더는 pynput 키보드 tap을 등록 — 부모 watchdog이 동작 안 한 채 (즉 Cue 자체를 종료하지 않은 채) 레코더만 강제 종료되면 orphan tap이 secure-input 다이얼로그를 방해할 수 있음.

완화책:

  • watchdog이 부모 죽으면 레코더를 자동 reap. 정상 종료 경로 (메뉴 Quit, 시스템 셧다운)는 안전.
  • 멈춘 다이얼로그를 보면 메뉴바에서 Cue 종료. 다이얼로그가 1초 안에 다시 응답.

"디지스트가 업데이트 안 됨"

  • 스트리밍 OFF. 디지스트는 스트리밍 파이프라인 위에서 실행. Preferences → General에서 Enable Streaming.
  • 윈도우 전체에 프라이버시 일시정지가 켜졌음. 매 디지스트 사이클이 일시정지 인터벌 필터링. 15분 윈도우 전체가 일시정지였으면 디지스트 파이프라인은 tombstone 행 생성.
  • 로컬 백엔드 선택, 모델 아직 다운로드 안 됨. Preferences → General의 status banner가 다운로드 상태 표시.

알려진 한계

일부 시나리오는 현재 커버 안 됨:

  • macOS UAC 스타일 권한 상승 프롬프트secure desktop에서 실행. 사용자 모드 코드는 그 데스크톱을 enumerate 못 하므로 빨간 테두리 오버레이를 거기에 그릴 수 없음. 포커스가 일반 데스크톱으로 돌아오면 일시정지는 fire.
  • Windows cmd.exe 안 콘솔 비밀번호 프롬프트가 별도 다이얼로그 윈도우 없이: UIA가 못 봄. 수동 일시정지 사용 또는 실제 다이얼로그가 뜨는 도구로 비밀번호 입력.
  • 오디오와 클립보드는 전혀 캡처되지 않음. 미래에 그런 기능이 추가되면 그 경로의 프라이버시 일시정지 / PII scrub 레이어를 다시 감사해야 함.

어디부터 봐야 하나

  • cue.log (rolling) — 대부분의 애플리케이션 에러.
  • privacy.log — 사유 포함 일시정지 진입/종료 기록.
  • 데이터 루트 — Preferences → Data → "Open data folder"에 표시.

버그처럼 보이면 관련 로그 발췌와 함께 이슈 열어주세요 (PII는 양쪽 로그 파일에 쓰이기 전에 scrub됨).