Projeto em alta conecta agentes de IA diretamente a iPhones pelo Mac
O Phone Harness usa o Espelhamento do iPhone no macOS para permitir que agentes vejam, toquem e verifiquem ações em um aparelho real.
O Phone Harness usa o Espelhamento do iPhone no macOS para permitir que agentes vejam, toquem e verifiquem ações em um aparelho real.
Criado por ShawnPana, o repositório ShawnPana/phone-harness chegou ao primeiro lugar diário do ranking Trendshift em 9 de agosto de 2026. A proposta é oferecer uma camada fina e editável para que agentes de IA controlem um iPhone real sem jailbreak, Xcode ou WebDriverAgent, resolvendo a dificuldade de automatizar aparelhos sem depender de uma árvore de acessibilidade ou de interfaces internas dos aplicativos.
Agentes de IA precisam perceber o estado de uma tela, executar ações e confirmar se o resultado esperado ocorreu. Em celulares, esse fluxo costuma depender de APIs específicas, ferramentas de teste ou mecanismos de automação que não representam exatamente o que aparece para o usuário.
O Phone Harness usa a janela de Espelhamento do iPhone no Mac como canal de comunicação. O agente captura a tela, reconhece textos e suas coordenadas, envia eventos de entrada e faz uma nova captura para verificar a mudança.
A abordagem também evita uma dependência comum em automação: o acesso a uma árvore de elementos da interface. Segundo o README, a janela espelhada funciona como um fluxo de vídeo sem árvore de acessibilidade, portanto a tela capturada é tratada como a fonte de verdade.
O projeto combina o comando screencapture com o framework Vision da Apple para reconhecimento óptico de caracteres, ou OCR. Esse processo identifica textos visíveis e fornece coordenadas prontas para toque. Para interagir, o Phone Harness usa eventos CGEvents em nível HID, capazes de enviar toques, pressionamentos longos, arrastos, gestos de rolagem e texto digitado.
O fluxo básico é: o agente chama ocr(), encontra um texto como “Weather”, toca nas coordenadas retornadas, espera a tela estabilizar e executa outra leitura para confirmar o resultado. Atalhos próprios do espelhamento também estão disponíveis, incluindo Cmd+1 para a tela inicial, Cmd+2 para o seletor de aplicativos e Cmd+3 para o Spotlight.
O README orienta a instalação a partir do clone do repositório:
git clone https://github.com/ShawnPana/phone-harness ~/.phone-harness
cd ~/.phone-harness
./phone-harness --doctor
A configuração exige parear o Espelhamento do iPhone uma vez e conceder ao Terminal as permissões de Acessibilidade e Gravação de Tela no macOS. A primeira permite toques e teclas; a segunda permite visualizar o aparelho. A Gravação de Tela passa a funcionar depois que o Terminal é reiniciado, enquanto a Acessibilidade tem efeito imediato.
O README afirma que o projeto não requer jailbreak, Xcode ou WebDriverAgent. Em vez de se conectar a componentes internos do iOS, ele opera pela janela de Espelhamento do iPhone no macOS, usando captura visual e eventos de entrada.
Outra característica é a ausência de um daemon, ou processo permanente em segundo plano. O transporte é sem estado: os limites da janela e as capturas são consultados novamente a cada chamada, e cada execução é independente.
O código também separa o núcleo protegido, com cerca de 500 linhas, dos auxiliares que o agente pode editar em agent-workspace/agent_helpers.py. O arquivo editável é carregado automaticamente nos scripts, permitindo adaptar funções sem modificar diretamente o núcleo.
O projeto suporta uma sessão com um aparelho por vez. Desbloquear o iPhone físico pausa o espelhamento, não há suporte a multitoque, fluxos de câmera ou Face ID não funcionam, e vídeos protegidos por DRM aparecem pretos. O OCR reconhece texto, mas não entende a semântica de ícones sem rótulo; nesses casos, o README recomenda combinar captura de tela com um modelo capaz de visão.
A janela precisa estar em primeiro plano para receber entradas. O README também registra problemas com AppleScript click at, cargas Unicode enviadas diretamente e arrastos lentos em listas. Essas restrições tornam a automação dependente do comportamento do macOS e da disposição visual dos aplicativos.
O repositório foi criado em 7 de agosto de 2026 e recebeu seu último commit na mesma data. Tem cinco issues abertas, nenhuma release encontrada e não informa testes automatizados, modelos de iPhone compatíveis, telemetria ou dependências adicionais além dos componentes descritos. O uso exige permissões sensíveis do macOS e concede a um agente controle sobre um telefone real, o que torna a supervisão humana importante. A licença é MIT.