
Ferramenta móvel universal para Agentes e Humanos - controle simuladores iOS, emuladores Android e dispositivos reais a partir de um único painel e CLI
Ferramenta de desenvolvimento móvel universal — gerencie simuladores iOS, emuladores Android e dispositivos reais a partir de um único painel de controle e CLI
npx simvyn
Inicia o servidor local, abre o painel web no seu navegador e descobre automaticamente todos os simuladores, emuladores e dispositivos físicos conectados por USB.
## Instalação
**Instalação global:**```bash
npm install -g simvyn
Uso único (sem instalação):```bash npx simvyn
**Requisitos:**
- Node.js >= 22.12.0
- macOS (suporte total para iOS + Android) ou Linux (apenas Android)
## Funcionalidades
- **Gerenciamento de Dispositivos** — Descobrir, iniciar, desligar, apagar, criar e clonar simuladores, emuladores e dispositivos físicos com fixação de favoritos
- **Gerenciamento de Aplicativos** — Instalar, iniciar, encerrar, desinstalar apps via arrastar e soltar ou CLI
- **Visualizador de Logs** — Streaming em tempo real com filtragem por nível, pesquisa na página (Cmd+F), pesquisa regex, paginação e exportação
- **Simulação de Localização** — Definir coordenadas GPS, reproduzir rotas GPX/KML com controle de velocidade, salvar favoritos
- **Configurações do Dispositivo** — Modo escuro, localidade, orientação, permissões, sobreposições da barra de status, predefinições de acessibilidade
- **Capturas de Tela e Gravação** — Capturar screenshots e gravar vídeo da tela com histórico
- **Links Profundos (Deep Links)** — Abrir URLs e esquemas personalizados, salvar favoritos por app
- **Inspetor de Banco de Dados** — Navegar por tabelas SQLite, executar consultas SQL, visualizar SharedPreferences e NSUserDefaults
- **Navegador de Arquivos** — Navegar pelas sandboxes dos apps, fazer upload/download de arquivos, editar texto inline
- **Notificações Push** — Compor payloads JSON, enviar para simuladores iOS, biblioteca de modelos
- **Coleções** — Agrupar ações do dispositivo em sequências reutilizáveis, aplicar a múltiplos dispositivos de uma só vez
- **Logs de Crash** — Relatórios de diagnóstico do iOS e crashes do Android (logcat/tombstone)
- **Área de Transferência** — Ler e escrever o conteúdo da área de transferência do dispositivo
- **Mídia** — Enviar fotos e vídeos para o rolo da câmera e galeria do dispositivo
- **Configurações da Ferramenta** — Configuração do servidor, gerenciamento de armazenamento, diagnósticos e relatórios de debug
- **Suporte a Dispositivos Reais** — Conectar dispositivos Android e iOS físicos via USB com descoberta automática
- **Painel Web** — Design Apple Liquid Glass com paleta de comandos, navegação por teclado
- **CLI Completa** — Todas as funcionalidades funcionam sem interface gráfica via `simvyn <comando>`
## Demonstrações dos Módulos
### Gerenciamento de Dispositivos
Descubra todos os Simuladores iOS, Emuladores Android e dispositivos físicos conectados via USB em uma lista unificada. Inicie, desligue e apague dispositivos sem tocar no Xcode ou Android Studio. Crie novos simuladores iOS escolhendo um tipo de dispositivo e runtime, ou clone um existente para criar rapidamente duplicatas. Dispositivos físicos aparecem automaticamente quando conectados e são agrupados separadamente no seletor de dispositivos.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/2b85641878f6015c248311700a1a87a20476ade6c930273a3e47f288a82d6d2e.png" alt="Gerenciamento de Dispositivos" width="700" /></p>
- Listar todos os simuladores, emuladores e dispositivos físicos disponíveis entre plataformas
- Iniciar, desligar e apagar dispositivos com um clique ou comando CLI
- Criar novos simuladores iOS com seleção de tipo de dispositivo e runtime
- Clonar e renomear simuladores existentes
- Fixar dispositivos favoritos no topo do seletor de dispositivos
- Atualizações de estado do dispositivo em tempo real via WebSocket
### Gerenciamento de Aplicativos
Instalar, iniciar, encerrar e desinstalar apps em qualquer dispositivo conectado. Arraste e solte pacotes IPA, APK ou .app de simulador iOS diretamente no painel. Visualize informações detalhadas do app e limpe dados do app sem comandos manuais adb ou simctl.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/17757b1ca8ddd41d43ac3a159260598308da6c3f759e1c9d730f61498e18ce8a.png" alt="Gerenciamento de Aplicativos" width="700" /></p>
- Instalação via arrastar e soltar de IPA, APK e .app de simulador iOS
- Iniciar, encerrar e desinstalar apps pelo bundle ID
- Visualizar detalhes do app incluindo versão, tamanho e permissões
- Limpar dados do app em dispositivos Android
- Listar todos os apps instalados com filtro de pesquisa
### Visualizador de Logs
Transmita logs do dispositivo em tempo real com filtragem poderosa. Filtre por nível de log, pesquise com padrões regex e filtre por nome de processo. Use a pesquisa na página (Cmd+F) para destacar entradas específicas sem ocultar o contexto ao redor. Exporte logs filtrados para compartilhamento ou arquivamento. O histórico paginado permite rolar para trás através de milhares de entradas sem problemas de desempenho.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/b909b3515637b4059ebf210c56599f2f022506f09ee35a11e812bd8368d3750e.png" alt="Visualizador de Logs" width="700" /></p>
- Streaming de logs em tempo real via WebSocket
- Filtrar por nível: debug, info, warning, error, fatal
- Pesquisa na página (Cmd+F) com destaque de correspondências, navegação e contador
- Pesquisa regex e filtragem por nome de processo
- Histórico paginado com rolagem virtual
- Exportar logs filtrados para arquivo
- Pausar/retomar streaming de logs preservando o estado entre limpezas
### Localização
Defina coordenadas GPS precisas em qualquer dispositivo usando um mapa interativo ou entrada manual. Reproduza arquivos de rota GPX e KML com controle de velocidade ajustável. Salve locais usados com frequência como favoritos para acesso rápido.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/47842dfa878ffbc80bd5bb32d83e820e7ed7dd56a4d63368ca6e823ef72889d4.png" alt="Localização" width="700" /></p>
- Mapa interativo com clique para definir coordenadas
- Reprodução de arquivos de rota GPX e KML com controle de velocidade
- Locais favoritos salvos por dispositivo
- Transmissão de localização para múltiplos dispositivos
- Geocodificação reversa para endereços legíveis
### Configurações do Dispositivo
Alternar modo escuro, alterar localidade, girar orientação do dispositivo (Android), gerenciar permissões de apps e sobrescrever a aparência da barra de status. Aplique predefinições de acessibilidade para testar seu aplicativo em diferentes condições. Todas as alterações de configuração entram em vigor imediatamente no dispositivo de destino.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/d3f6a33c17b773560072f7b94b71abd5ebc82786c073bdeb6d25f828c3f214fa.png" alt="Configurações do Dispositivo" width="700" /></p>
- Alternar modo escuro/claro
- Alterar localidade do dispositivo
- Gerenciar permissões de apps
- Sobrescrever barra de status (hora, bateria, sinal)
- Predefinições de acessibilidade (texto em negrito, aumentar contraste, tamanho do conteúdo)
### Capturas de Tela e Gravação
Capture screenshots e grave vídeo da tela em qualquer dispositivo. Todas as capturas são salvas com carimbos de data/hora e organizadas em um histórico navegável. Baixe ou exclua capturas diretamente do painel.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/58ed8f25d148ed53f39066e42be730f255235dbec47539bbec826c455cba7936.png" alt="Capturas de Tela e Gravação" width="700" /></p>
- Captura de screenshot com um clique
- Gravação de tela com controles de iniciar/parar
- Histórico de capturas com carimbo de data/hora
- Baixar e excluir capturas do painel
### Links Profundos (Deep Links)
Abra URLs e esquemas de URI personalizados em qualquer dispositivo. Salve links profundos usados com frequência como favoritos organizados por app. Teste o tratamento de links profundos do seu aplicativo sem digitar URLs manualmente em um terminal.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/3a990ef7c74f83c93b63c1654f74b3fa952b0b41abd31fe688cdaf2e29570f62.png" alt="Links Profundos" width="700" /></p>
- Abrir qualquer URL ou esquema personalizado em um dispositivo
- Salvar links profundos favoritos por app
- Histórico de links com ordenação do mais recente primeiro
- Funciona tanto no iOS quanto no Android
### Inspetor de Banco de Dados
Navegue por bancos de dados SQLite dentro da sandbox de qualquer app. Visualize esquemas de tabelas, execute consultas SQL arbitrárias e inspecione SharedPreferences (Android) ou NSUserDefaults (iOS). Edite valores inline sem escrever scripts.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/4884b688dbbee5f1a34b0454950f4d6562e74efdbbb3b84ca5c626835b4b7d37.png" alt="Inspetor de Banco de Dados" width="700" /></p>
- Navegar por tabelas SQLite com colunas classificáveis
- Executar consultas SQL arbitrárias
- Visualizar e editar SharedPreferences e NSUserDefaults
- Edição inline de células com detecção de tipo
### Navegador de Arquivos
Navegue pelo sistema de arquivos da sandbox de qualquer app instalado. Percorra diretórios, faça upload e download de arquivos e edite arquivos de texto inline. Transfira arquivos entre sua máquina e o dispositivo sem comandos manuais adb pull/push.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7b7ba540ad5de8b575da4f9bb28694dc68f5ffce51225a388788b8ef2f4767a0.png" alt="Navegador de Arquivos" width="700" /></p>
- Navegar por diretórios da sandbox do app
- Fazer upload e download de arquivos
- Edição inline de arquivos de texto
- Funciona com contêineres de apps iOS e Android
### Notificações Push
Componha payloads JSON de notificação push e envie-os para simuladores iOS. Use a biblioteca de modelos integrada como ponto de partida ou escreva payloads do zero. A validação JSON em tempo real destaca erros antes do envio.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/f640654be67c24c7248806987e62908316407c18648fc145109118f260443f7d.png" alt="Notificações Push" width="700" /></p>
- Compor e enviar payloads push para simuladores iOS
- Biblioteca de modelos de payload integrada
- Validação JSON em tempo real
- Direcionar apps específicos pelo bundle ID
### Coleções
Crie conjuntos reutilizáveis de ações do dispositivo e aplique-os a múltiplos dispositivos de uma só vez. As coleções agrupam etapas como definir localização, alternar modo escuro e instalar um app em um único fluxo de trabalho repetível. Três predefinições iniciais acompanham o simvyn para você começar.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/fbf2ddbba1d3725321c80a914bf5b71ea6a2fc605fddbb73abd0b28385488af6.png" alt="Coleções" width="700" /></p>
- Criar, duplicar e gerenciar coleções nomeadas
- Navegar pelo catálogo de ações categorizadas de todos os módulos
- Reordenar etapas via arrastar e soltar
- Aplicar a múltiplos dispositivos com verificação de compatibilidade
- Três predefinições iniciais integradas
### Logs de Crash
Visualize relatórios de diagnóstico do iOS (arquivos .ips) e logs de crash do Android provenientes de logcat e dumps tombstone. Navegue por entradas de crash com carimbos de data/hora e informações do processo. Inspecione detalhes completos do crash sem vasculhar os sistemas de arquivos do dispositivo.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/8f74a799448050bc37eace1d43865b13f3f47a0997c01dba650fd21e94f09ebf.png" alt="Logs de Crash" width="700" /></p>
- Análise de relatórios de diagnóstico do iOS (.ips)
- Agrupamento de crashes do logcat por PID e tag
- Recuperação de dumps tombstone do Android
- Lista de crashes com carimbo de data/hora e visualização de detalhes
### Área de Transferência
Leia e escreva o conteúdo da área de transferência do dispositivo a partir do painel ou da CLI. Útil para colar rapidamente dados de teste em aplicativos ou inspecionar o que um aplicativo copiou.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/db889032abeb5f1d511dcfeb8c06c215bda851436f198a63db97f595b50853d6.png" alt="Área de Transferência" width="700" /></p>
- Ler o conteúdo atual da área de transferência
- Escrever texto na área de transferência do dispositivo
- Funciona com Simuladores iOS e Emuladores Android
### Mídia
Envie fotos e vídeos diretamente para o rolo da câmera ou galeria de um dispositivo. Solte arquivos no painel para injetá-los sem cabos, e-mail ou transferências em nuvem.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/c63ce5411dc17b5d329c2af381c035d86164f5544928b0c76fe7d05346473561.png" alt="Mídia" width="700" /></p>
- Adicionar fotos e vídeos à galeria do dispositivo via arrastar e soltar
- Suporta arquivos grandes de até 500 MB
- Funciona com Simuladores iOS e Emuladores Android
### Configurações da Ferramenta
Configure o servidor simvyn, gerencie o armazenamento e visualize diagnósticos. Inclui um gerador de relatórios de debug para abrir issues.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7ba043d473d21d4bb5477582539ffd9a4c57600ec20c22ee9d7e63146cbbfbb2.png" alt="Configurações da Ferramenta" width="700" /></p>
- Configuração de porta do servidor, auto-abrir e intervalo de polling
- Visão geral do uso de armazenamento com opção de limpeza de dados
- Diagnósticos: versão do Xcode, disponibilidade do devicectl, versão do adb
- Relatório de debug com um clique para reportar bugs
## Guia de Coleções
Coleções permitem agrupar várias ações do dispositivo em uma sequência reutilizável e aplicá-las a qualquer combinação de dispositivos com um clique.
### Criando uma Coleção
Abra o painel Coleções na barra lateral. Clique em **Nova Coleção** e dê um nome a ela. A coleção começa vazia — você adicionará etapas do catálogo de ações.
### Adicionando Etapas
Clique em **Adicionar Etapa** para navegar pelo catálogo de ações categorizadas. As ações são organizadas por módulo — Configurações do Dispositivo, Localização, Gerenciamento de Aplicativos e muito mais. Selecione uma ação, configure seus parâmetros inline (coordenadas, bundle IDs, valores de alternância) e ela aparece em sua coleção. Arraste as etapas para reordená-las.
### Aplicando uma Coleção
Clique em **Aplicar** para abrir o modal de aplicação. Selecione um ou mais dispositivos de destino na lista de dispositivos. Um resumo de compatibilidade mostra quais etapas serão ignoradas em plataformas incompatíveis (por exemplo, ações apenas iOS em um dispositivo Android). Pressione **Cmd+Enter** para executar. Uma matriz de status ao vivo mostra o progresso por etapa e por dispositivo em tempo real.
### Integração com a Paleta de Comandos
Coleções salvas aparecem na paleta de comandos (**Cmd+K**). Pesquise uma coleção pelo nome e aplique-a diretamente com o seletor de dispositivos — sem necessidade de navegar até o painel Coleções.
### Coleções Iniciais
Três predefinições integradas acompanham o simvyn:
- **Modo Escuro + Localidade Japonesa** — Ativa o modo escuro e define a localidade para japonês
- **Configuração para Screenshots** — Configura sobreposições da barra de status para capturas de tela limpas na App Store
- **Redefinir Estado do Dispositivo** — Limpa localização, redefine configurações e apaga dados do app
### Uso via CLI```bash
simvyn collections list # List all collections
simvyn collections apply <name> <devices...> # Apply a collection to devices
Cada funcionalidade é acessível pela linha de comando. Execute simvyn sem argumentos para iniciar o painel, ou use qualquer comando abaixo para operação headless.
simvyn encapsula xcrun simctl (simuladores iOS), xcrun devicectl (dispositivos iOS físicos) e adb (Android) por trás de uma interface unificada. Nenhum SDK necessário — funciona com qualquer aplicativo, sem necessidade de alterações no código.
A arquitetura é baseada em um sistema de módulos onde cada funcionalidade (localização, logs, gerenciamento de aplicativos, etc.) é um plugin autossuficiente que registra suas próprias rotas de API, comandos de CLI e manipuladores WebSocket. O painel web se comunica com um servidor local Fastify por uma única conexão WebSocket multiplexada para streaming de estado do dispositivo e logs em tempo real. Funcionalidades que não estão disponíveis em um determinado tipo de dispositivo são automaticamente desabilitadas com indicadores claros na interface.
| Plataforma | Simuladores iOS | Dispositivos iOS | Emuladores Android | Dispositivos Android |
|---|
Dispositivos físicos conectados via USB são descobertos automaticamente junto com simuladores e emuladores. O painel os agrupa em seções separadas (Físicos / Simuladores / Emuladores) e exibe um toast quando um dispositivo se desconecta.
Dispositivos Android físicos suportam quase todas as funcionalidades — gerenciamento de aplicativos, deep links, logs, capturas de tela, inspetor de banco de dados, navegador de arquivos e muito mais. Algumas funcionalidades exclusivas de emuladores (simulação de localização via adb emu geo, simulação de bateria) não estão disponíveis e são claramente marcadas na interface.
Dispositivos iOS físicos requerem Xcode 15+ e usam xcrun devicectl internamente. As funcionalidades suportadas incluem descoberta de dispositivos, instalação/desinstalação/inicialização/encerramento de aplicativos, listagem de aplicativos, deep links e cópia de arquivos. Muitas funcionalidades que dependem de simctl (capturas de tela, gravação de tela, simulação de localização, área de transferência, aparência, barra de status, notificações push) não estão disponíveis em dispositivos iOS físicos. Controles não suportados são desabilitados com dicas explicando o motivo. Coleções pulam automaticamente etapas que não se aplicam a dispositivos físicos.
MIT
| Comando | Descrição |
|---|
simvyn | Iniciar o painel (padrão) |
simvyn device list | Listar todos os dispositivos |
simvyn device boot <device> | Inicializar um dispositivo |
simvyn device shutdown <device> | Desligar um dispositivo |
simvyn device erase <device> | Apagar conteúdo e configurações do dispositivo |
simvyn device create <name> <type> <runtime> | Criar um novo simulador iOS |
simvyn device clone <device> <name> | Clonar um simulador iOS |
simvyn device rename <device> <name> | Renomear um simulador iOS |
simvyn device delete <device> | Excluir um simulador iOS |
simvyn location set <device> <lat> <lng> | Definir coordenadas GPS |
simvyn location route <device> <file> | Reproduzir uma rota GPX/KML |
simvyn location clear <device> | Limpar localização simulada |
simvyn app list <device> | Listar aplicativos instalados |
simvyn app install <device> <path> | Instalar um IPA, APK ou .app iOS |
simvyn app uninstall <device> <bundle-id> | Desinstalar um aplicativo |
simvyn app launch <device> <bundle-id> | Iniciar um aplicativo |
simvyn app terminate <device> <bundle-id> | Encerrar um aplicativo |
simvyn app info <device> <bundle-id> | Mostrar detalhes do aplicativo |
simvyn app clear-data <device> <bundle-id> | Limpar dados do aplicativo (Android) |
simvyn logs <device> | Transmitir logs do dispositivo |
simvyn screenshot <device> | Capturar uma captura de tela |
simvyn record <device> | Gravar a tela |
simvyn link <device> <url> | Abrir um deep link |
simvyn push <device> | Enviar uma notificação push |
simvyn fs ls <device> <bundle-id> [path] | Listar arquivos no sandbox do aplicativo |
simvyn fs pull <device> <bundle-id> <path> | Baixar um arquivo |
simvyn fs push <device> <bundle-id> <src> <dst> | Enviar um arquivo |
simvyn db list <device> <bundle-id> | Listar bancos de dados |
simvyn db query <device> <bundle-id> <db> <sql> | Executar uma consulta SQL |
simvyn db prefs <device> <bundle-id> | Ver SharedPreferences / NSUserDefaults |
simvyn keychain add <device> <cert> | Adicionar um certificado raiz |
simvyn keychain reset <device> | Reiniciar o keychain |
simvyn collections list | Listar todas as coleções |
simvyn collections show <id> | Mostrar detalhes da coleção |
simvyn collections create <name> | Criar uma nova coleção |
simvyn collections delete <id> | Excluir uma coleção |
simvyn collections duplicate <id> | Duplicar uma coleção |
simvyn collections apply <name> <devices...> | Aplicar uma coleção a dispositivos |
simvyn settings orientation <device> <orient> | Definir orientação do dispositivo (Android) |
| macOS | Sim | Limitado | Sim | Sim |
| Linux | Não | Não | Sim | Sim |