shashin
Shashin es una galería de fotos y video autoalojada con inteligencia artificial para descripciones, reconocimiento facial y búsqueda semántica.
Ficha actualizada 22 sept 2026, 18:26 · upstream 22 sept 2026, 16:19 · release v2.28.1
Qué es shashin
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Shashin permite escanear directorios locales, navegar por tu biblioteca de imágenes y permitir que la IA describa, etiquete y responda preguntas sobre tus fotografías. Funciona en hardware propio sin necesidad de servidores externos.
Las características principales incluyen: - Memorias: presentaciones AI curadas agrupando fotos por ocasión o personas con historial temporal. - Capturas de texto e etiquetas: conexión con Ollama para generar descripciones automáticas y tags. - Preguntas sobre tus fotos: consultas conversacionales que mantienen historial por foto. - Búsqueda semántica: encuentra imágenes por significado usando embeddings generados por Nomic Embed Text vía Ollama. - Reconocimiento facial: detección, enrolación y etiquetado de rostros mediante Argus con sincronización en tiempo real por webhook. - Detección de objetos: identificación automática de elementos presentes en las fotos. - Mapa interactivo: exploración geográfica con OpenLayers y geocodificación inversa. - Browsing rico: cronología, carpetas, álbumes, favoritos, palabras clave, fecha de toma/modificación/accesso. - Búsqueda de texto completo: sobre títulos, descripciones, keywords, personas y lugares. - Extracción de metadatos EXIF: extraída automáticamente y totalmente editable. - Detección de duplicados: mediante hashing perceptual con búsqueda de similaridad BK-tree. - Multiusuario: tres niveles de rol, autenticación de sesión para la interfaz y autenticación por clave API para la REST API. - RSS/Atom feeds: publicación de contenido en formato estándar.
La aplicación está construida con Spring Boot y Kotlin, utilizando Thymeleaf como motor de plantillas. Se ejecuta localmente sin necesidad de infraestructura externa.
- Organizar una colección familiar de fotos antiguas mediante descripciones generadas por IA que expliquen el contexto emocional de cada imagen.
- Crear presentaciones personalizadas para eventos o celebraciones donde se seleccionan fotos y la IA genera narrativas contextuales.
- Investigar sobre un evento histórico o lugar específico consultando imágenes relacionadas a través de búsqueda semántica sin necesidad de conocer nombres exactos.
- Identificar objetos en una escena (personas, vehículos, animales) para crear mapas interactivos de eventos o investigaciones locales.
- Detección y etiquetado automático de rostros en documentos históricos o fotografías antiguas mediante reconocimiento facial con Argus.
- Generar descripciones automáticas para contenido multimedia que permita su búsqueda y recuperación por palabras clave semánticas.
- Soporta tanto imágenes como video, permitiendo un solo repositorio para ambos tipos de contenido.
- Permite extracción y edición completa de metadatos EXIF, incluyendo datos geoespaciales y de cámara.
- Utiliza embeddings generados por Nomic Embed Text vía Ollama para búsqueda semántica sin necesidad de modelos preentrenados externos.
- Soporta autenticación multiusuario con tres niveles de rol diferenciados (admin, editor, viewer) mediante sesiones.
- La detección de objetos y el reconocimiento facial requieren que las imágenes tengan suficiente resolución y contraste para ser procesadas correctamente.
- El reconocimiento facial depende del modelo de Argus utilizado; no es universal ni funciona con todas las poblaciones o condiciones de iluminación.
- Las descripciones generadas por IA pueden generar contenido inapropiado si se permite la generación sin restricciones (por defecto está desactivado).
- La búsqueda semántica depende del modelo Nomic Embed Text; no es compatible con todos los modelos de embeddings disponibles.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para ejecutar Shashin, ejecuta `mvn -Pprod clean install` y luego `docker build -t michaeltyagi/shashin .`. Se publica a Docker Hub como `michaeltyagi/shashin`. Para producción se recomienda usar un contenedor con limitaciones de recursos adecuadas. Se recomienda desplegar en un entorno Kubernetes para escalar horizontalmente.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.