
에이전트 & 인간을 위한 범용 모바일 개발 도구 - 단일 대시보드와 CLI로 iOS 시뮬레이터, Android 에뮬레이터 및 실제 기기를 제어하세요
범용 모바일 개발 도구 — 단일 대시보드와 CLI에서 iOS 시뮬레이터, Android 에뮬레이터, 실제 기기를 제어합니다
npx simvyn
로컬 서버를 시작하고, 브라우저에서 웹 대시보드를 열며, 연결된 모든 시뮬레이터, 에뮬레이터, USB로 연결된 실제 기기를 자동으로 검색합니다.
## 설치
**전역 설치:**```bash
npm install -g simvyn
일회성 사용(설치 불필요):```bash npx simvyn
**요구 사항:**
- Node.js 22 (22.14.0+) 또는 24+
- macOS (iOS + Android 전체 지원) 또는 Linux (Android만 지원)
## AI 코딩 에이전트
simvyn은 기기 검색, 지원되는 CLI 명령 실행, 스크린샷 캡처, 앱 데이터 검사, 제한된 로그 수집을 위한 이식 가능한 [Agent Skill](https://github.com/pranshuchittora/simvyn/blob/main/skills/simvyn/SKILL.md)을 포함합니다. 이는 에이전트가 명시적 기기 ID와 플랫폼 제한을 사용하여 CLI를 사용하도록 가르칩니다. 이 스킬은 에이전트의 기존 터미널 도구를 사용하며, MCP 서버나 새로운 에이전트 도구를 등록하지 않습니다.
**Pi:** npm 패키지는 [Pi 패키지](https://pi.dev/packages/simvyn)입니다. 스킬과 함께 `simvyn`, `simvyn_screenshot`, `simvyn_logs`, `simvyn_record` 도구, 대시보드를 실행하는 `/simvyn` 명령, 그리고 `/simvyn-repro`, `/simvyn-screen`, `/simvyn-logs` 프롬프트 템플릿을 추가합니다. Pi 0.74 이상이 필요합니다:```bash
pi install npm:simvyn
기타 호환 에이전트: GitHub에서 에이전트를 선택하여 포터블 스킬을 설치하고, simvyn CLI를 별도로 설치하세요:```bash npm install -g simvyn npx skills add pranshuchittora/simvyn --skill simvyn --agent codex --yes
GitHub 명령을 사용하려면 기본 브랜치에 이러한 스킬 파일이 있어야 하며, Pi 명령을 사용하려면 게시된 npm 릴리스에 Pi 리소스가 있어야 합니다. 릴리스되지 않은 변경 사항의 경우 [로컬 체크아웃 지침](https://github.com/pranshuchittora/simvyn/blob/main/docs/agents.md#test-an-unreleased-checkout)을 참조하세요.
번들로 제공되는 런처, 지원되는 출력, 비대화형 작업 및 현재 제한 사항에 대해서는 [에이전트 설정 및 워크플로 가이드](https://github.com/pranshuchittora/simvyn/blob/main/docs/agents.md)를 참조하세요. 문서 URL을 허용하는 도구를 위한 간결한 [문서 색인](https://github.com/pranshuchittora/simvyn/blob/main/llms.txt)도 제공됩니다.
## 기능
- **기기 관리** — 즐겨찾기 고정 기능을 통해 시뮬레이터, 에뮬레이터 및 실제 기기를 검색, 부팅, 종료, 초기화, 생성 및 복제
- **앱 관리** — 드래그 앤 드롭 또는 CLI를 통해 앱 설치, 실행, 종료, 제거
- **로그 뷰어** — 레벨 필터링, 페이지 내 찾기 검색(Cmd+F), 정규식 검색, 페이지네이션 및 내보내기를 지원하는 실시간 스트리밍
- **위치 시뮬레이션** — GPS 좌표 설정, 속도 제어를 통한 GPX/KML 경로 재생, 즐겨찾기 저장
- **기기 설정** — 다크 모드, 로케일, 방향, 권한, 상태 표시줄 재정의, 접근성 프리셋
- **스크린샷 및 녹화** — 스크린샷 캡처 및 기록이 포함된 화면 비디오 녹화
- **딥 링크** — URL 및 사용자 정의 스킴 열기, 앱별 즐겨찾기 저장
- **데이터베이스 검사기** — SQLite 테이블 탐색, SQL 쿼리 실행, SharedPreferences 및 NSUserDefaults 보기
- **파일 브라우저** — 앱 샌드박스 탐색, 파일 업로드/다운로드, 텍스트 인라인 편집
- **푸시 알림** — JSON 페이로드 작성, iOS 시뮬레이터로 전송, 템플릿 라이브러리
- **컬렉션** — 기기 작업을 재사용 가능한 시퀀스로 묶고 여러 기기에 한 번에 적용
- **크래시 로그** — iOS 진단 보고서 및 Android logcat/tombstone 크래시
- **클립보드** — 기기 클립보드 내용 읽기 및 쓰기
- **미디어** — 기기 카메라 롤 및 갤러리에 사진과 비디오 푸시
- **도구 설정** — 서버 구성, 스토리지 관리, 진단 및 디버그 보고서
- **실제 기기 지원** — USB를 통해 실제 Android 및 iOS 기기를 자동 검색으로 연결
- **웹 대시보드** — 명령 팔레트와 키보드 탐색을 갖춘 Apple Liquid Glass 디자인
- **전체 CLI** — 모든 기능이 `simvyn <command>`를 통해 헤드리스로 작동
## 모듈 쇼케이스
### 기기 관리
연결된 모든 iOS 시뮬레이터, Android 에뮬레이터 및 USB로 연결된 실제 기기를 하나의 통합 목록에서 검색합니다. Xcode나 Android Studio를 건드리지 않고 기기를 부팅, 종료 및 초기화할 수 있습니다. 기기 유형과 런타임을 선택하여 새 iOS 시뮬레이터를 생성하거나 기존 시뮬레이터를 복제하여 빠르게 복제본을 만들 수 있습니다. 실제 기기는 연결 시 자동으로 나타나며 기기 선택기에서 별도로 그룹화됩니다.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/2b85641878f6015c248311700a1a87a20476ade6c930273a3e47f288a82d6d2e.png" alt="Device Management" width="700" /></p>
- 플랫폼 전반에 걸쳐 사용 가능한 모든 시뮬레이터, 에뮬레이터 및 실제 기기 나열
- 클릭 한 번 또는 CLI 명령으로 기기 부팅, 종료 및 초기화
- 기기 유형 및 런타임 선택으로 새 iOS 시뮬레이터 생성
- 기존 시뮬레이터 복제 및 이름 변경
- 즐겨찾는 기기를 기기 선택기 상단에 고정
- WebSocket을 통한 실시간 기기 상태 업데이트
### 앱 관리
연결된 모든 기기에 앱을 설치, 실행, 종료 및 제거합니다. IPA, APK 또는 iOS 시뮬레이터 .app 번들을 대시보드에 직접 드래그 앤 드롭합니다. 수동 adb 또는 simctl 명령 없이 상세한 앱 정보를 보고 앱 데이터를 지웁니다.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/17757b1ca8ddd41d43ac3a159260598308da6c3f759e1c9d730f61498e18ce8a.png" alt="App Management" width="700" /></p>
- IPA, APK 및 iOS 시뮬레이터 .app 드래그 앤 드롭 설치
- 번들 ID로 앱 실행, 종료 및 제거
- 버전, 크기 및 권한을 포함한 앱 세부 정보 보기
- Android 기기에서 앱 데이터 지우기
- 검색 필터링으로 설치된 모든 앱 나열
### 로그 뷰어
강력한 필터링으로 기기 로그를 실시간으로 스트리밍합니다. 로그 레벨로 필터링하고, 정규식 패턴으로 검색하고, 프로세스 이름으로 필터링합니다. 페이지 내 찾기 검색(Cmd+F)을 사용하여 주변 컨텍스트를 숨기지 않고 특정 항목을 강조 표시합니다. 공유 또는 보관을 위해 필터링된 로그를 내보냅니다. 페이지네이션된 기록을 통해 성능 문제 없이 수천 개의 항목을 스크롤할 수 있습니다.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/b909b3515637b4059ebf210c56599f2f022506f09ee35a11e812bd8368d3750e.png" alt="Log Viewer" width="700" /></p>
- WebSocket을 통한 실시간 로그 스트리밍
- 레벨별 필터링: debug, info, warning, error, fatal
- 일치 항목 강조 표시, 탐색 및 카운터가 있는 페이지 내 찾기 검색(Cmd+F)
- 정규식 검색 및 프로세스 이름 필터링
- 가상 스크롤이 있는 페이지네이션된 기록
- 필터링된 로그를 파일로 내보내기
- 지우기 후에도 상태를 유지하면서 로그 스트리밍 일시 중지/재개
### 위치
대화형 지도 또는 수동 입력을 사용하여 모든 기기에 정확한 GPS 좌표를 설정합니다. 조정 가능한 속도 제어로 GPX 및 KML 경로 파일을 재생합니다. 자주 사용하는 위치를 즐겨찾기로 저장하여 빠르게 액세스합니다.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/47842dfa878ffbc80bd5bb32d83e820e7ed7dd56a4d63368ca6e823ef72889d4.png" alt="Location" width="700" /></p>
- 클릭하여 좌표를 설정하는 대화형 지도
- 속도 제어가 있는 GPX 및 KML 경로 파일 재생
- 기기별로 저장되는 즐겨찾기 위치
- 다중 기기 위치 브로드캐스트
- 사람이 읽을 수 있는 주소를 위한 역지오코딩
### 기기 설정
다크 모드 전환, 로케일 변경, 기기 방향 회전(Android), 앱 권한 관리 및 상태 표시줄 모양 재정의. 접근성 프리셋을 적용하여 다양한 조건에서 앱을 테스트합니다. 모든 설정 변경은 대상 기기에 즉시 적용됩니다.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/d3f6a33c17b773560072f7b94b71abd5ebc82786c073bdeb6d25f828c3f214fa.png" alt="Device Settings" width="700" /></p>
- 다크/라이트 모드 전환
- 기기 로케일 변경
- 앱 권한 관리
- 상태 표시줄 재정의(시간, 배터리, 신호)
- 접근성 프리셋(굵은 텍스트, 대비 증가, 콘텐츠 크기)
### 스크린샷 및 녹화
모든 기기에서 스크린샷을 캡처하고 화면 비디오를 녹화합니다. 모든 캡처는 타임스탬프와 함께 저장되며 탐색 가능한 기록으로 정리됩니다. 대시보드에서 직접 캡처를 다운로드하거나 삭제합니다.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/58ed8f25d148ed53f39066e42be730f255235dbec47539bbec826c455cba7936.png" alt="Screenshots and Recording" width="700" /></p>
- 원클릭 스크린샷 캡처
- 시작/중지 컨트롤이 있는 화면 녹화
- 타임스탬프가 있는 캡처 기록
- 대시보드에서 캡처 다운로드 및 삭제
### 딥 링크
모든 기기에서 URL 및 사용자 정의 URI 스킴을 엽니다. 자주 사용하는 딥 링크를 앱별로 정리된 즐겨찾기로 저장합니다. 터미널에 URL을 수동으로 입력하지 않고 앱의 딥 링크 처리를 테스트합니다.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/3a990ef7c74f83c93b63c1654f74b3fa952b0b41abd31fe688cdaf2e29570f62.png" alt="Deep Links" width="700" /></p>
- 기기에서 모든 URL 또는 사용자 정의 스킴 열기
- 앱별 즐겨찾기 딥 링크 저장
- 최근 순으로 정렬된 링크 기록
- iOS와 Android 모두에서 작동
### 데이터베이스 검사기
모든 앱 샌드박스 내부의 SQLite 데이터베이스를 탐색합니다. 테이블 스키마를 보고, 임의의 SQL 쿼리를 실행하고, SharedPreferences(Android) 또는 NSUserDefaults(iOS)를 검사합니다. 스크립트를 작성하지 않고 값을 인라인으로 편집합니다.