
Pinky란?
Pinky는 AI 에이전트가 Model Context Protocol, 즉 MCP를 통해 실제 iPhone 또는 Android 기기를 조작할 수 있도록 해 주는 무료 오픈 소스 데스크톱 애플리케이션입니다. macOS, Windows, Linux에서 실행되며 Claude Code, Claude Desktop, Codex, Cursor 및 기타 MCP 호환 도구와 함께 사용할 수 있습니다.
Pinky의 미러링된 휴대폰 화면에서 에이전트의 작업을 확인하고, 민감한 작업을 승인하거나, 에이전트를 일시 중지하고, 직접 조작한 뒤, 나중에 녹화 내용을 검토할 수 있습니다. 중요한 점은 승인 규칙이 에이전트에 전달되는 지시가 아니라 Pinky의 게이트웨이에서 적용된다는 것입니다.
프로젝트 상태: Pinky는 현재 프리알파 단계입니다. 실제 Android 및 iPhone 기기에서 핵심 워크플로를 처음부터 끝까지 사용할 수 있지만, 일부 조합과 기능은 아직 더 폭넓은 테스트가 필요합니다.
주요 기능
- 크로스 플랫폼 데스크톱 앱: Pinky는 macOS 13 이상, 64비트 Windows 10 및 11, glibc 2.29 이상과 GTK 3을 사용하는 최신 64비트 Linux 배포판을 지원합니다.
- Android 및 iOS 지원: Android 10부터 17까지, 그리고 iOS 17.4 이상을 실행하는 iPhone 또는 iPad 기기를 지원합니다.
- 게이트웨이 적용 승인: 결제, 거래, 송금은 기본적으로 승인을 기다립니다. 메시지, 주문, 삭제, 통화, 설치, 외부 링크, 설정 변경 또는 모든 작업에 대해 승인을 요구하도록 설정할 수도 있습니다.
- 보호된 애플리케이션 및 필드: 은행, 지갑, 비밀번호 관리자 앱은 기본적으로 에이전트에게 숨겨집니다. 에이전트는 비밀번호 또는 일회용 코드 필드에 입력할 수 없습니다.
- 수동 제어: 휴대폰 미러를 클릭하면 사용자가 제어권을 돌려줄 때까지 에이전트가 일시 중지됩니다. Android에서는 실제 휴대폰을 터치해도 에이전트가 일시 중지됩니다.
- 실행 기록: Pinky는 일반 언어로 된 단계, 스크린샷, 화면 녹화본을 로컬에 저장하며 실행 기록을 HTML 보고서로 내보낼 수 있습니다.
- 안전한 잠금 해제: Pinky에 휴대폰 PIN을 저장하고 Touch ID, Windows Hello 또는 시스템 키링 비밀번호로 각 잠금 해제를 승인할 수 있습니다. 에이전트는 PIN을 전달받지 않습니다.
- 백그라운드 Android 작업 공간: Android 13 이상에서는 기본 휴대폰 화면을 사용하거나 꺼 두거나 잠근 상태로 유지하면서 에이전트가 숨겨진 두 번째 화면을 사용할 수 있습니다.
- 작은 네이티브 애플리케이션: Pinky는 Electron이나 웹뷰 대신 GPU로 렌더링되는 MyGo 인터페이스를 사용합니다. 다운로드 용량은 약 16~22MB입니다.
요구 사항
데스크톱 컴퓨터
- macOS: Apple silicon 또는 Intel 기반에서 macOS 13 이상.
- Windows: 64비트 Windows 10 또는 Windows 11.
- Linux: glibc 2.29 이상과 GTK 3이 설치된 Ubuntu 20.04, Debian 11 또는 호환되는 최신 배포판을 실행하는 x86-64 컴퓨터.
휴대폰 또는 가상 기기
- Android: Android 10부터 17까지 및 USB 케이블. Android 11 이상에서는 무선 디버깅으로도 페어링할 수 있습니다.
- iPhone 또는 iPad: iOS 17.4 이상 및 초기 설정을 위한 USB 케이블. 이후에는 Wi-Fi로 사용할 수 있습니다.
- 선택 사항인 가상 기기: Pinky는 Android Studio에서 만든 Android 에뮬레이터 또는 Mac의 Xcode에서 만든 iOS 시뮬레이터와 함께 사용할 수 있습니다.
AI 에이전트
MCP 서버에 연결할 수 있는 에이전트가 필요합니다. README에는 Claude Code, Claude Desktop, Codex, Cursor, VS Code, Copilot CLI, Windsurf 및 Gemini가 지원되는 도구로 소개되어 있습니다.
1단계: Pinky 설치

최신 Pinky 릴리스에서 현재 패키지를 다운로드합니다.
macOS
Apple silicon Mac에서는 ARM64 DMG를, Intel Mac에서는 AMD64 DMG를 선택합니다. 디스크 이미지를 열고 Pinky를 Applications 폴더로 드래그합니다.
Homebrew 사용자는 다음 명령으로 설치할 수 있습니다.
brew install --cask diygod/tap/pinky
Windows
pinky-setup-<version>-amd64.exe를 다운로드해 실행합니다. 관리자 권한 없이 현재 계정에 설치됩니다. 설치 프로그램이 아직 서명되지 않았기 때문에 Windows SmartScreen에서 More info를 선택한 다음 Run anyway를 선택해야 할 수 있습니다.
포터블 설치를 하려면 Windows ZIP 아카이브를 다운로드하고 압축을 푼 뒤 Pinky.exe를 엽니다.
Linux
Debian 또는 Ubuntu에서는 DEB 패키지를 다운로드한 뒤 다음 명령으로 설치합니다.
sudo apt install ./pinky_<version>_amd64.deb
호환되는 다른 배포판에서는 pinky-<version>-linux-amd64.tar.gz를 별도 디렉터리에 압축 해제하고 포함된 pinky 실행 파일을 실행합니다.
2단계: Android 휴대폰 연결
Pinky를 열고 Add phone을 선택한 다음 Android를 선택합니다. Pinky는 Xiaomi, OPPO, vivo, HONOR, HUAWEI, Samsung, Pixel 등 주요 브랜드에 맞는 안내를 제공합니다.
- 휴대폰의 설정을 열고 About phone을 찾습니다.
- Build number를 7번 탭해 개발자 옵션을 활성화합니다.
- Settings › System › Developer options를 열고 USB debugging을 활성화합니다. 메뉴 이름은 제조업체에 따라 다를 수 있습니다.
- USB 케이블로 휴대폰을 컴퓨터에 연결합니다.
- Android에서 USB 디버깅을 허용할지 묻는 메시지가 표시되면 Allow를 탭합니다.
- Pinky Companion 설치 제안을 수락합니다. Companion은 화면 읽기 속도를 높이고 모든 언어로 입력할 수 있게 합니다.

Pinky에는 자체적으로 빌드된 adb가 포함되어 있으므로 일반적으로 Android 플랫폼 도구가 필요하지 않습니다. Android Studio, Homebrew 또는 운영 체제를 통해 플랫폼 도구가 이미 설치되어 있는 경우 Pinky는 기존 도구를 사용하며 해당 ADB 서버를 공유합니다.
Windows USB 드라이버
일부 Android 휴대전화는 Windows에서 USB 디버깅 드라이버가 필요합니다. Pinky는 누락된 설정을 식별하고 적절한 Google, Samsung 또는 제조업체 드라이버로 안내합니다. 설치한 후 휴대전화를 다시 연결하세요.
Linux USB 액세스
Linux에서는 Pinky가 Android USB 기기에 액세스할 수 있도록 udev 규칙이 필요합니다. Debian 및 Ubuntu에서는 다음 명령으로 설치하세요.
sudo apt install android-sdk-platform-tools-common
Arch 사용자는 android-udev를, Fedora 사용자는 android-tools를 설치할 수 있습니다. plugdev 그룹에 가입해야 할 수도 있습니다.
Wi-Fi로 Android 페어링
Android 11 이상에서는 휴대전화 추가 화면에서 무선 디버깅을 통해 페어링할 수 있습니다. 컴퓨터와 휴대전화는 서로 통신할 수 있는 네트워크에 연결되어 있어야 합니다.
자동 검색에 실패하면 대신 코드로 페어링을 선택하세요. Android에서 페어링 코드로 기기 페어링을 열고 표시된 IP 주소, 포트 및 6자리 코드를 Pinky에 입력하세요.
Android 10은 무선 디버깅을 지원하지 않습니다. 케이블로 연결한 후 Pinky의 대신 Wi-Fi 사용… 옵션을 사용하여 연결을 Wi-Fi로 전환하세요.
3단계: iPhone 또는 iPad 연결
휴대전화 추가 › iPhone을 선택하고 안내에 따라 설정을 진행하세요.
- USB로 기기를 연결하고 잠금을 해제한 다음 신뢰를 탭하고 암호를 입력하세요.
- Windows에서는 Microsoft Store에서 Apple Devices를 설치하거나 iTunes를 설치하세요. Linux에서는
usbmuxd패키지를 설치하세요. - 설정 › 개인정보 보호 및 보안에서 개발자 모드를 활성화하세요. 필요한 경우 Pinky에서 이 설정을 사용할 수 있습니다.
- 기기가 재시작될 때까지 기다린 후 잠금을 해제하고 켜기를 선택한 다음 암호를 입력하세요.
- Pinky가 Apple 개발자 디스크 이미지를 마운트하고 기기를 준비 완료 상태로 표시할 때까지 기다리세요.
개발자 디스크 이미지

Pinky에는 Apple 개발자 디스크 이미지가 포함되어 있지 않습니다. macOS에서는 Xcode를 한 번 설치하고 열어 Pinky가 해당 이미지를 사용할 수 있도록 하세요. Windows 및 Linux 사용자는 필요한 iOS_DDI 디렉터리를 Mac에서 Pinky 폴더로 복사할 수 있습니다.
적합한 이미지를 사용할 수 없는 경우 Pinky는 사용자가 다운로드를 명시적으로 승인한 후에만 타사 미러에서 이미지를 다운로드할 수 있습니다. Pinky는 다운로드한 파일을 예상 체크섬과 대조하여 확인합니다.
iOS 버전별 차이
- iOS 27 이상: Pinky는 휴대전화에 앱을 설치하지 않으며, 마운트된 개발자 디스크 이미지는 재시작 후에도 계속 사용할 수 있습니다.
- iOS 17.4~26: 탭, 스와이프 및 입력을 사용하려면 Apple ID로 Xcode를 통해 한 번 빌드하고 설치한 WebDriverAgent 도우미가 필요합니다.
- 무료 Apple ID 제한: 도우미를 7일마다 다시 설치해야 합니다. Pinky는 만료 이틀 전부터 알림을 표시합니다.
- 이전 지원 iOS 버전에서 도우미를 사용하지 않는 경우: Pinky는 Mac에서 화면을 표시하고 읽거나 앱을 열 수 있지만 탭, 스와이프 또는 입력은 수행할 수 없습니다.
- iOS 17.3 이하: 이 버전은 지원되지 않습니다.
Wi-Fi로 iPhone 사용
처음 신뢰할 수 있는 USB 설정을 완료하면 Pinky는 컴퓨터와 동일한 Wi-Fi 네트워크에서 iPhone 또는 iPad를 사용할 수 있습니다. 활성 연결을 USB와 Wi-Fi 사이에서 자동으로 전환하므로 잠시 중단된 후에도 에이전트의 작업을 계속할 수 있습니다.
특히 스크린샷을 전송할 때 Wi-Fi는 케이블보다 느립니다. 더 빠르고 안정적인 자동화를 위해 가능하면 기기를 USB로 연결해 두세요.
4단계: Pinky를 AI 에이전트에 연결
Pinky에서 설정 › 에이전트를 여세요. 설치된 에이전트를 찾아 연결을 클릭하세요. Pinky는 stdio 또는 HTTP를 통해 MCP 연결을 제공할 수 있으므로 같은 컴퓨터의 지원 에이전트나 HTTP를 지원하는 클라이언트에서 사용할 수 있습니다.
새 에이전트마다 사용자의 승인이 필요하며, 사용자가 부여한 범위만 받습니다. 작업을 시작하기 전에 필요 이상으로 광범위한 액세스 권한을 부여하지 말고 권한과 안전 동작을 검토하세요.
5단계: 안전 규칙 구성
설정 › 안전을 열어 확인이 필요한 작업을 제어하세요. 결제, 송금 및 거래는 기본적으로 승인을 받기 전까지 보류됩니다. 현재 앱을 벗어나는 전송, 주문, 삭제, 통화, 설치, 설정 변경 또는 링크에 대해서도 Pinky가 확인을 요청하도록 설정할 수 있습니다.
처음 테스트할 때는 모든 작업에 승인을 요구하는 것이 좋습니다. 에이전트의 동작을 파악한 후에는 민감한 작업을 보호하면서 확인 요청을 줄일 수 있습니다.
Pinky는 10개 언어로 된 관련 버튼을 인식합니다. 확인 작업은 Pinky의 게이트웨이에서 실행되므로 휴대전화에 표시된 텍스트가 그렇게 하도록 지시하더라도 에이전트가 자체적으로 차단된 작업을 승인할 수 없습니다.
기본 사용법

휴대전화와 에이전트가 연결되면 에이전트에 모바일 작업을 수행하도록 요청하세요. 기본적인 감독형 작업 흐름은 다음과 같습니다.
- Pinky의 휴대폰 미러 화면이 보이도록 유지합니다.
- 에이전트에게 명확한 지시를 내립니다.
- 에이전트가 화면을 검사하고 조작하는 과정을 지켜봅니다.
- Pinky가 표시하는 승인 요청을 검토합니다.
- 대기 중인 작업이 의도한 내용과 일치할 때만 허용을 선택합니다.
- 에이전트에 도움이 필요하면 수동으로 제어한 다음, 준비가 되면 제어권을 다시 넘깁니다.
- 실행이 끝난 후 기록된 단계를 검토합니다.
예를 들어 다음과 같이 요청할 수 있습니다.
메시지를 열고, 선택한 대화에 답장을 입력한 다음, 전송하기 전에 기다려.
메시지 전송에 승인이 필요하도록 설정되어 있으면 Pinky는 사용자가 허용할 때까지 최종 전송 작업을 보류합니다.
에이전트 제어권 가져오기 또는 중지
미러링된 휴대폰 화면을 클릭하면 에이전트가 일시 중지되고 제어권을 가져올 수 있습니다. Android에서는 실제 기기와 상호작용해도 자동화가 일시 중지됩니다. 작업을 마치면 Pinky를 통해 제어권을 다시 넘깁니다.
어디서든 모든 작업을 중지하려면 macOS에서는 ⌥⌘.을, Windows와 Linux에서는 Ctrl+Alt+.을 사용합니다.
실행 검토 및 내보내기
Pinky는 각 실행을 일반 언어로 작성된 단계, 스크린샷, 각 단계의 위치가 표시된 화면 녹화로 기록합니다. 이러한 기록은 컴퓨터에 남아 있습니다.
기록을 사용해 에이전트가 수행한 작업을 확인하고, 예상치 못한 결과를 조사하거나, 나중에 검토할 HTML 보고서를 내보낼 수 있습니다.
고급 팁
휴대폰의 Checkup 실행
휴대폰 미러 화면 아래의 점 3개 메뉴를 열고 Checkup을 선택합니다. ADB, 연결, Pinky Companion, 탭 동작, Wi-Fi 및 기타 필수 구성 요소의 작동 여부를 점검하고, 기기별 복구 지침을 제공합니다.

성능이 중요할 때는 USB 사용
Wi-Fi는 편리하지만 일반적으로 USB가 더 낮은 지연 시간과 빠른 스크린샷을 제공합니다. 특히 iOS에서 작업 시간이 길거나 화면 처리가 많은 작업을 수행할 때는 케이블을 사용합니다.
로컬 네트워크 권한 확인
macOS에서 Pinky가 휴대폰을 검색하려면 로컬 네트워크 접근 권한이 필요합니다. 시스템 설정 › 개인정보 보호 및 보안 › 로컬 네트워크에서 권한을 활성화합니다. Windows와 Linux에서는 방화벽이 Pinky의 로컬 네트워크 사용을 허용하는지 확인합니다.
분리된 Wi-Fi 네트워크 피하기
게스트 네트워크, 사무실 네트워크, 클라이언트 격리가 설정된 라우터에서는 휴대폰과 컴퓨터가 서로 연결되지 않을 수 있습니다. 일반적인 가정용 네트워크를 사용하거나, 코드로 페어링하거나, USB로 연결합니다.
사용 가능한 경우 Android의 보조 화면 사용
Android 13 이상에서는 에이전트가 숨겨진 보조 화면에서 작업할 수 있습니다. 따라서 작업이 실행되는 동안 주 화면을 계속 사용하거나 화면을 끄고 잠근 상태로 둘 수 있습니다.
제한된 앱 보호
은행, 지갑, 비밀번호 관리자 앱은 기본적으로 사용이 제한됩니다. 작업에 은행 또는 지갑 앱이 실제로 필요한 경우 기본 설정을 광범위하게 변경하지 말고 해당 작업에 한해 접근 권한을 부여합니다.
iPhone의 Wi-Fi 동작 이해
Wi-Fi에 연결된 잠긴 iPhone은 절전 상태에서 네트워크에서 사라졌다가 잠금 해제 후 다시 연결될 수 있습니다. macOS에서 시스템 기기 서비스가 휴대폰 연결을 잃으면 Pinky가 이를 감지하고 확인 후 해당 서비스를 다시 시작하도록 제안할 수 있습니다.
현재 지원 상태 확인
Pinky는 프리알파 단계이므로 특정 플랫폼이나 기기 조합에 의존하기 전에 저장소의 지원 문서를 확인합니다. 문서에는 현재 작동하는 기능과 테스트 방법이 설명되어 있습니다.
결론
Pinky는 MCP 호환 AI 에이전트와 실제 모바일 기기를 연결하는 실용적인 다리를 제공하면서도 사람이 제어권을 유지하도록 합니다. 게이트웨이에서 강제하는 승인 절차, 제한된 애플리케이션, 수동 제어권 전환, 로컬 기록 기능을 통해 휴대폰 자동화를 더욱 신중하게 실험할 수 있습니다. USB로 연결된 테스트 기기에서 시작하고, 광범위한 승인을 요구하며, 각 실행을 확인한 뒤, 워크플로가 예상대로 작동하는 것을 확인한 경우에만 권한을 확대합니다.
