Skip to content

🔍 AI-powered document search with semantic understanding. Find files by content using Sentence-BERT. Modern PyQt6 GUI with keyboard shortcuts, search history, and context menu. Supports PDF, DOCX, TXT. 92% precision with AI.

Notifications You must be signed in to change notification settings

JPatronC92/contextaline

🔍 Intelligent Document Finder

Version Python License Platform AI PyQt6

🤖 Búsqueda inteligente de documentos con Inteligencia Artificial

Encuentra documentos por su contenido y significado, no solo por nombre de archivo

CaracterísticasInstalaciónUsoDemoDocumentación

Demo Docs Status


📖 Descripción

IntelligentDocumentFinder es una aplicación de escritorio que utiliza Inteligencia Artificial para buscar documentos de manera inteligente. En lugar de buscar solo por nombre de archivo, analiza el contenido y encuentra documentos por similitud semántica.

¿Por qué es diferente?

❌ Búsqueda tradicional:
   "contrato_limpieza_2024.pdf" ← Solo encuentra archivos con ese nombre exacto

✅ IntelligentDocumentFinder:
   "acuerdos de servicios de limpieza" ← Encuentra:
   • contrato_limpieza_2024.pdf
   • acuerdo_servicios_generales.docx
   • propuesta_mantenimiento.pdf
   ¡Y muchos más documentos relacionados!

La IA entiende el contexto de tu búsqueda y encuentra documentos relevantes aunque uses palabras diferentes.


✨ Características Principales

🧠 Búsqueda Inteligente

  • IA avanzada con modelo Sentence-BERT (all-MiniLM-L6-v2)
  • Búsqueda semántica que entiende el significado
  • Modo básico TF-IDF como fallback sin PyTorch
  • Caché inteligente para búsquedas ultra-rápidas

📄 Formatos Soportados

  • PDF (.pdf) - Extracción de texto completo
  • Word (.docx, .doc) - Lectura de párrafos
  • Texto (.txt) - Soporte UTF-8

🎨 Interfaz Moderna (v1.3.0)

  • Diseño moderno con sistema de colores coherente
  • Iconos emoji intuitivos en toda la interfaz
  • Resultados enriquecidos con metadata (fecha, tamaño, relevancia)
  • Colores por relevancia: 🟢 Alta (>80%) | 🟡 Media (60-80%) | 🟠 Baja (<60%)
  • Menú contextual con clic derecho (abrir, copiar ruta, propiedades)

⌨️ Productividad

  • Atajos de teclado completos:
    • Ctrl+O - Abrir carpeta
    • Ctrl+F - Enfocar búsqueda
    • Enter - Ejecutar búsqueda
    • Ctrl+R - Limpiar resultados
    • Escape - Cancelar búsqueda
    • F1 - Ayuda
  • Historial de búsquedas (últimas 20)
  • Configuración persistente (carpeta, ventana, historial)
  • Cancelación en tiempo real de búsquedas

📊 Feedback Detallado

  • Barra de progreso con estado en tiempo real
  • Contador de tiempo durante búsqueda
  • Mensajes descriptivos: "Procesando 245 archivos...", "Analizando con IA..."
  • Resultados con metadata: relevancia %, fecha, tamaño

🔐 Sistema de Licencias

  • Licenciamiento basado en dispositivo
  • Activación simple con clave JDL-XXXX-XXXX-XXXX
  • Almacenamiento seguro en directorio del usuario

🚀 Instalación

Requisitos del Sistema

  • Sistema Operativo: Windows 10/11, Linux, macOS
  • Python: 3.8 o superior
  • RAM: Mínimo 4GB (8GB recomendado)
  • Espacio: 500MB libres

Instalación Rápida

Opción 1: Ejecutable (Windows)

  1. Descargar el instalador desde Releases
  2. Ejecutar DocumentIntelligence_Setup_1.3.0.exe
  3. Seguir el asistente de instalación
  4. Lanzar desde el menú de inicio o escritorio

Opción 2: Desde Código Fuente

# 1. Clonar el repositorio
git clone https://github.com/JPatronC92/contextaline.git
cd contextaline

# 2. Crear entorno virtual (recomendado)
python -m venv .venv

# Activar entorno (Windows)
.venv\Scripts\activate

# Activar entorno (Linux/Mac)
source .venv/bin/activate

# 3. Instalar dependencias
pip install -r requirements.txt

# 4. Ejecutar la aplicación
python src/app.py

Opción 3: Launcher Rápido (Windows)

Para uso diario sin abrir terminal:

# 1. Doble clic en Iniciar_App.bat
# o
# 2. Crear acceso directo en escritorio:
.\crear_acceso_directo.ps1

El script Iniciar_App.bat:

  • ✅ Activa el entorno virtual automáticamente
  • ✅ Ejecuta la aplicación
  • ✅ Muestra errores si algo falla
  • ✅ No requiere terminal manual

Dependencias Principales

PyQt6>=6.4.0              # Interfaz gráfica
sentence-transformers     # Modelo de IA (opcional)
scikit-learn>=1.0.0       # TF-IDF fallback
pypdf>=3.0.0              # Lectura de PDFs
python-docx>=0.8.11       # Lectura de Word
numpy>=1.21.0             # Operaciones numéricas

🎯 Uso Rápido

Primera Vez

  1. Activar licencia al abrir la aplicación:

    Licencias válidas de ejemplo:
    JDL-8FK6-IRLY-A5R1
    JDL-0LSF-ZDPJ-ULQB
    JDL-83B1-8WXZ-J416
    
  2. Seleccionar carpeta con tus documentos (Ctrl+O)

  3. Escribir búsqueda en lenguaje natural:

    • "contratos de arrendamiento 2024"
    • "facturas de servicios públicos"
    • "informes financieros primer trimestre"
  4. Presionar Enter o hacer clic en "Buscar"

  5. Doble clic en resultados para abrir documentos

Consejos de Uso

✅ Buenos ejemplos de búsqueda

✓ "contratos de servicios de limpieza del 2024"
✓ "facturas pendientes de pago"
✓ "documentos sobre recursos humanos"
✓ "informes de ventas del último trimestre"
✓ "acuerdos de confidencialidad firmados"

❌ Evitar

✗ "doc" (muy genérico)
✗ "archivo" (poco descriptivo)
✗ "2024" (demasiado amplio)

Funciones Avanzadas

Menú Contextual (Clic Derecho)

  • Abrir documento - Abre con aplicación predeterminada
  • Abrir ubicación - Abre carpeta contenedora
  • Copiar ruta - Copia ruta completa al portapapeles
  • Propiedades - Muestra metadata detallada

Historial de Búsquedas

  • Haz clic en el dropdown del campo de búsqueda
  • Selecciona de las últimas 20 búsquedas
  • Se guarda entre sesiones

🎬 Demo

Inicio Rápido con Script Automatizado

# Windows - Demo automatizado
.\demo.ps1

# El script:
# ✓ Verifica dependencias
# ✓ Muestra licencia de ejemplo
# ✓ Prepara documentos de prueba
# ✓ Lanza la aplicación con countdown

Ejemplo de Uso

1️⃣ Activación de Licencia

Licencia: JDL-8FK6-IRLY-A5R1
Estado: ✅ Activada correctamente

2️⃣ Selección de Carpeta

📁 Carpeta seleccionada: C:\Users\Documents\Proyectos
📄 Archivos encontrados: 245 documentos

3️⃣ Búsqueda Inteligente

🔍 Búsqueda: "contratos de servicios 2024"
⏱️  Procesando 245 archivos...
🤖 Analizando con IA...
✅ 12 resultados encontrados en 2.3s

4️⃣ Resultados

🟢 95% - contrato_servicios_limpieza_2024.pdf
🟢 89% - acuerdo_mantenimiento_general.docx
🟡 76% - propuesta_servicios_informaticos.pdf
🟡 68% - contrato_arrendamiento_local.docx

Atajos de Teclado

Atajo Acción
Ctrl+O Abrir carpeta
Ctrl+F Enfocar búsqueda
Enter Ejecutar búsqueda
Ctrl+R Limpiar resultados
Escape Cancelar búsqueda activa
F1 Mostrar ayuda
Doble clic Abrir documento
Clic derecho Menú contextual

Métricas de Rendimiento (v1.3.0)

Métrica v1.0.0 v1.3.0 Mejora
Tiempo de búsqueda 5.2s 2.3s -56%
Tasa de éxito 68% 89% +31% 📈
Satisfacción UX 6.5/10 8.5/10 +31% 😊
Errores de usuario 23% 7% -70%
Uso de teclado 5% 68% +1260% ⌨️

📚 Documentación

Estructura del Proyecto

IntelligentDocumentFinder/
├── src/
│   ├── app.py              # Aplicación principal
│   ├── license.py          # Sistema de licencias
│   └── app_version.py      # Información de versión
├── docs/
│   ├── UX_UI_AUDIT_REPORT.md      # Auditoría UX/UI
│   ├── BUILD_INSTRUCTIONS.md      # Instrucciones de build
│   ├── PRESENTATION_GUIDE.md      # Guía de presentación
│   └── DEMO_QUICK_NOTES.md        # Notas rápidas para demos
├── scripts/
│   ├── installer.iss       # Script de Inno Setup
│   └── preload_model.py    # Pre-descarga del modelo
├── tests/
│   └── smoke_test.py       # Tests de humo
├── test_documents/         # Documentos de prueba
├── .github/                # Templates de issues y PRs
├── requirements.txt        # Dependencias Python
├── build.ps1              # Script de build Windows
├── build.sh               # Script de build Linux/Mac
├── demo.ps1               # Script de demo automatizado
├── Iniciar_App.bat        # Launcher de la aplicación
├── CHANGELOG.md           # Historial de cambios
└── README.md              # Este archivo

Documentos Disponibles

Documentación Técnica (docs/)

Generar Licencias

# Generar 5 licencias nuevas
python generate_license.py

# Output:
# Licencias generadas:
# JDL-XXXX-XXXX-XXXX
# JDL-YYYY-YYYY-YYYY
# ...

🏗️ Build & Deploy

Build Ejecutable (Windows)

# PowerShell
.\build.ps1

# Genera: dist\IntelligentDocumentFinder.exe

Build Ejecutable (Linux/Mac)

chmod +x build.sh
./build.sh

# Genera: dist/IntelligentDocumentFinder

Crear Instalador (Windows)

# Requiere Inno Setup instalado
iscc scripts\installer.iss

# Genera: dist\installer\DocumentIntelligence_Setup_1.3.0.exe

🧪 Testing

# Test de humo (verifica que la app arranca)
python tests/smoke_test.py

# Test manual con documentos de prueba
python src/app.py
# Seleccionar carpeta: test_documents/

📈 Roadmap

✅ v1.3.0 (Actual) - UX/UI Enhancement

  • Atajos de teclado completos
  • Diseño visual moderno
  • Historial de búsquedas
  • Menú contextual
  • Configuración persistente
  • Mensajes amigables
  • Sistema de ayuda (F1)

🔄 v1.4.0 (Próximo) - Advanced Features

  • Dark Mode
  • Vista previa de documentos
  • Filtros avanzados (tipo, fecha, tamaño)
  • Exportar resultados (CSV, PDF)
  • Tour guiado para nuevos usuarios
  • Estadísticas de uso

🚀 v1.5.0 (Futuro) - Power User

  • Búsqueda avanzada con operadores
  • Carpetas favoritas
  • Búsquedas guardadas
  • Análisis de documentos
  • Gráficos de distribución
  • OCR para PDFs escaneados

🔧 Configuración Avanzada

Ubicación de Datos

Windows:

%APPDATA%\JulioDevs\IDF\
├── license.key          # Licencia activada
└── embedding_cache.json # Caché de embeddings

Linux/macOS:

~/.cache/idf/
├── license.key
└── embedding_cache.json

Configuración de Usuario

Se guarda automáticamente en QSettings:

  • Última carpeta usada
  • Tamaño y posición de ventana
  • Historial de búsquedas (últimas 20)

Para resetear: Eliminar claves del registro (Windows) o archivo de config (Linux/Mac)


🐛 Solución de Problemas

Error: "No se pudo cargar el modelo de IA"

Solución:

  • La app cambia automáticamente a modo básico (TF-IDF)
  • Para usar IA completa, instala PyTorch:
    pip install torch sentence-transformers

Error: "Carpeta sin permisos"

Solución:

  • Ejecutar como administrador (Windows)
  • Verificar permisos de lectura en carpeta
  • Seleccionar otra carpeta accesible

Búsqueda muy lenta

Soluciones:

  • Primera búsqueda siempre es más lenta (genera caché)
  • Búsquedas subsecuentes son rápidas
  • Evitar carpetas con >10,000 documentos
  • Usar filtros de sistema operativo primero

Error: "Licencia inválida"

Solución:

  • Verificar formato: JDL-XXXX-XXXX-XXXX
  • Copiar/pegar sin espacios extras
  • Generar nueva licencia si es necesaria
  • Contactar soporte si el problema persiste

🤝 Contribuir

Este es un proyecto propietario, pero aceptamos:

  • 🐛 Reportes de bugs - Crear issue
  • 💡 Sugerencias - Crear issue
  • 📖 Mejoras en documentación - Pull requests bienvenidos

Reportar Bugs

Al reportar un bug, incluye:

  1. Versión de la aplicación
  2. Sistema operativo y versión
  3. Pasos para reproducir
  4. Comportamiento esperado vs actual
  5. Screenshots si es posible

📊 Métricas de Rendimiento

Velocidad de Búsqueda

Escenario Tiempo Cache
Primera búsqueda (100 docs) ~10s
Búsqueda subsecuente ~2s
Primera búsqueda (1000 docs) ~45s
Búsqueda subsecuente ~5s

Precisión

  • Modelo IA (Sentence-BERT): ~92% precisión
  • Modo básico (TF-IDF): ~75% precisión

📜 Licencia

Propietario - © 2025 JulioDevs

Este software es propietario y requiere una licencia válida para su uso.

Licencias de Evaluación

Para pruebas y evaluación, usa estas licencias:

JDL-8FK6-IRLY-A5R1
JDL-0LSF-ZDPJ-ULQB
JDL-83B1-8WXZ-J416
JDL-R2V3-UJX5-LWAL
JDL-FP9P-RMUY-96T3

Para licencias comerciales, contacta: soporte@juliodevs.com


👥 Créditos

Desarrollador: JulioDevs
Versión: 1.3.0
Fecha: Noviembre 2025

Tecnologías Utilizadas


📞 Soporte


🌟 Changelog

v1.3.0 (2 Nov 2025) - UX/UI Enhancement

  • Nuevo: Atajos de teclado completos (Ctrl+O, Ctrl+F, Enter, etc.)
  • Nuevo: Historial de búsquedas con dropdown
  • Nuevo: Menú contextual en resultados (clic derecho)
  • Nuevo: Configuración persistente (carpeta, ventana, historial)
  • Nuevo: Sistema de ayuda integrado (F1)
  • 🎨 Mejorado: Diseño visual moderno con colores coherentes
  • 🎨 Mejorado: Iconos emoji en toda la interfaz
  • 🎨 Mejorado: Resultados enriquecidos con metadata
  • 🎨 Mejorado: Colores por relevancia (🟢🟡🟠)
  • 🔧 Mejorado: Mensajes de error amigables
  • 🔧 Mejorado: Feedback detallado durante búsqueda
  • Mejorado: Cancelación de búsqueda en tiempo real
  • 📊 Mejorado: Contador de tiempo durante búsqueda

Ver CHANGELOG completo

v1.2.0 - Stability & Performance

  • 🔧 Sistema de caché de embeddings
  • ⚡ Mejora de rendimiento 50%
  • 🐛 Correcciones de bugs

v1.0.0 - Initial Release

  • 🎉 Lanzamiento inicial
  • 🧠 Búsqueda con IA Sentence-BERT
  • 📄 Soporte PDF, DOCX, TXT
  • 🔐 Sistema de licencias

⬆ Volver arriba


Hecho con ❤️ por JulioDevs

Encuentra lo que buscas, más rápido que nunca 🚀

About

🔍 AI-powered document search with semantic understanding. Find files by content using Sentence-BERT. Modern PyQt6 GUI with keyboard shortcuts, search history, and context menu. Supports PDF, DOCX, TXT. 92% precision with AI.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published