Genera CVs personalizados automáticamente para cada oferta de trabajo usando IA local
🎯 Características • 🛠️ Instalación • 🚀 Uso • ⚙️ Configuración • 📸 Screenshots
✨ Personalización con IA - Usa Ollama (100% local y privado) para adaptar tu CV a cada oferta
🔍 Scraping de LinkedIn - Extrae ofertas de trabajo automáticamente con modo rápido paralelo
📄 Generación de CVs - CVs en HTML profesionales listos para imprimir o convertir a PDF
💌 Cartas de Presentación - Genera cartas personalizadas para cada oferta
🌐 Interfaz Web Moderna - Dashboard intuitivo con TailwindCSS y Alpine.js
⚡ Modo Rápido - Búsqueda paralela hasta 5x más rápida
🔒 100% Privado - Toda la IA corre localmente, tus datos nunca salen de tu ordenador
- Python 3.10+
- Ollama instalado y ejecutándose (descargar)
- Chrome/Chromium (para el scraping)
git clone https://github.com/zeuscabanas/AutoCv.git
cd AutoCv/AutoCVpython -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activatepip install -r requirements.txt# Descargar un modelo (recomendado: qwen3:4b por su balance velocidad/calidad)
ollama pull qwen3:4b
# Verificar que Ollama está corriendo
ollama listEdita el archivo data/mi_perfil.yaml con tu información real:
personal_information:
nombre: "Tu Nombre"
email: "tu@email.com"
# ... más campospython src/web/app.pyAbre tu navegador en http://localhost:8080
# Ver estado del sistema
python main.py status
# Buscar ofertas
python main.py search "Python Developer" --location "Madrid" --limit 10
# Generar CV para una oferta
python main.py generate <job_id>
# Modo interactivo
python main.py interactive# Configuración del servidor web
web:
host: "127.0.0.1" # "0.0.0.0" para acceso remoto
port: 8080
allow_remote: false # true para acceso desde otros ordenadores
# Configuración de LinkedIn
linkedin:
delay_between_requests: 1
fast_mode: true # Búsqueda paralela (más rápida)
max_workers: 5 # Workers para paralelismo
headless: true # false para ver el navegador
# Configuración de Ollama
ollama:
model: qwen3:4b # Modelo a usar
host: http://localhost:11434
temperature: 0.3Para acceder desde otro ordenador en tu red:
- Edita
config/settings.yaml:
web:
allow_remote: true- Reinicia el servidor y accede con la IP de tu ordenador
AutoCV/
├── 📄 main.py # CLI principal
├── 📁 config/ # Configuración
│ ├── settings.yaml # Configuración general
│ └── linkedin_config.yaml # Búsquedas guardadas
├── 📁 data/
│ ├── mi_perfil.yaml # Tu perfil profesional
│ ├── cvs_generados/ # CVs generados
│ └── ofertas/ # Ofertas guardadas
├── 📁 src/
│ ├── 📁 ai/ # Integración con Ollama
│ ├── 📁 core/ # Lógica principal
│ ├── 📁 scraper/ # Scraping de LinkedIn
│ ├── 📁 templates/ # Plantillas de CV
│ ├── 📁 utils/ # Utilidades
│ └── 📁 web/ # Interfaz web
└── 📁 logs/ # Logs de la aplicación
# Verificar que Ollama está corriendo
ollama list
# Si no está, iniciarlo
ollama serve# Actualizar webdriver-manager
pip install --upgrade webdriver-manager
# O usar el navegador Chrome existente
# Abre Chrome con: chrome.exe --remote-debugging-port=9222
# Y configura use_existing_browser: true en settings.yamlEjecuta la terminal como Administrador o usa un entorno virtual.
Las contribuciones son bienvenidas:
- Fork el proyecto
- Crea tu rama (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
- Ollama - IA local increíblemente fácil de usar
- FastAPI - Framework web moderno
- TailwindCSS - CSS utility-first
- Alpine.js - JavaScript reactivo ligero
⭐ Si te resulta útil, dale una estrella al proyecto ⭐
Hecho con ❤️ y mucho ☕