Skip to content

Este bot simula una presencia humana asistida por IA, ofreciendo ayuda técnica en temas de ingeniería de datos usando canal de teams y cuenta personal

Notifications You must be signed in to change notification settings

dvdeveloper/teams-bot-vertex

Repository files navigation

🤖 Diebot – Asistente Inteligente para Microsoft Teams

Diebot es una aplicación de escritorio desarrollada con Python + PyQt6, diseñada para automatizar respuestas en chats privados de Microsoft Teams utilizando inteligencia artificial con Gemini de Vertex AI (Google Cloud).

Este bot simula una presencia humana asistida por IA, ofreciendo ayuda técnica en temas de ingeniería de datos. Es ideal para profesionales que desean delegar respuestas frecuentes o iniciales en un entorno corporativo (como Falabella).


✨ Funcionalidades principales

  • ✅ Responde automáticamente chats privados en Teams (evita grupos o mensajes propios).
  • 🧠 Genera respuestas usando Vertex AI (modelo Gemini).
  • 🗂️ Carga documentos .txt como base de conocimiento adicional.
  • 🔁 Análisis automático de chats con intervalo configurable.
  • 🔒 Lista blanca para excluir usuarios (por ID o nombre) del análisis automático.
  • 💬 Tono profesional, accesible y ajustado a entornos de soporte técnico.

🖥️ Requisitos del sistema

  • Python 3.10 o superior
  • PyQt6
  • Google Cloud SDK (gcloud)
  • Acceso al modelo Gemini desde Vertex AI
  • Autenticación activa con una cuenta de servicio con permisos adecuados

🚀 Instalación

  1. Clona el repositorio:

    git clone https://github.com/dvdeveloper/teams-bot-vertex.git
    cd diebot
  2. Instala las dependencias:

    pip install -r requirements.txt
  3. Autentícate en Google Cloud (con impersonación):

    gcloud auth application-default login \
      --impersonate-service-account="[email protected]"

    💡 Asegúrate de que:

    • El modelo gemini-2.5-pro-preview-05-06 esté habilitado en Vertex AI.
    • Tu usuario tenga permiso para impersonar la cuenta de servicio.
    • La cuenta de servicio tenga el rol Vertex AI User.
  4. Ejecuta la aplicación:

    python main_app.py

🔧 Recomendaciones de uso

  • 🖥️ Usa dos monitores: Te recomendamos tener dos pantallas. En una puedes ejecutar Diebot en segundo plano (bot respondiendo automáticamente), mientras que en la otra mantienes abierta tu sesión principal de Microsoft Teams para participar en reuniones importantes o responder chats críticos de forma manual.
  • 🕒 Configura el intervalo sabiamente: Elige un intervalo de análisis que no sobrecargue ni el sistema ni Vertex AI, pero que mantenga respuestas, por oportunas.
  • 📋 Usa la lista blanca estratégicamente: Excluye de forma temporal a jefes, stakeholders o clientes para evitar respuestas automáticas en conversaciones sensibles.

📂 Estructura del proyecto

├── main_app.py # Lógica principal del bot y la interfaz PyQt6
├── config_dialog.py # Diálogo para configurar el intervalo y modo automático
├── whitelist_dialog.py # Diálogo para gestionar lista blanca de usuarios
├── database.py # (No incluido aquí) Base de datos local para config/whitelist
├── conocimiento/ # Carpeta con archivos .txt usados como contexto adicional
├── requirements.txt # Dependencias necesarias para ejecutar el proyecto

📚 Archivos de conocimiento

Puedes incluir archivos .txt en la carpeta conocimiento/. El contenido será indexado automáticamente para usarse como contexto adicional en las respuestas del bot.


🛡️ Consideraciones de seguridad

  • No responde en chats grupales.
  • No responde en chats contigo mismo.
  • Respeta el horario de colación (13:00 - 14:00 hrs Chile).
  • No accede ni modifica entornos productivos.
  • No comparte datos sensibles ni confidenciales.
  • Sigue un comportamiento predefinido basado en reglas seguras.

📄 Licencia

Este proyecto se distribuye bajo la licencia MIT. Puedes modificarlo y adaptarlo a tus necesidades.


💬 Desarrollado con ❤️ para automatizar tus respuestas técnicas y mejorar tu productividad.

About

Este bot simula una presencia humana asistida por IA, ofreciendo ayuda técnica en temas de ingeniería de datos usando canal de teams y cuenta personal

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages