Skip to content

zeuscabanas/AutoCv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚀 AutoCV - Generador Automático de CVs Personalizados

Python FastAPI Ollama License

Genera CVs personalizados automáticamente para cada oferta de trabajo usando IA local

🎯 Características🛠️ Instalación🚀 Uso⚙️ Configuración📸 Screenshots


🎯 Características

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


🛠️ Instalación

Prerrequisitos

  • Python 3.10+
  • Ollama instalado y ejecutándose (descargar)
  • Chrome/Chromium (para el scraping)

1. Clonar el repositorio

git clone https://github.com/zeuscabanas/AutoCv.git
cd AutoCv/AutoCV

2. Crear entorno virtual

python -m venv venv

# Windows
venv\Scripts\activate

# Linux/Mac
source venv/bin/activate

3. Instalar dependencias

pip install -r requirements.txt

4. Configurar Ollama

# Descargar un modelo (recomendado: qwen3:4b por su balance velocidad/calidad)
ollama pull qwen3:4b

# Verificar que Ollama está corriendo
ollama list

5. Configurar tu perfil

Edita el archivo data/mi_perfil.yaml con tu información real:

personal_information:
  nombre: "Tu Nombre"
  email: "tu@email.com"
  # ... más campos

🚀 Uso

Interfaz Web (Recomendado)

python src/web/app.py

Abre tu navegador en http://localhost:8080

Línea de Comandos

# 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

Archivo config/settings.yaml

# 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.3

Acceso Remoto

Para acceder desde otro ordenador en tu red:

  1. Edita config/settings.yaml:
web:
  allow_remote: true
  1. Reinicia el servidor y accede con la IP de tu ordenador

📁 Estructura del Proyecto

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

🔧 Solución de Problemas

Ollama no conecta

# Verificar que Ollama está corriendo
ollama list

# Si no está, iniciarlo
ollama serve

Selenium no funciona

# 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.yaml

Error de permisos en Windows

Ejecuta la terminal como Administrador o usa un entorno virtual.


🤝 Contribuir

Las contribuciones son bienvenidas:

  1. Fork el proyecto
  2. Crea tu rama (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

📝 Licencia

Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.


🙏 Agradecimientos


⭐ Si te resulta útil, dale una estrella al proyecto ⭐

Hecho con ❤️ y mucho ☕

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors