{"id":29624127,"url":"https://github.com/remojs/cerebro","last_synced_at":"2025-07-21T05:32:47.398Z","repository":{"id":303633958,"uuid":"1015664306","full_name":"Remojs/Cerebro","owner":"Remojs","description":"Asistente local con IA","archived":false,"fork":false,"pushed_at":"2025-07-16T01:35:53.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-17T03:04:04.028Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Remojs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-07T21:13:54.000Z","updated_at":"2025-07-16T01:35:56.000Z","dependencies_parsed_at":"2025-07-16T07:31:29.938Z","dependency_job_id":null,"html_url":"https://github.com/Remojs/Cerebro","commit_stats":null,"previous_names":["remojs/cerebro"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Remojs/Cerebro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remojs%2FCerebro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remojs%2FCerebro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remojs%2FCerebro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remojs%2FCerebro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Remojs","download_url":"https://codeload.github.com/Remojs/Cerebro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Remojs%2FCerebro/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266244493,"owners_count":23898622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-21T05:32:46.849Z","updated_at":"2025-07-21T05:32:47.389Z","avatar_url":"https://github.com/Remojs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cerebro: Asistente por Voz con Integración de IA\n\nCerebro es un asistente por voz en desarrollo que combina comandos de voz básicos con una integración de inteligencia artificial (IA) para responder preguntas y realizar tareas automatizadas. Este proyecto está diseñado para ser una herramienta versátil y personalizable, ideal para mejorar la productividad y la experiencia del usuario.\n\n## Características Principales\n\n- **Comandos por Voz**: Ejecuta aplicaciones y tareas predefinidas mediante comandos de voz.\n- **Integración de IA**: Responde preguntas utilizando un modelo de lenguaje basado en Llama v2.\n- **Modos Preconfigurados**: Permite lanzar múltiples aplicaciones relacionadas con un contexto específico (como \"juego\", \"programación\" o \"estudio\").\n- **Interfaz Simple**: Controlado mediante teclas rápidas y comandos de voz.\n- **Rutas Centralizadas**: Todas las rutas de aplicaciones están definidas en un archivo separado (`utils/paths.py`) para facilitar la personalización.\n\n## Comandos Básicos\n\n### Teclas Rápidas\n- **F9**: Activa el modo de comandos por voz. Permite ejecutar aplicaciones o tareas predefinidas.\n- **F10**: Activa el modo de IA. Responde preguntas utilizando el modelo de lenguaje.\n- **F8**: Activa el modo por voz para seleccionar un conjunto de aplicaciones preconfiguradas (modos).\n\n### Comandos Disponibles (F9)\n- `abrir visual studio`: Abre Visual Studio Code.\n- `abrir notas`: Abre Obsidian.\n- `abrir ópera`: Abre el navegador Opera GX.\n- `abrir fifa`: Abre el gestor de FIFA Mod Manager.\n- `abrir spotify`: Abre una lista de reproducción específica en Spotify.\n- `abrir photoshop`: Abre Adobe Photoshop.\n- `abrir steam`: Abre la plataforma de juegos Steam.\n- `abrir gpt`: Abre ChatGPT en el navegador predeterminado.\n- `reiniciar cerebro`: Reinicia el asistente.\n\n### Modos Preconfigurados (F8)\n- **modo juego**: Lanza Steam y Discord.\n- **modo programación**: Abre Visual Studio Code, Opera GX y Obsidian.\n- **modo estudio**: Abre Google Chrome (perfil de estudio) y Mendeley.\n\n## Cómo Funciona\n\n1. **Modo Comando (F9)**:\n   - Emite un beep para indicar que está escuchando.\n   - Escucha un comando de voz durante 2 segundos.\n   - Reconoce el comando y ejecuta la acción correspondiente.\n   - Si no reconoce el comando, informa al usuario.\n\n2. **Modo IA (F10)**:\n   - Escucha una pregunta del usuario durante 2.5 segundos.\n   - Procesa la pregunta utilizando un modelo de lenguaje (Llama v2).\n   - Responde en español tanto por texto como por voz.\n\n3. **Modo por Voz (F8)**:\n   - Escucha el nombre de un modo preconfigurado (como \"modo juego\" o \"modo programación\").\n   - Lanza las aplicaciones asociadas al modo seleccionado.\n\n## Requisitos\n\n- **Python 3.8+**\n- Bibliotecas necesarias:\n  - `sounddevice`\n  - `speech_recognition`\n  - `pyttsx3`\n  - `keyboard`\n  - `subprocess`\n  - `llama_cpp`\n  - `winsound` (solo Windows)\n\n## Instalación\n\n1. Clona este repositorio:\n   ```bash\n   git clone https://github.com/Remojs/Cerebro.git\n   ```\n2. Instala las dependencias necesarias:\n   ```bash\n   pip install -r requirements.txt\n   ```\n3. Activa el entorno virtual:\n   ```bash\n   venv\\Scripts\\activate\n   ```\n4. Ejecuta el script principal:\n   ```bash\n   python cerebro.py\n   ```\n\n## Arquitectura Técnica\n\nCerebro está diseñado con una arquitectura modular que facilita su mantenimiento y expansión:\n\n- **Módulo de Reconocimiento de Voz**: Utiliza `speech_recognition` y `sounddevice` para capturar y procesar comandos de voz.\n- **Módulo de Síntesis de Voz**: Implementa `pyttsx3` para la conversión de texto a voz con soporte para voces en español.\n- **Módulo de IA**: Integra el modelo Llama v2 para responder preguntas utilizando procesamiento de lenguaje natural.\n- **Gestor de Comandos**: Maneja la ejecución de aplicaciones y tareas basadas en comandos de voz.\n- **Gestor de Modos**: Administra conjuntos preconfigurados de aplicaciones para diferentes contextos de trabajo.\n\n## Próximas Características\n\n### 1. Integración de Calendario IA\n\n**Descripción**: Gestión completa del Google Calendar mediante comandos de voz naturales.\n\n**Implementación Técnica**:\n- Microservicio REST en FastAPI con autenticación OAuth2 para Google Calendar API\n- Endpoints para crear, editar, borrar y consultar eventos\n- Integración con el módulo de IA mediante Function Calling\n- Parseador de lenguaje natural para extraer fechas, horas y duración de eventos\n\n**Funcionalidades**:\n- Crear eventos: \"Agenda una reunión con Juan mañana a las 3 PM\"\n- Consultar agenda: \"¿Qué tengo hoy?\" o \"Muéstrame mis pendientes para la semana\"\n- Modificar eventos: \"Cambia mi cita del jueves para el viernes\"\n- Sincronización bidireccional con interfaz visual\n\n### 2. Gestión de Memorias en Obsidian\n\n**Descripción**: Sistema para almacenar y recuperar información estructurada en Obsidian como base de conocimiento.\n\n**Implementación Técnica**:\n- Integración con la API de Obsidian mediante `python-frontmatter`\n- Sistema de observación de cambios con `watchdog`\n- Estructura de archivos Markdown para tareas, proyectos y contexto\n- Sincronización bidireccional con Google Calendar\n\n**Funcionalidades**:\n- Guardar información: \"Guarda que necesito comprar leche\"\n- Consultar notas: \"¿Qué tengo pendiente del proyecto Cerebro?\"\n- Organización automática por tags y categorías\n- Mantenimiento de coherencia entre fuentes de datos\n\n### 3. Consultas en Tiempo Real\n\n**Descripción**: Capacidad para obtener información actualizada de fuentes externas bajo demanda.\n\n**Implementación Técnica**:\n- Integración con APIs externas (OpenWeatherMap, CoinGecko, NewsAPI)\n- Framework de herramientas (Tools) para Function Calling\n- Cache inteligente para optimizar consultas frecuentes\n- Sistema de formateo para resultados coherentes\n\n**Funcionalidades**:\n- Consultas meteorológicas: \"¿Cómo estará el clima mañana en Madrid?\"\n- Información financiera: \"¿Cuál es el precio actual de Bitcoin?\"\n- Noticias: \"Dime las últimas noticias de tecnología\"\n- Traductor: \"Traduce 'Buenos días' al inglés\"\n\n### 4. Mini-Interfaz de Escritorio\n\n**Descripción**: Interfaz gráfica minimalista para visualizar y controlar el asistente.\n\n**Implementación Técnica**:\n- Desarrollo con Tauri (Rust + WebView) para mayor eficiencia\n- Comunicación mediante WebSockets con el backend de Python\n- Diseño responsive y minimalista con React\n- Sistema de notificaciones y visualización de estados\n\n**Funcionalidades**:\n- Visualización del historial de comandos y respuestas\n- Control manual de funciones del asistente\n- Panel de configuración para personalizar comportamientos\n- Indicadores visuales de estado (escuchando, procesando, respondiendo)\n\n### 5. Auto-arranque y Despliegue\n\n**Descripción**: Sistema para mantener el asistente activo desde el inicio del sistema.\n\n**Implementación Técnica**:\n- Empaquetado con PyInstaller para crear ejecutable independiente\n- Configuración de inicio automático mediante registro de Windows\n- Versiones alternativas para Linux (systemd) y macOS (launchd)\n- Sistema de actualizaciones automáticas\n\n**Funcionalidades**:\n- Inicio automático con el sistema\n- Operación en segundo plano con mínimo uso de recursos\n- Recuperación ante errores y reinicio automático\n- Configuración de nivel de permisos y acceso\n\n## Estado del Proyecto\n\nCerebro está en desarrollo activo. La versión actual incluye las funcionalidades básicas de reconocimiento de voz, ejecución de comandos y respuestas mediante IA. Las próximas características se implementarán según la hoja de ruta establecida.\n\n## Contribuciones\n\nLas contribuciones son bienvenidas. Si tienes ideas, sugerencias o encuentras errores, por favor abre un issue o envía un pull request.\n\n## Licencia\n\nEste proyecto está bajo la Licencia MIT. Consulta el archivo `LICENSE` para más detalles.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremojs%2Fcerebro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremojs%2Fcerebro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremojs%2Fcerebro/lists"}