Diseñada por vatios.
Estar fuera de la red significa que la electricidad es el recurso más escaso del sistema, así que es la primera restricción y no la última. Cada una de las demás decisiones — qué modelo, qué almacenamiento, qué interfaz — se deriva de un presupuesto de energía. Cuatro reglas gobiernan la construcción, en este orden.
Eficiencia energética
El rendimiento por vatio le gana al rendimiento bruto. Siempre.
Durabilidad de los datos
El silicio se reemplaza. Los pesos y los corpus son irreemplazables una vez que se pierde la conectividad.
Reparable con piezas genéricas
Sin interfaces propietarias, sin servidores de licencias, sin ninguna pieza que no pueda sustituirse.
Degradación progresiva
Sigue siendo útil cuando el nodo principal está muerto. Y recuperable por una segunda persona, designada por su nombre.
Dos nodos, tres copias, un panel.
| Componente | Especificación | Por qué este en concreto |
|---|---|---|
| Nodo principal | Equipo de escritorio Apple Silicon 128 GB de memoria unificada ~5 W en reposo |
La memoria unificada permite que un modelo de 27–31B viva entero en RAM y quede espacio para un segundo modelo al lado. La cifra de ~5 W en reposo es la razón por la que esta pieza no es un PC gamer: una máquina que consume 30 W en reposo quema unos 700 Wh diarios sin hacer nada, una fracción nada despreciable de todo el banco de baterías. Este es el más alto de cuatro escalones — el mismo archivo corre en una Raspberry Pi de $580, más despacio. |
| Nodo secundario | Raspberry Pi 5, 16 GB o mini PC x86 de bajo consumo |
Sirve los archivos y los mapas por WiFi local para que la lectura nunca haga cola detrás de la inferencia, ejecuta un modelo pequeño cuando el principal está apagado y se convierte en el sistema sobreviviente ante una falla total del principal. |
| Almacenamiento de trabajo | SSD externo de 8 TB sistema de archivos con sumas de verificación |
ZFS o Btrfs, para que la corrupción silenciosa de bits se detecte en vez de heredarse calladamente a cada copia posterior. |
| Copia fría A | 8 TB, apagada rotada cada trimestre |
Estar apagada es la única protección real contra una falla de controladora que se lleve todo el arreglo por delante. |
| Copia fría B | 8 TB, en otro lugar físico | Porque el incendio, la inundación y el robo no respetan un estante. |
| Energía | 600 W – 1 kW solar 3–5 kWh LiFePO₄ inversor de onda sinusoidal pura |
LiFePO₄ por vida útil en ciclos y seguridad térmica. Una línea de 12 V CC directa al nodo cuando sea posible, evitando por completo las pérdidas de conversión del inversor. |
| Audio | Micrófono de arreglo para sala + diadema altavoz amplificado botón físico de pulsar para hablar |
La diadema de micrófono cercano es obligatoria, no opcional — la precisión del reconocimiento en un escritorio silencioso no dice nada sobre la precisión donde el sistema se usa de verdad. |
| Repuestos de resiliencia | Contenedor conductor sellado todo duplicado |
Fuentes de poder y cables de repuesto para cada equipo, una carcasa de disco de repuesto — las carcasas fallan más seguido que los discos que llevan dentro — y dos de cada componente de audio. |
Dos detalles de ese dibujo son el diseño entero y no adorno. La batería alimenta el nodo a 12 voltios directos, saltándose el inversor — un inversor convierte CC en CA para que la fuente del nodo la vuelva a convertir en CC, y las dos conversiones se pagan en vatios, que eran justamente lo más escaso del sitio.
Y las copias frías están dibujadas desconectadas porque esa es su función. Un respaldo que se queda enchufado comparte controladora, línea de energía y sistema de archivos con aquello que respalda, lo que significa que también comparte la falla. El espacio en la línea es la protección.
Qué significa la línea cortada
Un aislamiento de red suele dibujarse como un recinto, y eso lo entiende al revés — un muro sugiere que se está dejando algo afuera. Nada está tratando de entrar. El punto es que se eliminó el único borde que normalmente saldría, así que no hay nada aguas arriba que pueda fallar, limitar, recotizar o revocar. La red local es real y está ocupada; simplemente no tiene nada por encima.
Cinco niveles, dos linajes independientes.
Todos los modelos de la instalación son de pesos abiertos y licencia permisiva — Apache 2.0 o MIT — de modo que nada aquí depende de que una empresa siga dando permiso. Se llevan dos familias de modelos en el nivel superior para que hacerle la misma pregunta a las dos, y tomar el desacuerdo como advertencia, sea una práctica barata y cotidiana.
| Nivel | Modelo | Tamaño | Función | Licencia |
|---|---|---|---|---|
| 1 · Razonamiento | Qwen3.8-27B Principal | ~17 GB @ 4 bits ~29 GB @ 8 bits | El caballo de batalla. Denso, con visión nativa, contexto de 262K. Corre a 8 bits en el nodo de producción, lo que ataca directamente el modo de falla de la respuesta equivocada dicha con seguridad. | Apache 2.0 |
| 1 · Contraste | Gemma 4 31B | ~20 GB @ 4 bits | Un linaje de entrenamiento completamente distinto, residente al lado. Buen análisis de documentos, OCR multilingüe y reconocimiento de escritura a mano. Pregúnteles a los dos; si no coinciden, hay que ir a los archivos. | Apache 2.0 |
| 2 · Respaldo | Gemma 4 12B | ~8 GB | Vive en el nodo de respaldo. Se eligió sobre sus hermanos porque las variantes pequeñas de Gemma 4 incluyen reconocimiento de voz nativo y voz a texto traducido — una tercera vía independiente para el español hablado, justo en el nodo que tiene más probabilidad de seguir encendido. | Apache 2.0 |
| 2 · Mínimo | Phi-4-mini | ~2–4 GB | No requiere GPU. Corre en casi cualquier cosa con unos pocos gigabytes de RAM — el piso de la escalera de degradación. | MIT |
| 3 · Ingeniería | Qwen3-Coder-30B-A3B | ~20 GB | El modelo que mantiene andando a las demás máquinas. Lee el mapa de registros de un controlador de carga o el juego de comandos de un radio directamente de la hoja de datos y escribe el pegamento — programas de microcontrolador, scripts de shell, lógica de cron, analizadores de registros. Un oficio distinto del razonamiento general, y los modelos generales son peores en él de forma medible. Mezcla dispersa de expertos, así que solo una fracción de los 30B se activa por token, que es como cabe en el presupuesto de energía. | Apache 2.0 |
| 4 · Recuperación | BGE-M3 Crítico | 2,27 GB | El componente que hace funcionar todo el sistema, y el que la mayoría de las instalaciones olvida. Ver más abajo. | MIT |
| 5 · Oído | Whisper large-v3 y large-v3-turbo | ~10 GB | Reconocimiento de voz, ambos modelos en dos formatos de ejecución cada uno — uno afinado para Apple Silicon y CPU, otro para CUDA — porque convertir de formato después exigiría un sistema en funcionamiento. Las variantes small y base van para el nodo de respaldo. | MIT |
| 5 · Voz | Kokoro-82M principal · Piper respaldo | ~330 MB · ~60 MB | 54 voces en ocho grupos de idioma y acento, 24 kHz, más rápido que en tiempo real sobre CPU. Piper es la vía de bajo consumo en el nodo de respaldo — y, lo esencial, trae integrado su propio motor de fonemas, así que los dos fallan de forma independiente en lugar de compartir una dependencia. | Apache 2.0 · GPL-3.0 |
Los pesos maestros en precisión completa (211 GB) se archivan junto a cada copia cuantizada. La cuantización es de una sola vía — no se recupera 8 bits desde 4 bits, igual que no se recupera un RAW desde un JPEG — así que todos los niveles que alguna vez se puedan querer se consiguen mientras todavía hay conectividad.
Cómo una pregunta encuentra su respuesta.
El problema difícil no es generar una respuesta; los modelos lo hacen bien. Es encontrar, dentro de un terabyte, los cuatro párrafos que pueden confirmarla o corregirla, y hacerlo cuando las palabras de quien pregunta y las del documento no tienen nada en común.
El componente que nadie recuerda
Pregúntele al Arca «el agua de mi pozo sabe a metal, ¿es segura?» y la búsqueda por palabras no lo va a salvar. El artículo que responde eso se titula Hierro y manganeso en aguas subterráneas y nunca contiene la palabra «metal».
El modelo de embeddings resuelve esto convirtiendo cada pasaje del archivo en una posición dentro de un espacio de 1.024 dimensiones, organizado de modo que los pasajes que hablan de cosas parecidas caen cerca unos de otros, sin importar las palabras que usen. La recuperación se vuelve geometría: se convierte la pregunta en coordenadas y se mira qué hay cerca.
Y aquí está la parte frágil. El mismo modelo se usa para construir el índice y para resolver cada consulta futura. Sus coordenadas solo tienen sentido respecto de sí mismo — otro modelo de embeddings produce otro espacio, y sus números no son comparables, como superponer coordenadas de dos proyecciones cartográficas distintas.
Si se pierde, cada vector guardado en un índice construido sobre el archivo entero se convierte en una lista ilegible de números. No hay arreglo por sustitución. El único remedio es volver a generar los embeddings de todo el archivo con lo que quede, lo cual exige un sistema funcionando, días de cómputo y energía estable — cosas que, dentro de unos años y sin conexión, quizá sencillamente no existan.
Por eso esos 2,27 GB se consiguen, se verifican por hash, se fijan a un commit exacto y se copian a almacenamiento frío antes que los 110 GB de Wikipedia. La falla es invisible hasta el momento en que ya no tiene arreglo.
Por qué BGE-M3 en concreto
Más de 100 idiomas en un mismo espacio compartido — una pregunta en español puede recuperar un pasaje en inglés sin traducir nada, y los siete idiomas que añade la versión dos no exigen reindexar. Fragmentos de 8.192 tokens, para que un procedimiento de reparación completo quede íntegro en vez de partirse en pedazos. Recuperación densa, dispersa y multivector desde un solo modelo — un componente por restaurar desde almacenamiento frío en vez de dos.
No es un modelo de lenguaje pequeño
Es otra clase de cosa por completo: 568 millones de parámetros, un codificador y no un generador. Si se le hace una pregunta no se obtiene una respuesta equivocada — se obtienen coordenadas. No tiene maquinaria de generación de texto en absoluto. Si el modelo de lenguaje es un escritor, este es el bibliotecario que lo ha leído todo y sabe dónde va cada cosa.
Nada que necesite actualizarse para seguir funcionando.
El ecosistema de voz e inferencia sin conexión se mueve rápido — en un solo año un proyecto líder de síntesis de voz fue archivado, otro fue declarado obsoleto por sus propios mantenedores y un tercero quedó en silencio. Un nodo sin conexión no puede perseguir un ecosistema en movimiento. Se toma lo que funciona hoy, se verifica la cadena entera con la red físicamente desconectada, se fijan las versiones exactas y se congela.
llama.cpp, un servidor por modelo
Dos procesos llama-server, uno por modelo, arrancados directamente y no a través de un gestor: un gestor es una capa más que hay que incorporar, fijar y reparar sin conexión. El modelo de razonamiento de 27B ocupa unos 14,8 GB en la tarjeta gráfica; el modelo de contraste corre enteramente en la memoria del sistema, unos 21 GB, y no necesita tarjeta gráfica alguna, así que la segunda opinión sobrevive en una máquina donde el primero no cabe. Ollama se lleva como la alternativa de más alto nivel y no es lo que se ejecuta. Conservar la capa de abajo es un principio aplicado en todo el sistema.
Una página, servida por un solo archivo
La superficie es un único archivo de Python que no importa nada fuera de la biblioteca estándar: ningún framework web que incorporar, ninguna dependencia compilada que reconstruir dentro de años. Los pasajes a la izquierda, la respuesta a la derecha, un mapa cuando la pregunta nombra un lugar. Se abre desde cualquier teléfono, tableta o portátil de la red local, sin instalar nada. Open WebUI va incorporado como la alternativa conversacional; no es lo que el nodo presenta.
Servidor Kiwix
Sirve los corpus ZIM como sitios web locales navegables por WiFi, y es lo que abre cada cita. Hoy corre junto a la superficie en el nodo principal. Moverlo al segundo nodo, para que las lecturas del archivo nunca hagan cola detrás de la inferencia, está planeado y no construido.
Palabras y significado, fundidos por rango
La búsqueda por palabras vive en el índice de texto completo del propio SQLite y no necesita modelo alguno, así que sigue funcionando cuando ya no funciona nada más. La búsqueda por significado ejecuta un modelo multilingüe de embeddings sobre un almacén vectorial local. Las dos se combinan por rango y no por puntaje —los números no son comparables— y la página lo dice cuando ambas discrepan. Los dos marcos de recuperación y los dos almacenes vectoriales van incorporados sin conexión, porque esa elección no se puede revisar una vez que la conectividad se acaba; ninguno de los dos marcos está en el camino que recorre realmente una consulta.
Cada respuesta abre su fuente
Cada uno de los 39 millones de pasajes lleva el artefacto, el documento y el desplazamiento en bytes de donde salió, así que todo resultado se resuelve en un enlace que abre el original: una página de un PDF, un artículo del archivo. Es una tabla en SQLite y no un servicio: nada que arrancar, nada que reparar. Se emitió mientras se construía el índice, porque añadirlo después obliga a volver a leer un terabyte. La respuesta es un resumen; el pasaje es la fuente, y cualquier cifra sobre la que valga la pena actuar se lee allí.
PMTiles, servido por un único binario estático
La pirámide de teselas del planeta entero en un solo archivo: sin base de datos, sin miles de archivos diminutos y sin servidor de teselas. Un único binario estático lo publica y el navegador lo dibuja. Se descartó deliberadamente un servidor de teselas convencional, porque incorporarlo obligaba a incorporar también un entorno de ejecución JavaScript y un árbol de compilación nativo para cuatro arquitecturas: justo el componente que nadie podría reconstruir a partir de instrucciones impresas. En los teléfonos, CoMaps: una bifurcación Apache 2.0 de principio a fin, elegida frente a una alternativa cuyos datos cartográficos son propietarios. Un gazetteer local de 271.848 nombres de lugar convierte una pregunta que nombra un sitio en coordenadas, sin ningún modelo en el camino.
Una cadena de cuatro etapas
Captura → reconocimiento → inferencia → síntesis. Los modelos de cada etapa están en el disco y verificados sin conexión. Cómo se unen las cuatro no está decidido, y el proyecto lo registra como una pregunta abierta en vez de resolverlo en el texto de esta página. Lo que gane tiene que poder reconstruirse a partir de instrucciones impresas, lo cual descarta casi todo el campo.
Segundos entornos para los modelos clave
Los modelos de embeddings y de voz también se llevan como exportaciones ONNX, que corren sin el marco de aprendizaje profundo por debajo. Protección no contra la corrupción de archivos, sino contra la pudrición de dependencias — el escenario en que el marco mismo ya no se puede instalar dentro de unos años.
Cada paquete, guardado localmente
El conjunto completo de dependencias de Python se descarga y luego se instala una vez con la red prohibida por completo para comprobar que de verdad se basta a sí mismo, y las versiones resueltas quedan fijadas en un archivo de bloqueo. Un conflicto de dependencias descubierto sin conexión, años después, no tiene arreglo.
Imágenes de instalación sin conexión
Instaladores de los sistemas operativos que esta compilación puede llevar consigo, junto con cada controlador y entorno de ejecución, para que un equipo desnudo pueda ponerse en marcha desde el almacenamiento en frío sin red en ningún momento. macOS es la excepción deliberada: un instalador guardado hoy puede negarse a instalarse en hardware comprado dentro de unos años, así que el proyecto registra en su lugar las versiones con las que se sabe que funciona, y el simulacro de recuperación se hace contra el nodo Linux, que es el que siempre se puede reconstruir.
En qué se va el terabyte.
| Categoría | Tamaño |
|---|---|
| Datos de mapas — vectoriales del planeta + relieve | 849 GB |
| Geográfico, agrícola, práctico, complementario | 367 GB |
| Corpus principales — Wikipedia EN + ES, Gutenberg, Stack Overflow, Stack Exchange | 297 GB |
| Modelos cuantizados, niveles 1–4 | 287 GB |
| Índices vectorial y de palabras clave | 258 GB |
| Pesos maestros en precisión completa | 211 GB |
| Literatura — Gutenberg EN + ES, Standard Ebooks, Wikisource | 86 GB |
| Conjuntos de matemáticas, economía e idiomas | 26 GB |
| Instaladores de sistema operativo y dependencias | 26 GB |
| Modelos de voz, ambos formatos de ejecución | 12 GB |
| Total | 2,42 TB |
Medido en el disco el 26-09-2026 — el 30 % de un almacenamiento de 8 TB, frente a una especificación que proyectaba entre 1,15 y 1,3 TB. Los mapas son la mayor parte de la diferencia: un modelo de relieve del planeta entero no estaba en el presupuesto original y son 706 GB de los 849 de arriba. El índice de búsqueda es la otra gran adición: 52 GB cuando se dibujó este gráfico por primera vez, 258 GB después de que dos pasadas más de indexación lo llevaran a 39 millones de pasajes. El margen sigue siendo deliberado — siete idiomas más son una adición ya prevista, y migrar de capacidad después significaría volver a clonar las dos copias frías y repetir cada verificación.
Las dos partidas que los aficionados omiten
Los pesos en precisión completa y los índices de búsqueda suman juntos 469 GB, el 19 % del total — una porción mayor que cuando se dibujó esto por primera vez, porque los índices crecieron cinco veces cuando dos pasadas más los extendieron por el archivo. Déjelos por fuera y tendrá un sistema que funciona hoy y no se puede reconstruir mañana — el índice porque regenerarlo toma días de cómputo, y los pesos maestros porque nunca se puede volver a derivar una precisión mayor desde una menor.
Cada archivo, con su hash
Cada artefacto se verifica contra la suma de verificación de quien lo publica al momento de llegar, y queda registrado en un manifiesto con su fuente, su versión exacta y el commit del que salió. El nombre de un repositorio no identifica lo que hay en el disco. Un hash sí.
Cada trimestre, cada año
Discos fríos encendidos, sumas de verificación comprobadas, discos rotados — cada trimestre. Corpus actualizados y decisiones de modelo reevaluadas mientras todavía haya conectividad — cada año. Y un simulacro completo de recuperación contra las páginas impresas, una vez al año.
Cuatro pisos, y en el último no hay computadora.
La degradación progresiva es una restricción de diseño, no una aspiración. Cada peldaño de abajo supone que todo lo de arriba ya no está — y cada uno es además una configuración que se puede comprar tal cual, que es lo que hace que el plan de fallas y la lista de precios sean el mismo documento.
- FULLNodo principal, todo encendido. Razonamiento de 27B a 8 bits con una segunda familia al lado para contrastar, archivo completo, recuperación híbrida, voz en los dos idiomas, mapas del planeta, servido a cada dispositivo de la red local.
- −1Nodo principal caído → la Raspberry Pi. Un modelo de 12B con su propio reconocimiento de voz integrado, los archivos completos servidos por WiFi, los mapas y el motor de voz de bajo consumo. Más lento y menos preciso. Sigue respondiendo.
- −2Los dos nodos caídos → cualquier computadora. Phi-4-mini corre sin GPU en casi cualquier cosa, y los archivos se pueden navegar directamente desde una copia fría sin ninguna IA de por medio — un lector Kiwix y un disco ya son una biblioteca sin conexión completa y funcional.
- −3Ninguna computadora funcionando → papel. El procedimiento completo de recuperación está impreso, en el idioma de lectura del operador de recuperación, con los comandos exactos para reconstruir el sistema entero sobre hardware desnudo desde almacenamiento frío. Una copia guardada con cada juego de discos fríos. Al lado: tablas impresas de logaritmos, funciones trigonométricas y constantes físicas, y una calculadora científica física con pilas de repuesto — el respaldo analógico para lo único en lo que un modelo de lenguaje es estructuralmente peor.
Un simulacro de recuperación hecho por quien construyó el sistema prueba los discos. Un simulacro hecho por una segunda persona, designada por su nombre, con las páginas impresas en la mano prueba la documentación — que es el punto real. Cualquier paso que esa persona no logre completar es un defecto de la documentación, no del operador. «La familia» no es una respuesta aceptable a quién es esa persona: la responsabilidad difusa significa que nadie hace nunca el simulacro.
La cadena completa se prueba con la red físicamente desconectada — no simplemente con el WiFi apagado por software. Y los dos idiomas se prueban por separado, porque un sistema puede pasar todas las pruebas en inglés mientras el español está roto en silencio. Esa asimetría concreta es justo lo que la prueba existe para atrapar.