Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
artemis — Agente de automatización de Android en lenguaje natural que controla dispositivos reales mediante ADB, captura Logcat y capturas de pantalla, y expone un servidor MCP para IDE de IA y pipelines de pruebas de CI. | Kitploit
Herramientas/GitHubGitHub/google/artemis
Seguridad AndroidUtilidades de Propósito GeneralAnálisis Dinámico (Sandboxing)Pentesting de Apps MóvilesScripting y AutomatizaciónSeguridad MóvilUtilidades y FrameworksSeguridad de IA
GitHubgoogle/artemis

artemis

Agente de automatización de Android en lenguaje natural que controla dispositivos reales mediante ADB, captura Logcat y capturas de pantalla, y expone un servidor MCP para IDE de IA y pipelines de pruebas de CI.

6.9k62814hace 6 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

ARTEMIS Banner

Permite que los asistentes de IA y las suites de pruebas usen teléfonos reales como lo haría un humano.

English • 中文文档 • Workflow Showcase • Quick Start • MCP for IDEs • Benchmarks • Discord Community

Python 3.12+ License: Apache-2.0 MCP Native Multi-Model AndroidWorld SOTA

Artemis in Action
Demo en vivo: Configura rutas de conducción y calcula las duraciones totales en Google Maps, luego abre YouTube para reproducir una canción de Coldplay.

Puntos clave

  • Automatización entre aplicaciones: Ejecuta flujos de trabajo de pruebas y tareas cotidianas en Android a partir de instrucciones en lenguaje natural.
  • Selección de objetivos multimodal: Usa índices de elementos cuando están disponibles, con alternativas de localización por coordenadas y visual para interfaces personalizadas.
  • Diagnóstico en el IDE: La integración con el Model Context Protocol (MCP) permite que Antigravity, Claude Code y Windsurf controlen dispositivos de prueba y recopilen la salida de Logcat y capturas de pantalla.
  • Ejecución Flash: Un bucle reactivo de observar y actuar con resúmenes de historial asíncronos, normalmente 3–5 s por paso.
  • Exploración Pro: Verifica los objetivos antes de cada acción individual y devuelve las acciones bloqueadas al Operator para su recuperación. Admite pruebas exploratorias y de estabilidad de larga duración.
  • Resultados en AndroidWorld: Más del 99 % de finalización de tareas en el benchmark AndroidWorld de Google Research (más de 100 tareas de varios pasos).

Antigravity × ARTEMIS: Flujo de trabajo de pruebas autónomas

Antigravity usa ARTEMIS a través de MCP para convertir una solicitud de prueba en un plan, la ejecución en el dispositivo y un informe de diagnóstico:

Inicio rápido

Asegúrate de que haya un dispositivo Android conectado (con la depuración USB habilitada) o un emulador. El script de inicio con un solo clic hará automáticamente lo siguiente:

  • Instalar las cadenas de herramientas del sistema: Detecta e instala automáticamente las dependencias de ADB, scrcpy, FFmpeg y Python (uv).
  • Montar el servidor MCP global y las reglas del agente de IA: Solicita instalar automáticamente las configuraciones globales de MCP y el Artemis Mobile Testing Mindset (rules.md) en tus IDE de IA (Antigravity, Cursor, Claude Code, Codex, Windsurf, VS Code, Cline/Roo, OpenClaw).

macOS y Linux

root@kitploit:~
# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git && cd artemis

# 2. One-click launch
./start.sh

Windows PowerShell

root@kitploit:~
# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git
cd artemis

# 2. One-click launch
.\start.bat

PowerShell no busca scripts ejecutables en el directorio actual de forma predeterminada, así que usa .\start.bat sin una barra invertida final. En el símbolo del sistema (CMD), usa start.bat en su lugar.

Consejo: Abre http://localhost:8000 en tu navegador predeterminado con un asistente de conexión de dispositivos, espejo de pantalla en vivo, sandbox de prompts y repeticiones de ejecución. También puedes ejecutar directamente desde la CLI: uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash.

Configuración de MCP para Codex / Antigravity / Claude Code / Windsurf (haz clic para expandir)

ARTEMIS incluye un servidor nativo del Model Context Protocol (MCP). Conecta tu teléfono real directamente a los IDE de IA:

1. Instalación automática con un solo clic (recomendada)

Ejecutar ./start.sh (macOS/Linux) o .\start.bat (Windows PowerShell) te pedirá configurar el MCP global y las reglas de prueba para los IDE detectados (o puedes instalarlos/actualizarlos manualmente en cualquier momento con los comandos siguientes):

root@kitploit:~
# Auto-install MCP server & global rules for Antigravity / Jetski:
uv run artemis mcp --install antigravity

# Or install for all supported AI IDEs (including Codex):
uv run artemis mcp --install all

Consejo: También puedes configurar MCP de forma interactiva durante la configuración inicial mediante uv run artemis init. Consejo Pro: Si quieres usar el comando artemis globalmente sin uv run en cualquier directorio, ejecuta uv tool install -e . una vez en la raíz del proyecto.

Integración del SDK de Python (haz clic para expandir)

Instala el cliente sin dependencias en tiempo de ejecución en la máquina de desarrollo. ADB, los agentes, los modelos y el procesamiento de imágenes permanecen en el host del dispositivo:

root@kitploit:~
uv add "artemis-client @ git+https://github.com/google/artemis.git#subdirectory=packages/artemis-client"
root@kitploit:~
import asyncio
from artemis_client import ArtemisClient


async def main():
    client = ArtemisClient(
        "http://artemis-host:8000",
        device_serial="emulator-5554",  # optional: target specific device serial
        default_profile="flash",  # "flash" (fast reactive) or "pro" (deep reasoning)
    )

    result = await client.run(
        "Open System Settings, go to 'Battery', verify battery percentage is displayed, and check for any crash dialogs.",
    )

    assert result.succeeded, f"Test failed: {result.error or result.status}"
    print(f"✅ Test Passed! Device: {result.device_serial} | Trace ID: {result.trace_id}")


if __name__ == "__main__":
    asyncio.run(main())

Modos de uso

Artemis Web Console
Vista general de la consola: ① Conmutador de vista (Home / Workspace) · ② Modelo y repetición (estado Flash/Pro y repetición de vídeo) · ③ Flujo del agente en vivo (percepción de acciones, coordenadas objetivo y resultados estructurados) · ④ Dock de prompts (envío en lenguaje natural) · ⑤ Cola de tareas y panel (ciclo de vida e historial)

  • Consola web de pruebas visuales (uv run artemis ui): Proyección de pantalla en tiempo real y panel interactivo, con soporte para el envío de pruebas en lenguaje natural, telemetría de razonamiento en vivo, trayectorias de acciones y repetición de ejecuciones; gestiona el ciclo de vida del servidor en cualquier momento desde cualquier terminal con uv run artemis restart, uv run artemis stop y uv run artemis status;
  • Servidor MCP: Conecta Antigravity, Claude Code, Windsurf y otros clientes MCP a dispositivos reales para la reproducción de errores y la ejecución de pruebas;
  • CLI para desarrolladores (uv run artemis run): Ejecución directa desde la terminal para casos de prueba automatizados, inspección exploratoria de estabilidad o benchmarks de AndroidWorld con una salida de terminal estructurada de alta fidelidad;
  • SDK de Python: Se integra como una biblioteca estándar de Python en frameworks de pruebas automatizadas existentes (por ejemplo, pytest) o en canalizaciones de CI/CD con salidas estructuradas de Pydantic fuertemente tipadas y soporte de aserciones.

Qué instala ARTEMIS en tu teléfono

La primera tarea en un dispositivo instala el Artemis Accessibility Helper, un pequeño servicio de accesibilidad que lee el diseño de la pantalla sin tomar la conexión de UiAutomation. Las herramientas que usan UiAutomation pueden suprimir el helper a menos que habiliten FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES. Verás una notificación contraída "Artemis test helper is running" y una nueva entrada en Settings > Accessibility; ambas son ese helper. Solo escucha en el propio teléfono y no envía nada a ningún otro lugar.

  • Preinstálalo (evita el retraso de ~3 s en la primera tarea): uv run artemis helper install
  • Inspecciónalo: uv run artemis helper status / uv run artemis doctor
  • Elimínalo en cualquier momento: uv run artemis helper uninstall
  • Usa UIAutomator2 en su lugar: ARTEMIS_HIERARCHY_BACKEND=uiautomator en .env
  • Evita la instalación automática: ARTEMIS_HELPER_AUTO_INSTALL=false en .env

Si el helper falla en algún momento durante una tarea, ARTEMIS recurre a UIAutomator2 y lo indica en la línea de tiempo de la tarea, en el estado de mobile_manage_task y en el informe final.

Benchmarks: AndroidWorld (SOTA 99 %+)

Artemis logró una tasa de finalización superior al 99 % en AndroidWorld, el benchmark de Google Research que abarca más de 20 aplicaciones y más de 100 tareas de varios pasos.

AndroidWorld Benchmark Comparison

Cómo está arquitecturado ARTEMIS

  • Comprobaciones previas a la ejecución y ráfagas de acciones: Pro verifica el objetivo contra el árbol de la interfaz en vivo y los píxeles antes de enviar una acción individual. Las ráfagas de acciones gestionan controles transitorios sin esperar otro turno del modelo.
  • Localización de elementos: Combina jerarquías de accesibilidad y OCR con modelos visuales para interfaces personalizadas de Canvas, Compose y Flutter.
  • Compresión del historial compartido: Flash y Pro reemplazan las capturas de pantalla antiguas por resúmenes visuales y comprimen los pasos completados en fragmentos de historial consultables. Los umbrales de contexto controlan cuándo se reemplazan los turnos sin procesar.

ARTEMIS System Architecture Diagram

Perfiles de ejecución: Flash vs. Pro

ARTEMIS admite dos perfiles de ejecución adaptados a diferentes requisitos de automatización:

  • Perfil Flash (--profile flash): Bucle reactivo rápido y eficiente en tokens (~3–5 s por paso): un modelo observa la pantalla en vivo, piensa y actúa, sin orquestación de grafos. Ideal para tareas de interfaz rutinarias y deterministas. El bucle no tiene límite de forma predeterminada (agent.flash.max_turns, 0 = ilimitado) porque el historial se comprime en lugar de limitarse: Flash comparte el registro de transcripción de sesión de Pro (reloj relativo a la sesión T+mm:ss, capturas de pantalla plegadas en resúmenes visuales, pasos más antiguos agrupados en eras y recuperables bajo demanda mediante search_history / replay_steps) y puede consultar la grabación de la sesión a través de video_analyzer. La interfaz transitoria (barras de control que se desvanecen automáticamente, toasts) se gestiona encadenando toques en un único click_sequence. Limitaciones: Sin plan de tareas ni notas, sin red de seguridad previa a la ejecución, sin verificación de puntos de control ni informe final, y sin shell de ADB.
  • Perfil Pro (--profile pro): Un flujo de trabajo de planificación y verificación (~15–40 s por paso), construido como un grafo multiagente. Un Planner mantiene un plan de tareas vivo en Markdown con hitos y elementos de verificación verify / ; el lo ejecuta con el conjunto completo de herramientas (fundamentación del Explorer cuyo nivel / / es una configuración de usuario por perfil — / en o — nunca elegido por el agente; notas, recuperación del historial, análisis de vídeo, diagnóstico de ADB). Cada acción individual pasa por una previa a la ejecución (primero XML, con alternativa por píxeles), mientras que las de múltiples acciones se disparan consecutivamente para superar la latencia de turno en interfaces transitorias. Una acción bloqueada o fallida abre un que permanece en el contexto del Operator hasta que una acción posterior tiene éxito, por lo que la recuperación la gestiona el propio Operator sin un agente de reparación independiente. Un de solo lectura verifica los puntos de control del plan y ejecuta una revisión final de salida contra el objetivo original (: / (predeterminado) / / ), y las ediciones de hitos del plan reciben una revisión orientativa. Gestiona flujos de trabajo de horizonte largo de más de 100 pasos, monitorización y un informe escrito opcional.

Hoja de ruta

  • Integración con Android Studio: Plugin de IDE nativo e integración de flujos de trabajo para permitir la depuración en el editor, la grabación de pruebas y el control automatizado de dispositivos directamente dentro de Android Studio.
  • Expansión a la plataforma iOS: Ampliar la percepción multimodal y la automatización móvil a dispositivos y simuladores iOS.
  • VLM ligeros en el dispositivo: Ejecución local con modelos de visión de borde ligeros para una automatización de baja latencia y centrada en la privacidad.
  • Interacción de voz dúplex en tiempo real: Envío de tareas por voz con control conversacional en tiempo real y gestión de interrupciones.

Comunidad y contribuciones

¡Las contribuciones son muy bienvenidas!

  • Da una estrella al repositorio para seguir las actualizaciones y versiones
  • Únete a la comunidad de Discord para debates técnicos
  • Abre un Issue o envía un Pull Request

Licencia

Este proyecto está licenciado bajo la Apache License 2.0.

Este proyecto incluye código fuente desarrollado por Minitap, Inc..

Descargar herramienta
1. Entrada del prompt (envío de tarea)
Describe tu escenario de prueba y las métricas objetivo en Antigravity

Step 1: Prompt Input in Antigravity
2. Generación del plan de prueba
Formula un plan de prueba paso a paso y una arquitectura para su revisión

Step 2: Test Plan Generation
3. Ejecución autónoma de la prueba
Controla el dispositivo real, navega por la interfaz y perfila el rendimiento

Step 3: Autonomous Test Execution
4. Informe final
Entrega hallazgos de auditoría estructurados, tablas de métricas y conjuntos de datos sin procesar

Step 4: Final Report

2. Configuración manual (opcional)

Si prefieres configurarlo manualmente, ejecuta uv run artemis mcp --generate-config <client> (por ejemplo, codex o antigravity) para generar el fragmento TOML o JSON correspondiente. Reemplaza /path/to/artemis con la ruta real de tu repositorio y apunta command a tu ejecutable de Python de .venv:

  • Codex (~/.codex/config.toml):
root@kitploit:~
[mcp_servers.artemis]
command = "/path/to/artemis/.venv/bin/python"
args = ["-m", "mcp_server"]
cwd = "/path/to/artemis"

[mcp_servers.artemis.env]
PYTHONUNBUFFERED = "1"
PYTHONPATH = "/path/to/artemis"
  • Antigravity (~/.gemini/jetski/mcp_config.json):
root@kitploit:~
{
  "mcpServers": {
    "artemis": {
      "command": "/path/to/artemis/.venv/bin/python",
      "args": ["-m", "mcp_server"],
      "cwd": "/path/to/artemis",
      "env": {
        "PYTHONUNBUFFERED": "1"
      },
      "tools": {
        "mobile_run_task": { "eager": true },
        "mobile_manage_task": { "eager": true },
        "mobile_get_device_state": { "eager": true },
        "mobile_inspect_trace": { "eager": true },
        "mobile_diagnose": { "eager": true }
      }
    }
  }
}
  • Claude Desktop (claude_desktop_config.json):
root@kitploit:~
{
  "mcpServers": {
    "artemis": {
      "command": "/path/to/artemis/.venv/bin/python",
      "args": ["-m", "mcp_server"],
      "cwd": "/path/to/artemis"
    }
  }
}

3. Montar reglas de comportamiento para agentes de IA (muy recomendado)

Para garantizar que tu asistente de programación con IA actúe con el rigor de un ingeniero sénior de pruebas móviles y nunca alucine interacciones de interfaz, proporcionamos un archivo de reglas dedicado al enfoque de pruebas en mcp_server/rules.md (que cubre la exploración activa antes de programar, la estrategia de enrutamiento Flash vs. Pro, la compensación de latencia y tiempos y el patrón de localización "Dynamic-First, Coordinate-Fallback").

Puedes montar o copiar mcp_server/rules.md en la configuración de reglas de tu IDE de IA:

  • Antigravity: Añade el contenido de rules.md a tus Workspace Rules, la configuración de Global Rules o las instrucciones del agente.
  • Claude Code: Ejecuta artemis mcp --install claude para instalar las reglas en ~/.claude/rules/artemis.md (instálalas en una sola ubicación — Claude Code carga tanto ~/.claude/CLAUDE.md como ~/.claude/rules/*.md, por lo que duplicar las reglas desperdicia contexto).
  • Cursor: Copia el contenido en .cursorrules o crea un archivo de reglas en .cursor/rules/artemis.mdc.
  • Codex: Añade el contenido a ~/.codex/AGENTS.md (o al AGENTS.override.md activo).
  • Windsurf / OpenClaw: Añade las reglas a las reglas de tu espacio de trabajo o a los prompts de sistema globales.

Para obtener más detalles sobre el enfoque de pruebas y la arquitectura de MCP, consulta el README del servidor MCP.

4. Da instrucciones a tu teléfono en el chat del IDE

En Codex, Antigravity o Claude Code, simplemente escribe:

"Compila los últimos cambios en un APK, instálalo en el dispositivo conectado, abre la pantalla de inicio de sesión con una cuenta de prueba, verifica si hay ventanas emergentes inesperadas después de iniciar sesión y devuelve capturas de pantalla de la página final."

assert
Operator
flash
pro
ultra
pro.explorer.mode
flash.explorer_mode
config/artemis.jsonc
--explorer-pro-mode
red de seguridad
ráfagas de acciones rápidas
incidente de ejecución
Checker
--verification-level
off
final
checkpoints
strict
[Loop:continuous]