docs: capturas de la interfaz en el README

Al entrar al repo se ve el proyecto funcionando, no solo el arbol de
ficheros: la portada, el grafo con el umbral bajo y alto, coconews y las
estadisticas, cada una con lo que hay que mirar en ella.

Enlace a la wiki arriba del todo y un indice de sus paginas al final, que
la pestana Wiki de Gitea pasa desapercibida.
This commit is contained in:
hacklab 2026-08-23 18:09:20 +02:00
parent b1411eb372
commit a78454d836
8 changed files with 94 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

BIN
INFO/DOCS/capturas/home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

105
README.md
View file

@ -3,12 +3,14 @@
Cruza lo que publica la prensa con lo que dicen los documentos filtrados, y lo dibuja
como un grafo que se puede recorrer.
En marcha: **[upleaks.org](https://upleaks.org)**
**[upleaks.org](https://upleaks.org)** · **[Wiki](https://gitea.laenre.net/hacklab/FLUJOS/wiki)** — arquitectura, fuentes, instalación y recorrido por la interfaz
![Flujos de información](INFO/DOCS/diagramas/flujos-de-informacion.svg)
---
## La idea
![Flujos de información](INFO/DOCS/diagramas/flujos-de-informacion.svg)
Cuatro agencias —Reuters, AFP, AP, EFE— abastecen a casi toda la prensa del planeta.
Abres diez periódicos distintos y lees el mismo despacho diez veces. Esa repetición
parece pluralidad y no lo es.
@ -21,25 +23,87 @@ lo mismo.
El resultado no es un buscador. Es un mapa donde se ve qué se cuenta, quién lo cuenta y
qué había escrito sobre eso antes de que se contara.
## Qué hay dentro ahora mismo
| | |
|---|---|
| Noticias | 98.110 de 236 feeds en 5 idiomas |
| Artículos de Wikipedia | 28.266 |
| Documentos de WikiLeaks | 36.182 |
| Fragmentos vectorizados | 531.306 |
| Entidades extraídas | 76.857 |
| Aristas del grafo | 115.035.059 |
---
## Cómo se ve
### La portada
![Portada](INFO/DOCS/capturas/home.png)
Cinco temáticas, cada una con su color, y ese color se mantiene después en el grafo.
Arriba: coconews, el buzón de periodistas y las estadísticas. Abajo, los cuatro canales
del proyecto, incluido el servicio Tor.
### El grafo
![Grafo de GLOB-WAR](INFO/DOCS/capturas/grafo-glob-war.png)
Cada punto es un documento y cada línea dice que dos documentos hablan de lo mismo. Lo que
hay que buscar es una arista entre una noticia y un leak: algo que se publicó hoy y un
documento que ya lo decía.
A la izquierda los parámetros —ventana de fechas, número de nodos, umbral de similitud,
palabra clave, subtemática—. Arriba a la derecha, **Semanal** (últimos 7 días, por defecto)
o **Todas** (una muestra de todo el archivo).
![Grafo de ECO-CORP](INFO/DOCS/capturas/grafo-eco-corp.png)
Con el umbral bajo, el grafo se llena y se ve la estructura general. Las miniaturas son
noticias con foto, servidas por un proxy interno: Three.js no puede texturizar imágenes de
otro dominio sin CORS, y casi ningún periódico las manda.
![Grafo disperso](INFO/DOCS/capturas/grafo-eco-corp-disperso.png)
Con el umbral alto, casi todo se desconecta y solo sobrevive un núcleo. Esta es la vista
que sirve para buscar de verdad: el grafo lleno es para hacerse una idea, el grafo pelado
es donde aparece lo que está relacionado sin lugar a dudas.
### Coconews
![Coconews](INFO/DOCS/capturas/coconews.png)
Las noticias en crudo, sin grafo. Filtros por tema, país o región y entidad, y en el
lateral el reparto en vivo del corpus por temática y por idioma — la forma más rápida de
ver que no está equilibrado y en qué dirección.
Los contadores de arriba son el termómetro de la cadena de workers: si el número de
traducidas o de procesadas por NER se descuelga del total, es que uno se ha caído.
### Estadísticas
![Estadísticas](INFO/DOCS/capturas/stats.png)
El estado del corpus, recalculado cada 6 horas y servido cacheado — contar 115 millones de
aristas en cada carga de página no es razonable.
Ese `sim. promedio ~10.6%` resume por qué hubo que rehacer el motor de correlación: son 110
millones de pares con un parecido medio del 10%, así que casi ninguno significa nada.
Recorrido completo, número a número, en la
[wiki](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Recorrido-por-la-interfaz).
---
## De dónde salen los datos
![De dónde salen los datos](INFO/DOCS/diagramas/fuentes-y-clasificacion.svg)
Cuatro fuentes. La etiqueta de tema y subtema no se calcula del texto: viaja con el feed,
y el artículo la hereda al entrar. Es una decisión editorial, no estadística — auditable, y
corregible editando una fila del catálogo.
Cuatro fuentes. La etiqueta de tema y subtema no se calcula del texto: viaja escrita en el
feed y el artículo la hereda al entrar. Es una decisión editorial, no estadística —
auditable, y corregible editando una fila del catálogo.
Más detalle en [De dónde salen los datos](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Fuentes-y-clasificacion).
Más detalle en
[De dónde salen los datos](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Fuentes-y-clasificacion).
## Arquitectura
@ -56,8 +120,7 @@ estaba. El estado vive en MongoDB, no en un orquestador.
- `coconews/workers/embedder.py` — vectoriza con MiniLM multilingüe (384 dimensiones)
- `FLUJOS_DATOS/COMPARACIONES/motor_comparacion.py` — correlación semántica noticia↔leak
La documentación técnica de cada pieza está en [`INFO/DOCS/CONTEXT/`](INFO/DOCS/CONTEXT/),
y la [wiki](https://gitea.laenre.net/hacklab/FLUJOS/wiki) cuenta el conjunto.
---
## Requisitos
@ -110,6 +173,9 @@ python3 FLUJOS_DATOS/COMPARACIONES/motor_comparacion.py --salida comparaciones_v
El motor de correlación acepta `--dry-run` para calibrar umbrales antes de escribir nada.
Guía completa en la
[wiki](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Instalacion).
## Como servicio
Las unidades de `coconews/systemd/` son plantillas. El script las rellena con tu ruta,
@ -135,7 +201,7 @@ FLUJOS/
│ ├── TORRENTS/ documentos de WikiLeaks
│ ├── COMPARACIONES/ correlación semántica
│ └── IMAGENES/ scraper y análisis de imágenes
└── INFO/DOCS/ documentación técnica y diagramas
└── INFO/DOCS/ documentación técnica, diagramas y capturas
```
## Envíos
@ -143,6 +209,23 @@ FLUJOS/
Hay un buzón para periodistas y filtradores en `/journalist`. Los envíos se guardan fuera
del webroot, nunca se sirven como estáticos y no se registra la IP de quien envía.
## Documentación
| | |
|---|---|
| [De dónde salen los datos](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Fuentes-y-clasificacion) | Las fuentes, cómo se clasifican y qué puedes filtrar |
| [Recorrido por la interfaz](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Recorrido-por-la-interfaz) | Pantalla por pantalla, qué es cada número y cada control |
| [Arquitectura](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Arquitectura) | Los cinco procesos y cómo se coordinan sin hablarse |
| [Scrapeo de noticias](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Scrapeo-de-noticias) | Los 236 feeds, el ciclo de ingesta, traducción y entidades |
| [Wikipedia y leaks](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Wikipedia-y-leaks) | El contexto histórico y el archivo de documentos |
| [Correlación semántica](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Correlacion-semantica) | Cómo se decide que dos textos hablan de lo mismo |
| [La visualización](https://gitea.laenre.net/hacklab/FLUJOS/wiki/La-visualizacion) | El grafo 3D y cómo leerlo |
| [Instalación](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Instalacion) | Levantarlo desde cero |
| [Linaje](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Linaje) | Project PM, Barrett Brown, WikiLeaks |
La documentación técnica de cada pieza está también en
[`INFO/DOCS/CONTEXT/`](INFO/DOCS/CONTEXT/).
---
> No basta con hablar de cambio.