Para desarrolladores y curiosos del lado técnico. Todo se ejecuta en un Mac Mini. Nada sale de tu red.
Ostler usa tres bases de datos especializadas, cada una optimizada para un tipo de consulta diferente:
| Almacén | Tecnología | Propósito |
|---|---|---|
| Almacén de vectores | Qdrant | Búsqueda semántica. “Encuentra personas similares a esta descripción.” Almacena tus embeddings (nomic-embed-text), escalando hasta cientos de miles de vectores. |
| Grafo de conocimiento | Oxigraph | Relaciones estructuradas. Consultas SPARQL sobre las tripletas de tu grafo de conocimiento. “¿Quién conoce a quién? ¿Qué pasó y cuándo?” |
| Caché + bus de mensajes | Valkey | Búsquedas rápidas, enrutamiento de mensajes en tiempo real entre servicios, estado de sesión. (Fork de Redis 7.2 de la Linux Foundation.) |
Las tres se ejecutan como servicios launchd. En un Mac Mini M4, las bases de datos usan menos de 2GB de RAM, dejando el resto para Ollama y los modelos de IA (que necesitan 6–12GB según el tamaño del modelo).
Toda la inferencia de IA se ejecuta localmente a través de Ollama. Sin llamadas a API en la nube. Sin facturación por uso. Sin exfiltración de datos.
| Modelo | Uso | Rendimiento |
|---|---|---|
| Qwen3 9B | Asistente de IA, procesamiento de conversaciones, extracción de hechos | ~30 tok/s en M4 |
| nomic-embed-text | Embeddings vectoriales para la búsqueda semántica | ~200 embeddings/s |
El sistema es adaptable al hardware. Los perfiles de ajustes configuran la selección de modelos y los tamaños de lote según el hardware disponible. Un Mac Mini M1 ejecuta modelos más pequeños; un Mac Studio M2 Ultra ejecuta otros más grandes.
En cuanto lo instalas, Ostler lee los datos directamente de las apps integradas de tu Mac’s. No hacen falta exportaciones. Sin esperas.
| Fuente | Lo que leemos | Permiso |
|---|---|---|
| Safari | Historial de navegación, marcadores, lista de lectura | Full Disk Access |
| iMessage | Conversaciones, participantes, marcas de tiempo | Full Disk Access |
| Apple Notes | Títulos de notas, contenido de texto, carpetas | Full Disk Access |
| Calendar | Eventos, asistentes, ubicaciones | Full Disk Access |
| Photos | Etiquetas de caras, ubicaciones GPS, fechas (no el contenido de la imagen) | Full Disk Access |
| Reminders | Tareas, fechas de vencimiento, listas | Full Disk Access |
| Apple Mail | Asuntos, remitentes, fechas (no el cuerpo del correo) | Full Disk Access |
Todas las bases de datos se abren en solo lectura para evitar corrupción. Cada extractor gestiona las diferencias de esquema entre versiones de macOS (Ventura, Sonoma, Sequoia). Full Disk Access es opcional – puedes omitirlo y aun así usar las importaciones RGPD.
Para obtener datos históricos más profundos, 20 analizadores leen de las exportaciones de datos RGPD:
| Plataforma | Datos importados | Formato |
|---|---|---|
| Contactos, trayectoria, recomendaciones, mensajes (metadatos) | CSV | |
| Amigos, eventos, biografía | JSON | |
| Seguidores, seguidos, amigos cercanos | JSON | |
| Referencias cruzadas de teléfono | JSON | |
| Twitter / X | Contactos sincronizados (referencia cruzada de teléfono) | JS |
| Google Calendar | Eventos, asistentes, ubicaciones | ICS |
| iCloud | Contactos (a través de CardDAV) | vCard |
| Correo | Extracción de firmas, análisis de cabeceras | MBOX |
| Navegador | URL del historial, títulos de página | Safari / Chrome |
La misma persona aparece de forma diferente en cada plataforma. “John Smith” en LinkedIn, “johnnyboy” en Instagram, “+44 7XXX XXXXXX” en WhatsApp. El resolutor de identidad las coincide usando:
El resolutor cuenta con 38 pruebas automatizadas que cubren las estrategias de coincidencia exacta, difusa, por teléfono, por correo electrónico y por subconjunto de nombres.
Cuando se graba una conversación (mediante la app Ostler RemoteCapture en tu Mac o por importación manual), pasa por una canalización de varios pasos:
Cada paso es idempotente (se puede volver a ejecutar sin duplicados), tiene retroceso exponencial en caso de fallo y registra la versión del prompt que lo generó.
Capa de captura Bases de datos de macOS (instantáneo) · Importaciones RGPD · App de macOS · App de iOS · Extensión de navegador Capa de procesamiento Canalización de conversaciones · Resolutor de identidad · Extracción de hechos · Señales de relación Capa de inteligencia Ollama (Qwen3 9B) · nomic-embed-text · Consultas SPARQL · Búsqueda vectorial Capa de almacenamiento Qdrant (vectores) · Oxigraph (grafo RDF) · Valkey (caché + bus) · SQLite (coaching) Capa de interfaz Asistente (iMessage · Correo electrónico) · Wiki personal · App de iOS
Dependencias totales: Python 3.11+, Ollama. No se requieren cuentas en la nube. Sin claves de API. Sin suscripciones.
Local · Verificable · Tuyo