본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 20. 01:22

MobileVC: 모바일로 제어하는 PC용 AI 프로그래밍 어시스턴트 (Claude / Codex)

요약

MobileVC는 스마트폰을 통해 PC의 AI 프로그래밍 어시스턴트(Claude, Codex)를 제어할 수 있게 해주는 도구입니다. 단순한 화면 미러링이 아닌, AI와의 대화, 권한 승인, 코드 변경 사항 검토 및 실행 상태 관리를 모바일 환경에 최적화된 운영 루프로 제공합니다.

핵심 포인트

  • 스마트폰을 통해 Claude 및 Codex CLI 세션을 원격 제어 가능
  • AI의 계획 수립(Plan Mode), Diff 검토, 수정 사항 수락/롤백 기능 지원
  • QR 코드 스캔 또는 LAN/공인 네트워크 설정을 통한 간편한 연결
  • iOS APNs를 통한 AI 응답 대기 및 푸시 알림 수신 기능
  • 파일 브라우징, 로그 확인 및 과거 세션 복구 기능 제공

키보드와 마우스의 속박에서 벗어나, 스마트폰으로 언제 어디서든 컴퓨터의 AI 프로그래밍 어시스턴트(Claude / Codex)를 제어하세요.

MobileVC는 AI 어시스턴트와의 대화 중 발생하는 대기, 승인, 검토 및 실행 지속 과정을 모바일 환경에 최적화된 운영 루프(Operation Loop)로 변환합니다.

빠른 접속: mobilevc.top

커뮤니티 토론: LINUX DO

# 1. 전역 설치 (Global Install)
npm install -g @justprove/mobilevc
# 2. 서비스 시작 (최초 실행 시 구성 가이드 제공)
...

실행 후 자동으로 다음 정보가 표시됩니다:

  • 로컬 호스트(Localhost) 접속 주소
  • 로컬 네트워크(LAN) 접속 주소
  • 모바일 연결을 위한 QR 코드

방법 1: QR 코드 스캔 연결

  • 스마트폰에서 https://mobilevc.top/install/ 에 접속하여 클라이언트를 설치합니다.
  • 클라이언트를 열고 "QR 코드 스캔 연결(扫码连接)"을 클릭합니다.
  • 터미널에 표시된 QR 코드를 스캔합니다.

방법 2: 수동 설정

  • 로컬 네트워크(LAN): 터미널에 표시된 로컬 네트워크 주소, 포트 및 토큰(Token)을 입력합니다.
  • 공인 네트워크(Public Network): 리버스 프록시(Reverse Proxy) 설정 후 공인 주소를 입력합니다.

연결에 성공하면 입력창에 claude 또는 codex를 입력하여 AI 대화 모드로 진입하고 어시스턴트와 대화를 시작할 수 있습니다.

mobilevc status # 서비스 상태 확인
mobilevc logs # 로그 확인
mobilevc logs --follow # 실시간 로그 확인
...

루트 디렉토리는 이제 진입점 문서와 릴리스 노트(Release Notes)만 유지합니다. 주제별 문서는 docs/ 아래에 위치합니다:

  • 문서 인덱스: docs/README.md
  • 프로젝트 인덱스: docs/project-index.md
  • 아키텍처 청사진: docs/architecture/blueprint.md
  • 현재 로직 노트: docs/architecture/current-logic.md
  • 푸시 설정 체크리스트: docs/guides/push-integration-checklist.md
  • 웹 임베드 경로: docs/guides/web-embed-path.md
  • Flutter Web 빈 화면 문제: docs/troubleshooting/flutter-web-blank-screen.md
  • 변경 이력: CHANGELOG.md

소스 코드를 직접 컴파일하거나 개발에 참여하고 싶다면:

# 저장소 클론 (Clone Repository)
git clone https://github.com/JayCRL/MobileVC.git
cd MobileVC
...
cd mobile_vc
flutter pub get
flutter run

MobileVC는 데스크톱 터미널의 미러링(Mirroring)이나 원격 데스크톱(Remote Desktop)의 대체재가 아닙니다.

이 도구는 더 직접적인 일을 수행합니다: 컴퓨터의 AI 어시스턴트 CLI 세션을 스마트폰으로 완벽하게 제어할 수 있는 워크스테이션으로 만드는 것입니다.

컴퓨터 앞에 없어도 다음과 같은 작업을 계속 진행할 수 있습니다:

  • 어시스턴트와 대화 지속
  • 권한 요청 승인 또는 거부
  • Plan Mode의 다회차 계획 상호작용 수행
  • Diff 검토, 수정 사항 수락 또는 롤백(Rollback)
  • 파일, 로그 및 실행 상태 브라우징
  • 과거 세션 복구
  • Skill / Memory / Session Context 관리
  • 어시스턴트가 사용자의 응답을 필요로 할 때 푸시 알림 수신 (iOS APNs)

MobileVC가 해결하고자 하는 문제는 "어떻게 원격으로 컴퓨터 화면을 볼 것인가"가 아니라, "어떻게 스마트폰만으로 컴퓨터의 거의 모든 AI 어시스턴트 워크플로우(Workflow)를 완료할 것인가"입니다.

현재 메인 버전: 0.2.0

기준 정리일: 2026-04-28

현재 작업 영역 (Current Workspace)

  • 네이티브 Claude CLI 세션 연결 완료: ~/.claude/projects/<cwd>/*.jsonl 스캔. 세션 목록에 "컴퓨터 Claude"로 표시되며 즉시 resume 가능
  • 네이티브 Codex 세션 연결 완료: ~/.codex/state_5.sqlite~/.codex/history.jsonl 읽기. 세션 목록에 "컴퓨터 Codex"로 표시됨
  • 연결 또는 재연결 시, 현재 세션이 선택되어 있다면 자동으로 session_resume를 전송하며 lastSeenEventCursor / lastKnownRuntimeState를 포함함
  • 작업 디렉토리(CWD) 변경 시 session_list가 자동으로 새로고침되어 세션 목록이 현재 CWD를 따름
  • 과거 세션 복구 시, 네이티브 Claude jsonl로부터 누락된 어시스턴트(Assistant) 응답을 보완 가능
    세션 소유권 추적: Ownership

필드가 생성될 때 mobilevc로 표시되며,

데스크톱 Claude CLI가 제어권을 가져갈 때 claude-native로 업그레이드되어, 백그라운드로 전환될 때 관찰 모드(Observation Mode)로 잘못 진입하는 것을 방지합니다.

실행 상태 래치 (Execution State Latch): ExecutionActive

실행 중에는 true로 래치(Latch)되어, 포그라운드와 백그라운드 전환 시 "실행 중 ↔ 입력 대기" 상태가 요동치는 현상이 발생하지 않습니다.

  • 권한 규칙 자동 적용이 백엔드로 수렴되었으며, 프론트엔드는 결과 표시만 담당합니다.
  • Claude 권한 승인 링크가 control_response로 직접 쓰기(Write-back)되어, 승인 후 핫 리스타트(Hot restart) 루프가 발생하는 것을 방지합니다. approve는 원래의 도구 입력(Tool input)인 updatedInput을 함께 반환합니다.
  • Claude는 기본적으로 공식 permission-model-auto를 채택합니다.
  • 사용자의 수동 동의와 세션/장기 규칙 매칭은 동일한 백엔드 권한 쓰기 경로를 따르며, 더 이상 세션에 "승인됨, 계속 진행"과 같은 메시지를 주입하지 않습니다.
  • 클라이언트가 만료된 permissionRequestId를 가지고 돌아오면, 백엔드는 현재 처리 대기 중인 권한 요청을 다시 내려보냅니다. 사용자는 다시 한 번 클릭하기만 하면 되며, 이전 요청을 실수로 승인하는 일이 발생하지 않습니다.
  • 권한 확인 대기 중에는 프론트엔드에서 백그라운드 스냅샷(Snapshot) 또는 델타(Delta)로 인한 일시적인 실행 상태의 요동을 억제하여, 연속적인 승인 대기 상태를 유지합니다.
  • 일반 입력 중 처리 대기 중인 권한 요청이 발생하면 백엔드에서 차단하여, 구조화된 권한 응답을 기다리는 Claude의 표준 입력(stdin)에 텍스트가 작성되는 것을 방지합니다.
  • Diff 뷰어는 문자 단위 하이라이트와 변경되지 않은 블록(Unchanged block) 접기 기능을 지원합니다.
  • 중지 중(Stopping)인 UI는 독립적인 _isStopping 상태를 가지며, 배너/버튼/입력창의 의미론적 일관성을 유지합니다.
  • 푸시 링크는 APNs, 포그라운드/백그라운드 재전송 및 action-needed 중복 제거를 지원합니다.

백그라운드 진행 상황 푸시: 에이전트(Agent)의 사고, 도구 실행, 오류, 어시스턴트(Assistant) 응답 등의 이벤트도 APNs 푸시를 트리거합니다. 진행 상황 관련 이벤트는 30초 디바운스(Debounce)가 적용되며, 온라인 상태일 때는 중복 방지를 위해 건너뜁니다.

npm run sync:web 명령은 mobile_vc/build/web/cmd/server/web/으로 동기화합니다.

  • Go 백엔드에 실제로 임베드되는 것은 cmd/server/web/이며, 더 이상 루트 디렉토리의 web/을 현재의 단일 진실 공급원(Source of truth)으로 사용하지 않습니다.
  • 설치 페이지와 배포 스크립트는 mobile_vc/scripts/에 위치하며, 현재 저장소는 iOS OTA, TestFlight 및 설치 페이지 렌더링 프로세스를 추적하고 있습니다.

상세한 변경 이력은 CHANGELOG.md를 참조하십시오.

휴대폰에서의 조작이 키보드盲打(Blind typing)에 의존해서는 안 됩니다. MobileVC는 AI 어시스턴트 세션의 주요 대기 상태를 분리하여, 터치스크린에 더 적합한 원클릭 액션과 시각화 패널로 만들었습니다:

  • 일반 입력
  • 권한 확인
  • Plan Mode 계속/진행
  • 코드 리뷰
  • 세션 복구
  • 스킬(Skill) / 메모리(Memory) 관리

책상 앞에 붙어 있을 필요도, 키보드 곁으로 돌아갈 필요도 없습니다.

  • 외출 중에도 작업을 계속 진행할 수 있습니다.
  • 컴퓨터가 곁에 없어도 수정 사항을 승인할 수 있습니다.
  • 어시스턴트가 당신을 기다리고 있을 때, 휴대폰으로 즉시 푸시 알림을 받을 수 있습니다.
  • 복잡한 워크플로우가 키보드를 떠났다는 이유로 중단되지 않습니다.

MobileVC는 단순히 "원격으로 무엇을 볼 수 있는지"를 보여주기 위한 것이 아니라, 당신이 실제로 일을 끝마치고, 더 빠르고 직관적으로 수행할 수 있도록 하기 위한 것입니다:

  • 보임: 스킬 캡슐, 메모리 카드, Diff 그룹, 로그 및 실행 상태를 한눈에 파악할 수 있습니다.
  • 빠른 클릭: 활성화/비활성화, 허용/거부, 수락/롤백을 직접 선택할 수 있습니다.
  • 원클릭화: 스킬/메모리를 한 번에 동기화하고, 한 문장으로 스킬을 생성하며, 한 문장으로 메모리를 수정합니다.
  • 자동화: 어시스턴트가 생성한 결과는 카탈로그(Catalog)에 자동으로 쓰기되며 관리 패널을 새로고침합니다.
  • 시각화: 현재 세션의 활성화 항목, 동기화 상태, 최근 동기화 시간이 명확하게 표시됩니다.

이것은 모바일용으로 설계된 AI 어시스턴트 콘솔입니다.

AI 어시스턴트 세션 관리

  • 휴대폰에서 로컬 AI 어시스턴트 CLI 세션(Claude / Codex)에 연결
  • 처음부터 다시 시작하는 대신 현재 작업을 계속 진행
  • 세션 생성, 전환, 로드, 삭제 지원

권한 및 워크플로우 제어

  • 권한 요청에 대한 허용/거부 지원
  • 만료되었거나 교체된 권한 요청을 자동으로 식별하고 현재 확인 가능한 요청으로 새로고침
  • 어시스턴트가 Plan Mode에 진입한 후의 다회차 계획 상호작용 지원
  • 계획(Plan), 권한, 일반 입력의 분리 처리
  • 모바일에서 버튼으로 프로세스를 진행하며, 더 이상 CLI의 무작위 입력을 의존하지 않음

코드 리뷰 (Code Review)

  • 수정 그룹별로 검토 대상 내용 확인
  • 동일 그룹 내에서 여러 파일 전환
  • 파일 내용 또는 Diff 확인
  • accept / revert / revise 지원
  • 리뷰 작업 시 현재 실제로 처리 대기 중인 Diff를 자동으로 잠금(Lock)하여, 파일 전환 후 이전 대상을 실수로 클릭하는 것을 방지
  • 리뷰 결정은 명시적인 텍스트 명령을 전송하여 Claude / Codex와의 호환성을 더 안정적으로 유지
  • 모든 검토 대기 중인 Diff를 한 번에 수락하는 기능 지원

기타 기능

  • 프로젝트 파일 트리 탐색
  • 파일 내용 읽기
  • HTTP를 통한 파일 다운로드
  • 터미널 실행 로그 확인
  • 서로 다른 실행(Execution) 간에 stdout / stderr 전환
  • 세션 실행 중 입력창에서 현재 실행을 즉시 중지 가능
  • 터미널 노이즈 자동 정리 (Wall time, 빈 Output: 등)

헤더, 중복 오류) 등 불필요한 내용을 제거하고 타임라인에는 유효한 내용만 유지합니다 - 런타임 정보 (runtime info) 및 세션 히스토리 확인

  • Skill은 "캡슐" 형태로 표시되며, 가볍게 탭하면 실행되고 길게 누르면 상세 정보 확인 및 수정 메뉴로 진입할 수 있습니다.

  • Memory는 "카드" 형태로 표시되며, 내용, 활성화 상태, 출처 및 동기화 상태를 한눈에 확인할 수 있습니다.

  • Skill / Memory를 한 번에 동기화하여 로컬 어시스턴트 카탈로그와 일치시킬 수 있습니다.

  • 한 문장으로 Skill 생성, 한 문장으로 Skill / Memory 수정 기능을 지원합니다.

  • 결과는 카탈로그에 자동으로 다시 기록(write-back)되며 관리 패널에 즉시 반영됩니다.

  • 어시스턴트가 사용자의 조작을 필요로 할 때 알림을 보냅니다 (권한 확인, Plan Mode, 코드 리뷰, 계속 입력 등)

  • 진행 상황 푸시 (Progress Push): Agent의 사고 중, 도구 실행 중, 어시스턴트의 응답, 오류 발생 등도 APNs를 통해 푸시됩니다. 단순히 "조작 필요" 시점에만 알림을 보내는 것이 아닙니다. 진행 상황 푸시는 과도한 알림을 방지하기 위해 30초 디바운싱 (Debouncing)이 적용되며, WebSocket이 온라인 상태일 때는 실시간으로 전달되므로 진행 상황 푸시를 자동으로 건너뜁니다.

  • 포그라운드에서 백그라운드로 전환되는 과정의 큐잉 (Queuing)을 지원합니다:

    • inactive 상태에서 받은 알림은 실제로 백그라운드로 진입한 후 재발송됩니다.
    • inactive에서 포그라운드로 복귀할 때 누락된 알림을 다시 잡아내며, 콘텐츠 지문(fingerprint)을 기준으로 중복을 제거합니다.
    • Android는 초기화 시 알림 권한을 능동적으로 요청하며, iOS / macOS도 시스템 알림 권한을 동시에 신청합니다.
    • iOS / Android는 백그라운드 상태에서 세션이 바쁠 때 짧은 시간 동안 프로세스를 유지(keep-alive)하여 중요한 알림이 유실될 확률을 낮춥니다.
    • action-needed 신호를 통해 중복을 제거하여 반복적인 방해를 방지합니다.
  • 어시스턴트의 주요 정보를 음성으로 변환하는 기능을 지원합니다.

  • 이동 중, 출퇴근 중 또는 화면을 계속 주시하기 어려운 상황에 더 적합합니다.

  • Flutter 단의 우측 상단에 ADB 디버깅 진입점을 제공합니다.

  • 백엔드는 로컬의 adb, emulator, 사용 가능한 AVD 및 연결된 장치를 자동으로 감지합니다.

  • 이미 온라인 장치가 있는 경우 즉시 디버깅에 진입할 수 있으며, WebRTC + H264를 통해 에뮬레이터 화면을 모바일로 실시간 푸시합니다.

  • 온라인 장치는 없지만 사용 가능한 AVD가 있는 경우, 프론트엔드에서 직접 에뮬레이터를 실행할 수 있습니다.

  • 모바일에서 미리보기 화면을 클릭하면 WebRTC DataChannel을 통해 즉시 adb tap으로 전달됩니다.

Mobile browser / Flutter app
│
▼
...
  • 진입점: cmd/server/main.go

  • /ws, /healthz, /download, /api/tts/synthesize를 담당합니다.

  • WebSocket을 통해 전체 세션 상태 스트림을 구동합니다.

  • PTY runner, ADB 디버깅, 세션 스토어(session store), Skill / Memory, 파일 시스템 및 TTS를 관리합니다.

  • 진입점: mobile_vc/lib/main.dart -> mobile_vc/lib/app/app.dart

  • 루트 상태는 SessionController에 의해 구동됩니다. 홈 페이지는 SessionHomePage입니다.

  • 백엔드 이벤트를 모바일에서 조작 가능한 UI 상태로 변환하는 역할을 담당합니다.

  • 우측 상단의 ADB 아이콘을 통해 에뮬레이터 디버깅 패널을 열 수 있습니다.

Go 백엔드는 구조화된 이벤트 스트림을 통해 프론트엔드로 다음과 같은 상태를 푸시합니다:

runtime_phase
interaction_request
session_history
skill_catalog_result
memory_list_result
file_diff
prompt_request
agent_state

  1. Flutter가 Go 백엔드의 WebSocket에 연결합니다.
  2. Go 백엔드가 AI 어시스턴트 CLI의 PTY 세션을 시작하거나 복구합니다.
  3. 어시스턴트가 실행 중에 대기 상태, 권한 상태, 계획 상태 등의 구조화된 신호를 보냅니다.
  4. Flutter가 이러한 신호들을 모바일에 최적화된 조작 인터페이스로 렌더링합니다.
  5. 사용자가 모바일에서 승인, 계속, 되돌리기, 검토 또는 입력을 수행합니다.
  6. 결정 사항이 다시 어시스턴트에게 전달되어 완전한 폐쇄 루프(closed loop)를 형성합니다.

이 설계의 핵심은 "컴퓨터를 원격 제어하는 것"이 아니라, **"스마트폰을 컴퓨터의 AI 어시스턴트를 조작하는 주 진입점으로 만드는 것"**입니다.

다음 경로를 따라 시작하는 것을 권장합니다:

  • 컴퓨터에 MobileVC를 설치하고 실행합니다.
  • 모바일에 클라이언트를 설치하고 연결합니다.
  • AI 어시스턴트 사용을 시작합니다.

상단의 "🚀 빠르게 시작하기" 섹션에서 자세한 단계를 확인할 수 있습니다.

MobileVC는 Claude 또는 codex를 AI 엔진으로 사용할 수 있습니다 (예: 모바일 연결 설정에서 Enginecodex로 설정).

  • Skill 실행은 Engine=codex에 따라 codex "<prompt>"로 라우팅됩니다.
  • 런타임 모델 식별 시 codex로 표시됩니다.
  • runtime_info: doctor 명령은 codex CLI를 사용할 수 있는지 추가로 점검합니다.

참고: 현재 "세션 핫 리커버리(hot recovery) / 권한 핫 스위칭(hot switching)" 기능은 resume를 지원하는 엔진에서 더 완전한 경험을 제공합니다. Codex는 범용 PTY 상호작용 능력을 중심으로 작동합니다.

Flutter 단에서 특정 프로젝트 디렉토리에 진입한 후 "세션 목록 (Session List)"을 열면, MobileVC는 다음과 같은 동작을 수행합니다:

  • 현재 디렉토리를 cwd로 설정하여 백엔드에 전달합니다. 이로 인해 해당 디렉토리와 관련된 MobileVC 로컬 세션만 표시됩니다.
  • 동시에 컴퓨터의 해당 디렉토리에 대응하는 네이티브 Codex 세션을 자동으로 병합합니다.

이는 모바일 기기에서 다음과 같은 작업을 직접 수행할 수 있음을 의미합니다:

  • 프로젝트 디렉토리 진입
  • 세션 관리 열기
  • 이전에 컴퓨터에서 Codex로 실행했던 히스토리 세션 확인
  • 세션을 클릭하여 즉시 대화 재개 (세션 ID를 수동으로 기억하거나 codex resume ...를 직접 입력할 필요가 없음)

구현 방식 측면에서, 백엔드는 로컬의 다음 파일들을 읽습니다:

~/.codex/state_5.sqlite
~/.codex/history.jsonl

그리고 이러한 컴퓨터 측 네이티브 세션들을 위한 MobileVC 로컬 미러(Mirror) 기록을 생성합니다. 미러는 다음 역할만 담당합니다:

  • 모바일 단에서의 히스토리 표시
  • 모바일에서 이어서 입력한 후의 투영(Projection) 상태 기록
  • 이후의 메시지를 자동으로 해당하는 codex resume <session-id>로 라우팅

목록에서 컴퓨터 Codex (Computer Codex)로 표시된 세션이 바로 이러한 네이티브 Codex 세션입니다. 이들은 로드 및 재개가 가능하지만, MobileVC 내에서 삭제하는 것은 지원하지 않습니다.

Smoke test: 다음 명령어를 실행하여 백엔드, WebSocket 및 세션 메인 링크를 빠르게 검증할 수 있습니다.
AUTH_TOKEN=test ./scripts/test_smoke_flow.sh

Codex smoke: 다음 명령어를 실행하여 Codex가 적용된 백엔드 시작, WS 세션 및 기초 상호작용 링크를 검증할 수 있습니다.
AUTH_TOKEN=test ./scripts/smoke_codex_backend.sh

백엔드는 다음 경로들을 우선적으로 자동 탐색합니다:

ADB_PATH / EMULATOR_PATH / ANDROID_HOME / ANDROID_SDK_ROOT

  • ~/Library/Android/sdk와 같은 macOS의 일반적인 SDK 경로

만약 여러 ADB 서버 간의 충돌이 발생한다면, 다음과 같이 명시적으로 지정할 수 있습니다:
ADB_SERVER_PORT=5038 AUTH_TOKEN=test go run ./cmd/server

진입 방법:

  • 백엔드를 실행하고 Flutter 클라이언트에 연결합니다.
  • 우측 상단의 휴대폰 아이콘을 클릭하여 ADB 디버깅 (ADB Debugging)을 엽니다.
  • 온라인 기기가 감지되면 즉시 "디버깅 진입 (Enter Debugging)"을 클릭합니다.
  • 온라인 기기는 없지만 AVD(Android Virtual Device)가 감지되면 즉시 "에뮬레이터 시작 (Start Emulator)"을 클릭합니다.
  • 비디오 링크는 WebRTC + H264를 통해 구축되며, 클릭 제어는 DataChannel을 통해 전달됩니다. 화면이 나타나면 모바일에서 프리뷰 화면을 직접 클릭하여 디버깅할 수 있습니다.

설명:

  • 현재 첫 프레임은 보통 에뮬레이터 화면에 변화가 생긴 후에 나타나므로, 연결 후 화면이 완전히 정지되어 있다면 첫 프레임이 약간 늦게 도착할 수 있습니다.
  • 로컬에 여러 ADB 서버 충돌이 존재하는 경우, ADB_SERVER_PORT를 명시적으로 지정하는 것을 권장합니다.
claude
# 또는
codex

Node 런처를 우회하고 싶다면 기존 방식도 여전히 사용 가능합니다:
AUTH_TOKEN=test go run ./cmd/server

cd mobile_vc
flutter pub get
flutter run

Host / Port / Token 설정이 올바른지 확인하십시오.

iOS / Android에서 앱이 백그라운드로 전환되었더라도 현재 세션이 실행 중이라면, 클라이언트는 마지막 응답과 알림을 최대한 수신하기 위해 약 90초 동안의 단기 백그라운드 유지(Background Keep-alive) 기능을 자동으로 활성화합니다.

먼저 Smoke test를 한 번 실행하여 로컬 백엔드, 인증(Authentication) 및 WebSocket 메인 링크가 정상인지 확인하는 것을 권장합니다.

실행 전, 로컬 Go 서비스가 시작되었는지, 그리고 AUTH_TOKEN이 테스트 명령어와 일치하는지 확인하십시오.

AUTH_TOKEN=test ./scripts/test_smoke_flow.sh를 직접 실행하여 최소 메인 링크 자가 점검을 수행할 수 있습니다.

Go 서비스를 먼저 시작한 후, 최소 메인 링크 자가 점검 명령어를 실행하는 것을 권장합니다.

Smoke test: AUTH_TOKEN=test ./scripts/test_smoke_flow.sh는 백엔드, WebSocket 및 세션 스트림의 사용 가능 여부를 빠르게 검증하는 데 사용됩니다.
이 명령어는 로컬 서비스에 연결하여 한 차례의 최소 엔드 투 엔드(End-to-End) 프로세스를 실행하며, 이를 통해 환경이 정상인지 확인할 수 있습니다.
해당 명령어가 통과되면 일반적으로 인증, WebSocket 및 세션 메인 링크가 모두 준비되었음을 의미합니다.
Go 서비스를 시작한 후 WebSocket, 세션 스트림 및 인증이 모두 사용 가능한지 빠르게 확인하기 위해 먼저 실행하는 것을 권장합니다.
mobilevc start로 실행한 직후에 동일한 명령어를 실행하여 메인 링크 자가 점검을 수행할 수도 있습니다.

AUTH_TOKEN=test ./scripts/test_smoke_flow.sh
go test ./...

cd mobile_vc
flutter test
bin/ # npm 실행기
cmd/server/ # Go 서비스 엔트리 포인트
cmd/server/web/ # 현재 Go 바이너리에 임베딩된 Flutter Web 결과물
...

설명: 루트 디렉토리의 web/web.backup/

과거 결과물/백업의 의미로만 유지되며, 현재 임베딩된 경로는 cmd/server/web/을 기준으로 합니다.

mobile_vc/scripts/build_ios_ota.sh : iPhone OTA IPA를 생성하며, 선택적으로 설치 페이지에 직접 업로드할 수 있습니다.
mobile_vc/scripts/build_ios_testflight.sh : TestFlight 패키징/업로드 보조 스크립트
mobile_vc/scripts/update_install_page_testflight.sh : 설치 페이지의 TestFlight 정보 업데이트
mobile_vc/scripts/render_install_page.py : 설치 페이지 index.html의 통합 렌더링

더 완전한 문서 탐색은 docs/project-index.md를 참조하세요.

MobileVC는 여러분의 스마트폰을 컴퓨터에서 실행 중인 AI 코딩 어시스턴트 CLI 세션(Claude 또는 Codex)을 위한 컨트롤 센터로 변환합니다.

이 도구는 키보드에서 떨어져 있는 순간에도 작업을 계속해서 출시(shipping)해야 할 때를 위해 만들어졌습니다. 권한 승인, 플랜 모드(Plan Mode) 처리, 디프(diff) 검토, 파일 및 로그 조사, 세션 재개 등을 통해 워크플로우를 계속 진행할 수 있습니다.

  • 모바일 AI 어시스턴트 제어
  • 권한 확인
  • 플랜 모드 (Plan Mode) 처리
  • 다중 파일 디프 (diff) 검토
  • 파일 / 로그 / 런타임 조사
  • 세션 재개 및 히스토리
  • 데스크톱 Codex와의 원활한 재개를 지원하는 디렉토리 범위 세션 탐색
  • 스킬 캡슐 (Skill capsules) 및 메모리 카드 (Memory cards)
  • 원탭 동기화 및 AI 지원 저작 (Authoring)
  • 스킬 / 메모리 / 컨텍스트 (Context) 관리
  • 선택적 TTS 알림

터미널 미러가 아닙니다. 데스크톱 클론도 아닙니다.

모바일 우선 워크플로우를 통해 데스크톱 AI 코딩 어시스턴트를 거의 전적으로 모바일에서 조작할 수 있게 합니다.

본 프로젝트는 MIT License 오픈 소스 라이선스를 채택합니다.

이는 다음과 같은 권한을 의미합니다:

  • ✅ 본 소프트웨어를 자유롭게 사용, 복제, 수정, 병합, 게시, 배포할 수 있습니다.
  • ✅ 상업적 또는 비상업적 목적으로 사용할 수 있습니다.
  • ✅ 소프트웨어 복사본을 재라이선스하거나 판매할 수 있습니다.

유일한 요구 사항은 다음과 같습니다:

  • 📋 모든 복사본에 저작권 고지 및 라이선스 고지를 포함해야 합니다.

상세 조항은 LICENSE 파일을 확인해 주세요.

Issue와 Pull Request 제출을 환영합니다!

개발에 참여하고 싶거나 제안 사항이 있다면 LINUX DO 커뮤니티에서 자유롭게 토론하고 교류해 주세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0