opencode-browser-tool-insta.../docs/TODO.md

114 lines
4 KiB
Markdown

# 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
- [ ] Cerrar instalable Linux sin rutas hardcodeadas (proyecto, perfil, OpenCode)
- [ ] Alinear `install.sh` y `check.sh` con puesta en marcha en PC nuevo
- [ ] 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`