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 | Semantic search. “Find people similar to this description.” Stores your embeddings (nomic-embed-text), scaling to hundreds of thousands of vectors. |
| Grafo de conocimiento | Oxigraph | Structured relationships. SPARQL queries over your knowledge-graph triples. “Who knows whom? What happened when?” |
| 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 |
|---|---|---|
| Qwen 3.5 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 macOS databases (instant) · GDPR imports · macOS app · iOS app · Browser extension Capa de procesamiento Conversation pipeline · Identity resolver · Fact extraction · Relationship signals Capa de inteligencia Ollama (Qwen 3.5 9B) · nomic-embed-text · SPARQL queries · Vector search Capa de almacenamiento Qdrant (vectors) · Oxigraph (RDF graph) · Valkey (cache + bus) · SQLite (coaching) Capa de interfaz Assistant (iMessage · Email) · Personal Wiki · iOS app
Dependencias totales: Python 3.11+, Ollama. No se requieren cuentas en la nube. Sin claves de API. Sin suscripciones.
Local · Verificable · Tuyo