Skip to content
| Marketplace
Sign in
Visual Studio Code>Machine Learning>Haka AI StudioNew to Visual Studio Code? Get it now.
Haka AI Studio

Haka AI Studio

Haka Lab Chile

|
2 installs
| (0) | Free
AI-powered test automation studio for Playwright and Selenium. Record browser interactions and generate intelligent Gherkin test cases with Gemini AI.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Haka AI Studio - Documentación Técnica

Producto exclusivo de Haka Lab

Versión: 1.0.18
Plataforma: Visual Studio Code (extensión)
Motor IA: Google Gemini (gemini-2.0-flash por defecto)
Frameworks soportados: Playwright, Selenium


1. Descripción General

Haka AI Studio es una extensión de Visual Studio Code que automatiza la creación de pruebas funcionales mediante inteligencia artificial. Permite grabar interacciones en el navegador y generar automáticamente casos de prueba en formato Gherkin/BDD con implementaciones ejecutables.

Funcionalidades Principales

  • Grabación de interacciones: Captura acciones del usuario en el navegador en tiempo real
  • Generación con IA: Convierte grabaciones en tests Gherkin completos usando Gemini AI
  • Dual engine: Soporta Playwright (selectores semánticos) y Selenium (XPath inteligente)
  • Búsqueda vectorial: Detecta y reutiliza pasos existentes del proyecto
  • Chat asistente (Kai): Asistente conversacional especializado en testing
  • Validaciones manuales: Permite agregar assertions durante la grabación
  • Deduplicación: Detecta código duplicado y sugiere reutilización

2. Arquitectura de Seguridad

2.1 Autenticación y Control de Acceso

La extensión implementa un sistema de autenticación dual:

Cuentas @hakalab.com (Google OAuth 2.0)

  • Flujo OAuth estándar con Google
  • Redirect URI local (localhost:19284/callback)
  • Sesión válida por 30 días
  • No requiere licencia adicional

Usuarios externos (Email + License Key)

  • Validación contra API de licencias: https://us-central1-haka-licencias-productos.cloudfunctions.net/validarLicencia
  • Revalidación en cada apertura de la extensión
  • Control de dispositivo único por licencia

Control de Dispositivo

Cada instalación genera un identificador único (id_disp) basado en:

  • vscode.env.machineId (ID único de la instalación de VS Code)
  • Hash SHA-256 truncado a 32 caracteres
  • Almacenado en globalState (persistente por instalación)

Flujo de validación:

1. Usuario abre la extensión
2. Se envía POST a API de licencias con: key, mail, producto, id_disp
3. Si estado = "habilitado" y id_registrado = id_disp → acceso permitido
4. Si id_registrado ≠ id_disp → sesión cerrada inmediatamente
5. Si estado = "deshabilitado" → sesión cerrada

Esto impide que una misma licencia se use simultáneamente en múltiples dispositivos.

2.2 Almacenamiento de Credenciales

Dato Almacenamiento Cifrado
API Key de Gemini context.secrets (SecretStorage de VS Code) Sí (cifrado por el SO)
Sesión de usuario context.globalState No (datos no sensibles)
Device ID context.globalState No (hash público)
License Key En sesión (globalState) No
  • context.secrets usa el almacén de credenciales del sistema operativo (Windows Credential Manager, macOS Keychain, Linux Secret Service)
  • Las API Keys nunca se almacenan en texto plano en archivos del proyecto
  • Las credenciales de Google OAuth (client_id/secret) están embebidas en el código compilado (webpack bundle)

2.3 Comunicación de Red

Destino Protocolo Propósito
generativelanguage.googleapis.com HTTPS Generación de texto y embeddings
accounts.google.com HTTPS OAuth login
googleapis.com/oauth2 HTTPS Intercambio de tokens
us-central1-haka-licencias-productos.cloudfunctions.net HTTPS Validación de licencias
localhost:19284 HTTP (local) Callback OAuth (solo durante login)

Toda comunicación externa usa HTTPS. No se realizan conexiones a servidores de terceros no listados.


3. Seguridad en el Uso de Inteligencia Artificial

3.1 Datos Enviados a Gemini

La extensión envía a la API de Gemini exclusivamente:

  1. Código capturado durante la grabación: Acciones del navegador (clicks, inputs, navegaciones)
  2. Contexto del framework: Reglas de generación y patrones de pasos existentes
  3. Consultas del chat: Preguntas del usuario sobre testing

Lo que NO se envía:

  • Credenciales del usuario
  • Datos personales
  • Contenido de archivos del proyecto no relacionados con la grabación
  • Variables de entorno
  • Tokens de autenticación

3.2 Cumplimiento con Ley 21.719 (Protección de Datos Personales - Chile)

La Ley 21.719 de Protección de Datos Personales de Chile establece principios que Haka AI Studio respeta:

Principio de Finalidad

  • Los datos procesados por la IA se usan exclusivamente para generar código de pruebas automatizadas
  • No se almacenan datos personales de los usuarios finales de las aplicaciones testeadas
  • Las grabaciones capturan selectores de elementos (XPath, roles ARIA), no datos ingresados por usuarios reales

Principio de Proporcionalidad

  • Solo se envía a Gemini el código mínimo necesario para la generación
  • El prompt se trunca a máximo 30.000 caracteres
  • No se envían datos que no sean estrictamente necesarios para la tarea

Principio de Seguridad

  • Comunicación cifrada (HTTPS/TLS) en todas las transmisiones
  • API Keys almacenadas en el almacén seguro del sistema operativo
  • No se persisten datos de grabación después de la generación

Principio de Temporalidad

  • Las grabaciones son efímeras: se eliminan al cerrar la sesión de grabación
  • Los archivos temporales (.haka_recording_*.py) se eliminan automáticamente
  • No existe almacenamiento permanente de datos procesados por la IA

Transferencia Internacional de Datos

  • Los datos se procesan en servidores de Google (Gemini API) ubicados en EE.UU.
  • Google cumple con estándares internacionales de protección de datos (SOC 2, ISO 27001)
  • No se transfieren datos personales de terceros; solo código de automatización generado por el propio usuario

3.3 Retención de Datos por Google

Según la política de Google AI:

  • Los datos enviados a la API de Gemini con API Key no se usan para entrenar modelos
  • Google puede retener datos temporalmente para monitoreo de abuso (máximo 30 días)
  • No se comparten datos con terceros

3.4 Mitigaciones Implementadas

Riesgo Mitigación
Fuga de datos sensibles en prompts Truncamiento a 30K chars, filtrado de variables de entorno
Inyección de prompts Prompts estructurados con separadores claros
Almacenamiento de datos en tránsito Archivos temporales eliminados automáticamente
Acceso no autorizado a la IA Requiere API Key propia del usuario
Uso indebido de licencia Validación por dispositivo en cada apertura

4. Consumo de Tokens y Costos

4.1 Modelo por Defecto

Gemini 2.0 Flash - Optimizado para velocidad y costo.

4.2 Estimación de Consumo por Operación

Operación Tokens Input (aprox.) Tokens Output (aprox.) Total
Generación de test (grabación simple) 3.000 - 8.000 1.500 - 4.000 ~5.000 - 12.000
Generación de test (con contexto framework) 10.000 - 25.000 2.000 - 6.000 ~12.000 - 31.000
Generación dual Selenium (2 versiones) 20.000 - 50.000 4.000 - 12.000 ~24.000 - 62.000
Chat (pregunta simple) 1.000 - 3.000 500 - 2.000 ~1.500 - 5.000
Chat (con vectores de contexto) 3.000 - 8.000 1.000 - 3.000 ~4.000 - 11.000
Embedding (por texto) 50 - 200 N/A ~50 - 200

4.3 Costos Estimados (Gemini 2.0 Flash)

Precios de referencia de Google AI (mayo 2025):

  • Input: $0.10 por 1M tokens
  • Output: $0.40 por 1M tokens
Uso mensual estimado Costo aprox.
50 generaciones de test/mes $0.15 - $0.50 USD
200 generaciones de test/mes $0.60 - $2.00 USD
500 generaciones + chat activo $1.50 - $5.00 USD

El costo es extremadamente bajo gracias al uso de Gemini Flash. Un equipo de 5 QAs generando tests diariamente no superaría los $5 USD/mes.

4.4 Optimizaciones de Consumo

  • Smart Truncate: Los prompts se recortan inteligentemente, eliminando contexto de framework antes que instrucciones críticas
  • Búsqueda vectorial local: Los embeddings se almacenan localmente en JSON, evitando llamadas repetidas a la API
  • Reutilización de pasos: Al detectar pasos existentes, se reduce la complejidad del prompt
  • Compresión de eventos: En modo Selenium, los keystrokes intermedios se comprimen (solo se envía el valor final)

5. Datos Técnicos de la Extensión

5.1 Dependencias de Runtime

  • Node.js 20+ (para ejecución de Playwright)
  • Playwright (instalado por el usuario en su proyecto)
  • Python 3.8+ (para ejecución de tests generados)

5.2 Permisos de la Extensión

La extensión requiere:

  • Acceso a red (para Gemini API y validación de licencias)
  • Acceso al sistema de archivos (para leer/escribir tests generados)
  • Ejecución de procesos (para lanzar Playwright)
  • Almacenamiento seguro (para API Keys)

5.3 Archivos Generados

Archivo Ubicación Persistencia
Tests .feature Workspace del usuario Permanente
Steps .py Workspace del usuario Permanente
Localizadores .json Workspace del usuario Permanente
Grabación temporal Workspace (.haka_*) Se elimina automáticamente
Vectores del proyecto .haka-ai-studio/ Hasta que el usuario los elimine
Vectores del framework resources/vectors/ Incluidos en la extensión

5.4 Navegadores Soportados

Navegador Modo Playwright Modo Selenium
Chrome ✅ (channel) ✅
Chromium ✅ ✅
Firefox ✅ ✅
WebKit ✅ ❌
Edge ✅ (channel) ✅

6. Consideraciones de Privacidad para Clientes

6.1 Qué Datos Podrían Exponerse

Si un QA graba interacciones en un ambiente con datos reales:

  • URLs visitadas se incluyen en el código capturado
  • Textos visibles en la página pueden aparecer en selectores
  • Valores ingresados en formularios se capturan como parte de la grabación

6.2 Recomendaciones

  1. Usar ambientes de prueba con datos ficticios para las grabaciones
  2. Revisar el código capturado antes de generar con IA (la extensión permite editar)
  3. No grabar en ambientes de producción con datos personales reales
  4. Configurar la API Key por proyecto si se requiere segregación de costos

6.3 Datos que Nunca Salen del Dispositivo

  • Archivos del proyecto no relacionados con la grabación
  • Historial de git
  • Variables de entorno del sistema
  • Credenciales de bases de datos
  • Tokens de servicios externos

7. Auditoría y Trazabilidad

7.1 Logs de la Extensión

La extensión genera logs visibles en:

  • Panel de "Log de Acciones" en la UI
  • Output Channel de VS Code (Haka AI Studio)

Los logs incluyen:

  • Inicio/fin de grabaciones
  • Acciones capturadas
  • Resultado de generación con IA
  • Errores de conexión
  • Validaciones de licencia

7.2 No se Implementa

  • No hay telemetría enviada a Haka Lab
  • No hay tracking de uso
  • No hay analytics
  • No se reportan errores automáticamente a servidores externos

8. Contacto y Soporte

Haka Lab
Producto exclusivo - Todos los derechos reservados

  • Soporte técnico: felipe.farias@hakalab.com
  • Documentación interna: Confluence Haka Lab
  • Repositorio: Privado (acceso solo equipo Haka Lab)

Documento generado para la versión 1.0.18 - Mayo 2025

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft