문제 해결 스토리
어떤 일을 했나
- Cursor 확장, PC 서버, Flutter 앱 간 실시간 통신 아키텍처를 설계했습니다.
- 로컬 모드와 릴레이 모드 2가지 연결 전략을 구현했습니다.
예상 문제점 5개와 해결 방법
문제 1
로컬/외부 네트워크 전환 시 연결이 자주 끊기고 세션이 유실될 위험이 있었습니다.
해결
연결 상태 머신과 자동 재시도/재연결 전략으로 세션 복구 경로를 표준화했습니다.
문제 2
원격 제어 특성상 인증이 약하면 제3자가 세션에 접근할 보안 리스크가 있었습니다.
해결
토큰 기반 인증과 세션 만료 정책을 적용해 임의 접속 가능성을 낮췄습니다.
문제 3
실시간 응답 스트리밍이 지연되면 모바일에서 사용성이 급격히 나빠질 수 있었습니다.
해결
메시지 전송 단위를 경량화하고 우선순위 큐를 적용해 체감 지연을 줄였습니다.
문제 4
작은 화면에서 긴 로그와 명령 이력을 읽고 조작하기 어려운 문제가 있었습니다.
해결
로그 접기/펼치기, 빠른 명령 버튼, 상태 배지를 추가해 모바일 가독성을 높였습니다.
문제 5
예외 상황(CLI 중단, 서버 재시작)에서 사용자가 복구 방법을 알기 어려웠습니다.
해결
오류 유형별 가이드(재연결, 서버 재기동, 권한 확인)를 UI에 노출해 복구 시간을 단축했습니다.
결과와 배운 점
- PC 앞이 아닌 상황에서도 Cursor AI와 작업을 이어갈 수 있는 사용 시나리오를 확보했습니다.
- Marketplace 배포를 통해 실제 사용자 피드백 수집 루프를 만들었습니다.
"Code anywhere, anytime with Cursor CLI"
Cursor Remote는 모바일 기기에서 Cursor IDE의 AI 기능을 원격으로 제어할 수 있는 확장 프로그램입니다. WebSocket을 통해 실시간으로 Cursor CLI와 상호작용하며, 어디서든 코드를 작성하고 AI와 대화할 수 있습니다.
🎯 프로젝트 개요
한 줄 요약
모바일 기기에서 Cursor IDE의 AI 기능을 원격으로 제어하여, 어디서든 코드를 작성하고 AI와 대화할 수 있는 원격 제어 확장 프로그램입니다.
문제 해결
개발자가 PC 앞에 있지 않을 때도 Cursor AI를 활용하고 싶은 니즈를 해결합니다.
- 모바일 접근성: PC 없이도 모바일에서 Cursor AI 활용
- 원격 제어: 다른 네트워크에서도 릴레이 서버를 통해 연결 가능
- 실시간 상호작용: WebSocket을 통한 실시간 양방향 통신
🚀 핵심 기능
1. 모바일에서 AI 프롬프트 전송
모바일 앱에서 프롬프트를 입력하면 Cursor CLI를 통해 AI 응답을 생성합니다.
2. 두 가지 연결 모드
- 로컬 네트워크 모드: 같은 Wi-Fi 네트워크에서 직접 연결
- 릴레이 서버 모드: 다른 네트워크에서도 릴레이 서버를 통해 연결
🛠️ 기술 스택
- Extension: TypeScript, VSCode Extension API
- PC Server: Node.js, WebSocket (ws)
- Mobile App: Flutter, Dart
- 통신: WebSocket, JSON 메시지
📱 플랫폼 정보
- Extension: Cursor IDE (VS Code 기반)
- Mobile App: iOS, Android (Flutter)
- License: MIT
- GitHub: https://github.com/jaloveeye/cursor-remote
- VS Code Marketplace: https://marketplace.visualstudio.com/items?itemName=jaloveeye.cursor-remote-extension

