# TODO - opencode-browser-tool ## Objetivo del TODO Recoger el trabajo completo necesario desde el estado actual hasta un producto terminado y utilizable al 100 por 100. --- ## Fase 0 - Base del proyecto - [x] Confirmar y congelar alcance exacto de la v1 - [x] Confirmar stack tecnico definitivo para la v1 (`Node.js/TypeScript`, `Playwright`, `Chromium`, `MCP`) - [x] Definir estructura inicial de carpetas del proyecto - [x] Crear `README.md` principal del proyecto - [x] Crear scripts base de instalacion y verificacion --- ## Fase 1 - Integracion minima funcional con OpenCode - [x] Crear el `MCP server` externo del proyecto - [x] Definir herramientas MCP minimas de la v1 - [x] Conectar el `MCP server` con `Playwright` - [x] Lanzar `Chromium` en modo visible por defecto - [x] Validar que OpenCode detecta y usa la herramienta - [x] Probar primera navegacion real contra una URL local --- ## Fase 2 - Interaccion efectiva con la UI - [x] Implementar acciones base: abrir URL, click, type, press, select, hover y scroll - [x] Implementar esperas utiles para estabilidad de pruebas - [x] Implementar lectura de DOM, texto visible y estado de elementos - [x] Permitir ejecucion de JavaScript controlado en pagina - [x] Definir respuesta estructurada para cada accion - [x] Probar flujos reales sobre una app de desarrollo local --- ## Fase 3 - Evidencia y diagnostico inicial - [x] Implementar screenshots - [x] Capturar logs de consola - [x] Capturar errores de pagina - [x] Definir almacenamiento de artefactos por ejecucion - [x] Evaluar inclusion de video o trace en la v1 - [x] Diseñar formato de reporte util para el agente --- ## Fase 4 - Instalacion y empaquetado - [x] Crear `install.sh` - [x] Crear `check.sh` - [x] Crear plantilla de configuracion MCP para OpenCode - [x] Documentar instalacion paso a paso en un `.md` (`docs/QUICKSTART.md`) - [ ] Verificar instalacion en un entorno limpio con OpenCode (checklist en `docs/VALIDACION_ENTORNO_LIMPIO.md`) - [x] Asegurar que todo el proyecto se despliega desde una unica carpeta - [x] Cerrar instalable Linux sin rutas hardcodeadas (proyecto, perfil, OpenCode) - [x] Alinear `install.sh` y `check.sh` con puesta en marcha en PC nuevo - [x] Cerrar plantilla MCP portable para rutas locales variables --- ## Fase 5 - Robustez de la v1 - [ ] Mejorar manejo de errores y mensajes devueltos al agente - [ ] Definir gestion minima de sesiones de navegador - [ ] Definir rutas y limpieza de artefactos - [ ] Probar estabilidad en varias ejecuciones consecutivas - [ ] Documentar limitaciones conocidas de la v1 - [ ] Cerrar criterios de aceptacion de la v1 --- ## Fase 6 - V2 preparada para continuidad - [ ] Diseñar backend/orquestador intermedio - [ ] Diseñar contratos estables entre MCP y runner interno - [ ] Diseñar gestion mas rica de perfiles y sesiones - [ ] Añadir puntos de extension para ganchos `CDP` - [ ] Preparar base para politicas de seguridad en webs externas - [ ] Evaluar soporte futuro de `WebKit` --- ## Fase 7 - Producto terminado al 100 por 100 - [ ] Cerrar instalacion reproducible en una maquina nueva con OpenCode - [ ] Cerrar experiencia de uso completa para agente y usuario - [ ] Cerrar documentacion final de uso, instalacion y mantenimiento - [ ] Probar apps locales reales con flujos completos - [ ] Probar casos externos autorizados cuando llegue el momento - [ ] Dejar lista la estrategia de evolucion y mantenimiento del proyecto --- ## Pendientes inmediatos acordados - [ ] Ejecutar prueba funcional final acordada (smoke de aceptacion) - [ ] Ejecutar plan de cierre de instalable segun `docs/PLAN_CIERRE_INSTALABLE.md` - [ ] Evaluar complejidad de soporte Windows y viabilidad de flujo neutro por `npm`/Node --- ## Registro de decisiones pendientes - [ ] Politica exacta para webs externas - [ ] Allowlist de dominios - [ ] Confirmacion previa para acciones sensibles - [ ] Gestion de `CAPTCHA` y `2FA` - [ ] Persistencia o limpieza de sesion entre ejecuciones - [ ] Estrategia final `managed chromium` vs `system browser`