114 lines
4 KiB
Markdown
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`
|