Arquitectura de referencia · septiembre 2026
Un ecosistema local-first en un Mac mini: agentes especializados, un mission control que los vigila, una sola puerta a los modelos y una sola memoria. Lo dirijo desde el móvil, y desde el iPad controlo el Mac entero.
Capa 1 · Entrada
El sistema viene a donde ya estoy. Además de mis canales, Thio lee mis sesiones de código en cmux para saber en qué ando, sin que se lo pida.
Telegram
canal principal
Teléfono
llamadas reales, in y out
bridge al mismo cerebro
Gmail + Resend
cmux
lee tus sesiones de código
Foco
ve tus pantallas de cmux e infiere en qué andas
Fireflies
transcribe tus reuniones
Calendar
agenda y eventos
Drive
documentos y archivos
Capa 2 · El hub
Mi asistente personal, con su propia personalidad. Centraliza todo lo que hago: 114 herramientas (74 propias y 40 por MCP), memoria de cada conversación y contexto de cada proyecto. De las propias, el modelo arranca con 29 y carga las otras 45 cuando las necesita. Los demás agentes son especialistas; Thio es quien tiene el mapa.
Thio
asistente personal · 114 tools
Capa 3 · Especialistas
Procesos independientes, cada uno con su repo y su misión. Se hablan por HTTP a través del Agent Hub, nunca por imports: cada agente publica sus funciones y Thio las llama con call_agent.
Yarbis
voz · ElevenLabs + SIP
Elena
turismo rural · La Paredita
CMO Agent
marketing gaming
Inner Coach
hábitos y foco
Fin. Advisor
fiscalidad canaria · MCP
HealthAgent
salud · datos de Apple Salud
Capa 4 · Orquestación
Puntúa proyectos, despacha trabajo autónomo, audita las normas, reinicia lo que se cae y despliega lo que entra en main. Con cmux, varios agentes Claude trabajan en paralelo en worktrees aislados, y cada tarea lleva un identificador que sigo desde Telegram.
PMC autopilot
detecta y despacha trabajo
Claude Code
el motor de self-coding
cmux
varios agentes en paralelo, aislados
Auditorías
cada 12 h · normas LLM y memoria
Watchdogs
caído → restart + aviso
Deploy continuo
instala, verifica y espera a que el bot esté libre
Capa 5 · LLM Gateway
Proxy local. Ningún agente llama a un proveedor directo: failover automático, prompt caching y tope de gasto mensual. Cada agente tiene su propia clave virtual, así que cada llamada tiene dueño y queda trazada en Langfuse. Las sesiones de código y los lotes nocturnos van aparte, por la suscripción de Claude.
Claude
Anthropic · primario
Gemini
Google · fallback
OpenAI
+ OpenRouter · fallback
Ollama
modelos locales · último recurso
Capa 6 · Memoria
Lo que un agente aprende, lo ven todos. La memoria es mi vault: Markdown plano que yo también leo y edito. Cada noche un proceso destila mis sesiones de código en notas pendientes de revisar.
Thio/
contexto curado · solo lectura
Agents/
inbox y outputs · aquí escriben
Personal/
acceso con propósito · zonas vetadas
SQLite + STATE.md
estado operacional por repo
Base · Fundamentos
1Password
único gestor de secretos
pm2
46 procesos supervisados
Cloudflare
webhooks sin abrir puertos
GitHub + CI
typecheck · tests · guardianes
restic
backup cifrado de la memoria
Tailscale
VPN privada · malla de dispositivos
Screens
control del Mac desde iPad/iPhone
iPhone
el agente prueba y opera apps en el teléfono real
Elige un escenario y dale a reproducir.
01
Prohibido llamar a un proveedor directo, y cada agente usa su propia clave. Un cron audita los repos cada 12 horas y avisa si alguien se salta la norma.
02
Cero memorias paralelas en JSON o SQLite para cosas que un humano querría leer.
03
Los .env solo contienen referencias op:// que se resuelven al arrancar.
Ninguna función nace corriendo sola. Sube de etapa cuando demuestra que aguanta, y cada tarea lleva el comando que la verifica.
Prototipo
Primero busco si ya existe en GitHub, en la documentación o en un paquete. Si no, lo ejecuto a mano hasta que funciona una vez.
Skill
Si el patrón se repite tres veces, lo capturo como skill que cualquier sesión puede invocar.
Servicio
Entra en el repo con tests y typecheck, y no cuenta como hecho hasta que arranca limpio en el proceso real.
Autónomo
Pasa a correr programado tras 7 días estable y con 80 % de cobertura. Cualquier cambio reabre esa ventana.
Los agentes están hechos a mano sobre el SDK de Anthropic, sin LangChain ni CrewAI, a propósito.
Lo que más rendimiento da del stack, por categoría.
Fiabilidad
La IA es la parte fácil. Lo que separa una demo de algo que uso a diario es la ingeniería clásica de fiabilidad que la rodea.
Once sondas sintéticas recorren el camino crítico cada seis horas, ejercitando el sistema real. Detectan lo que deja de pasar, no solo los errores.
Un diario que solo crece anota cada hecho (llamadas, herramientas, sondas) con su hora. Sirve para depurar y para detectar ausencias.
Escenarios de referencia puntúan al agente de voz antes de tocar producción. Cada cambio de modelo o de prompt se mide; no se adivina.
Cada incidente real se convierte en receta. Un simulacro trimestral reinicia la máquina y cronometra qué revive solo.
Un webhook estuvo dos meses caído en silencio. Nadie lo supo porque el fallo era una ausencia y no un error. Hoy una sonda sintética lo detecta el mismo día.
El 13 de septiembre, una reinstalación de dependencias dejó producción sin el intérprete del bot. El gate de verificación paró el despliegue, el bot siguió atendiendo y la causa quedó corregida en el vigilante esa misma tarde.
Caso real
01
Le pido a Thio por Telegram que llame a alguien con un objetivo.
02
Yarbis marca desde un número español real y conversa con voz expresiva.
03
En mitad de la llamada consulta mi calendario, crea recordatorios y me avisa por Telegram.
04
Al colgar llegan a Telegram el transcript, el audio y el análisis, y el agente decide las próximas acciones.