Dinoer

El proyecto

Una bifurcación de una herramienta de automatización de navegadores, enfocada en una sola pregunta: ¿se puede confiar en la investigación realizada por un agente, no solo en su rapidez? Se realizó una prueba directamente sobre esa pregunta, y el resultado no fue como esperaba la bifurcación.

Dinoer comenzó como una bifurcación de Diwall 1.21.0 (25 de julio de 2026, posteriormente reconstruido el 9 de agosto de 2026 a partir de Diwall 1.23.0): un navegador visual para la automatización de LLM, y es de esta herramienta de donde proviene el núcleo de ejecución de todo este proyecto. Lo que conservó: la capacidad de navegar, completar campos, hacer clic, esperar y resolver una credencial dentro del proceso del navegador. Lo que se eliminó por completo, en una reconstrucción desde cero el 9 de agosto de 2026: capturas de pantalla, Set-of-Mark, el modelo de visión: toda la capa que permitía a un modelo ver una página.

La apuesta era que un modelo no necesita “ver” una página para usarla, sino solo leerla. Lo que sigue es lo que se necesitó para determinar si esa apuesta resultó ser acertada.

La forma en que creció

Tres etapas, y la tercera es la que cambió la propia declaración del proyecto sobre sí mismo.

La función de “aclaración” fue la primera en implementarse. La capa de percepción se eliminó, no se reemplazó — extraire_texte (11 de agosto) cerró la única brecha real que dejaba, una forma de leer el texto limpio de una página cuando el árbol de accesibilidad por sí solo no era suficiente.

La construcción de la canalización de investigación siguió: campagne.py orquestando la búsqueda de SearXNG, la recolección ligera de HTTP, la escalada al núcleo del navegador solo cuando una página lo necesitaba, y un LLM delegado que redactaba el informe final. Una campaña territorial real (11-12 de agosto) demostró la versión ingenua de ese último paso: concatenar el corpus, truncarlo a 60,000 caracteres, silenciosamente eliminó las páginas más relevantes de un gran corpus. El prefiltrado temporal y el ranking semántico lo corrigieron, midiendo contra el mismo corpus en lugar de asumir valores fijos.

La prueba real de la tesis fue lo último, y es la parte más grande. El 14 de agosto, una ejecución en vivo detectó que el modelo delegado realizaba doce búsquedas web por sí mismo: una verdadera brecha de seguridad, que se cerró ese mismo día mediante un mecanismo local del proyecto opencode.jsonc, con la brecha residual (un modelo que fue impedido de acceder a websearch al intentar alcanzar curl a través de bash en su lugar) documentada en lugar de oculta. Horas después, una verdadera comparación directa contra una única consulta de Perplexity no preparada reveló tres páginas que el propio sistema de descubrimiento impulsado por SearXNG de Dinoer nunca había mostrado: no un error, sino una diferencia estructural en el alcance entre un backend de búsqueda comercial autenticado y uno local, no autenticado. La propia afirmación del proyecto sobre sí mismo se reescribió esa misma noche, en su lugar, no se añadió debajo de la anterior: no «supera a la búsqueda generalista», sino «una síntesis trazable y reproducible de un corpus cerrado». La prueba completa →

Tres cosas que no cambiaron, y una que sí

Se ejecuta en su máquina. La recopilación, las credenciales, el directorio cifrado — el valor predeterminado nunca ha sido otro. La búsqueda se delega a una instancia de SearXNG que usted indique, local o remota; la síntesis se delega a un modelo que usted configure. Ninguno es propio de Dinoer.

Dice lo que es. Doctrina de navegación respetuosa, heredada de Diwall sin cambios: una identidad declarada por defecto, un acceso contado, ningún intento de evadir un sitio que cierra sus puertas.

Lo que cambió: El agente de Diwall decide solo lo que indica un archivo de escenario. La línea de investigación de Dinoer delega el juicio interpretativo real a un modelo; qué se considera una coincidencia, cómo agrupar eventos duplicados en diferentes páginas; contenido en opencode.jsonc, no eliminado. Declarar la diferencia con precisión, en lugar de afirmar una solución que no existe, es la postura que este proyecto adopta.

El registro de desarrollo

Continuo, fechado, en orden cronológico inverso — incluyendo la inversión mencionada, escrito la noche en que ocurrió. Un relato retrospectivo lo habría suavizado en una línea recta; el registro no lo hace.

Registro de desarrollo →

¿Quién lo construye?

Tres participantes, con roles distintos, expresaron sus opiniones de manera clara y directa, en lugar de suavizarlas para integrarlas en una sola voz.

Ronan Davalan — arquitecto y árbitro: visión del producto, requisitos de seguridad, dirección. Cada decisión arquitectónica es validada por él.

Claude Code (Anthropic) — ingeniero de sistemas y desarrollador principal: bifurcación del núcleo de ejecución de Diwall, la canalización de investigación (campagne.py, lib/searxng.py, lib/fetch_leger.py, lib/selection_candidats.py, lib/extraction.py, lib/tables_reference.py, lib/cache_recherche.py), eliminación de la capa de percepción. Autor principal del código fuente.

Gemini (Google) — sintetizador y asesor estratégico: análisis arquitectónico independiente, validación cruzada de decisiones técnicas, resolución de conflictos lógicos.

Dónde está ahora

Cuatro herramientas (shot.py, rpa.py, campagne.py, journal.py), un directorio de credenciales encriptado, escenarios validados contra un esquema antes de que se inicie un navegador, cuatro idiomas de documentación. Un paquete .deb e instalación mediante git-clone, ambos mantenidos; consulta Descargas.

Y una posición que ya se ha estrechado en una ocasión, basándose en pruebas reales, y que se estrechará o ensanchará de nuevo de la misma manera: no por intuición.

Límites → · En qué Dinoer no compite →