Skip to content
faechaurig-coderPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

⚙️ MARK LI (51)

El Asistente Personal de IA Definitivo Multiplataforma — Por FatihMakes

📺 Mira el video completo de instalación en YouTube

Una IA de voz en tiempo real que puede oír, ver, entender y controlar tu computadora — en cualquier SO. Compatible con Windows, macOS y Linux. Construido sobre la API Gemini Live para streaming de audio nativo, sin suscripciones y con autonomía digital total.


✨ Visión General

MARK LI es la forma final del núcleo: un asistente que extiendes sin tocar jamás su motor. Suelta un solo archivo de plugin en la carpeta plugins/ y JARVIS aprende una nueva habilidad en el siguiente arranque — sin cambios de código, sin configuración, sin riesgos. Y la voz también mejoró: JARVIS ahora oye la emoción en tu voz, sabe cuándo le estás hablando a otra persona en la habitación y se queda en silencio, y puede mantener una conversación por horas sin perder el hilo.

No es solo un asistente — es una extensión de tu vida digital.


🚀 Capacidades

Funciones Principales

Función Descripción
🧩 Sistema de Plugins Suelta un archivo .py en plugins/ — JARVIS aprende una habilidad nueva al siguiente arranque
🎙️ Voz en Tiempo Real Conversación de latencia ultra-baja en cualquier idioma vía API Gemini Live
💓 Diálogo Afectivo Oye la emoción en tu voz y adapta su tono en respuesta
🤫 Audio Proactivo Sabe cuándo no le hablas — el ruido de fondo nunca dispara respuesta
♾️ Sesiones Ilimitadas Compresión de contexto con ventana deslizante — una conversación puede durar horas
🖥️ Control del Sistema Abre apps, ajusta volumen/brillo, WiFi, atajos, energía — todo con la voz
🤖 Tareas Autónomas Planificación de alto nivel para objetivos complejos de varios pasos, vía modo agente
👁️ Consciencia Visual Captura de pantalla y visión por cámara en tiempo real enviada a tu sesión Gemini
🧠 Memoria Persistente Recuerda proyectos, preferencias y contexto personal entre sesiones
⌨️ Entrada Híbrida Alterna con fluidez entre teclado y comandos de voz
🌅 Briefing Matutino Al primer arranque: te saluda, te da la hora, recuerda tu ayer y trae noticias en vivo
🔔 Proactivo 2.0 Recordatorios conscientes de tiempo y contexto — sabe la hora, tus proyectos y qué hablabas
🗓️ Memoria de Sesión Resume cada conversación y la menciona naturalmente la mañana siguiente — se consume al usarla
👁️‍🗨️ Monitoreo de Fondo Vigilancia de temas configurada por ti — revisa titulares una vez al día y avisa naturalmente
📊 Monitoreo de Hardware Telemetría continua de CPU, RAM, GPU y temperatura con alertas de voz localizadas
🌤️ Reporte del Clima Datos del clima en vivo para tu ciudad, personalizados desde tu memoria
🗺️ Panel de Contenido Dinámico Capa de visualización desplazable bajo el HUD que muestra web, noticias y búsquedas
🔍 Búsqueda Web Multimodo noticias / investigación / precio / comparar — Gemini Grounded primero, DuckDuckGo como respaldo
⏰ Recordatorios Inteligentes Notificaciones programadas nativas del SO (Task Scheduler / LaunchAgent / systemd)
✈️ Buscador de Vuelos Consulta de precios y disponibilidad de vuelos en vivo
🎮 Actualizador de Juegos Verifica y activa actualizaciones en Steam y Epic Games bajo demanda
📂 Procesador de Archivos Lee, resume y responde preguntas sobre archivos locales
💻 Ayudante de Código Revisión, depuración y generación de código en línea
🌐 Control del Navegador Abre URLs, navega pestañas e interactúa con el navegador con la voz
📨 Enviar Mensajes Compone y envía mensajes por WhatsApp, Telegram y más
🎬 Control de YouTube Busca, reproduce y controla YouTube con la voz
🖱️ Control del Escritorio Barra de tareas, gestión de ventanas y operaciones de nivel escritorio
🧑‍💻 Memoria Silenciosa de Idioma Detecta el idioma hablado en el primer uso — todas las sesiones futuras se adaptan automáticamente
📱 Panel Remoto Controla el asistente desde tu teléfono con pareo por QR
⚡ Auto-Arranque al Boot Registra con el sistema de arranque del SO (registro / LaunchAgent / .desktop)
📋 Inteligencia de Portapapeles Copia cualquier texto → panel flotante con Traducir / Resumir / Explicar / Corregir
🎨 Personalización del Asistente Cambia el nombre del asistente y el tuyo desde la UI — efecto inmediato
👏 Activación por Aplauso Despierta, interrumpe y desmutea con un aplauso — sin voz necesaria
🗣️ Voz Personalizada Elige entre 10 voces preconstruidas de Gemini — masculinas y femeninas
⏰ Recordatorios Recurrentes Bucles diarios/semanales vía planificadores del SO — suenan aunque JARVIS esté offline
📱 Reproducción en Teléfono La voz de JARVIS se transmite a tu teléfono — escúchala en tus audífonos

🆕 Qué Hay de Nuevo en Mark LI

🧩 Sistema de Plugins — Extiende JARVIS Sin Tocar el Núcleo

La función estrella de Mark LI, y la razón de ser la versión de arquitectura final. Toda nueva capacidad, de ahora en adelante, llega como un solo archivo .py:

  1. Descarga un archivo de plugin (p.ej. contador_calorias.py)
  2. Suelta en la carpeta plugins/
  3. Reinicia JARVIS — listo. La habilidad está viva, por voz, en cualquier idioma.

Cada plugin declara su propio esquema de herramienta Gemini y lógica en un archivo. El motor lo auto-descubre al arranque, lo registra en la sesión Live y lo lista en el panel 🧩 Administrador de Plugins donde cada plugin tiene su interruptor persistente ON/OFF.

La seguridad está en tres capas: un plugin roto o mal escrito jamás puede tumbar a JARVIS — simplemente aparece como "ROTO" en el administrador con el error explicado, mientras las demás herramientas y plugins siguen funcionando. Las colisiones de nombre con las herramientas del núcleo se detectan y se rechazan automáticamente. ¿Quieres crear el tuyo? Copia plugins/_template.py y rellena dos cosas: el dict PLUGIN y la función run().

💓 Diálogo Afectivo — JARVIS Oye Cómo Te Sientes

Gracias a la comprensión nativa de audio de Gemini Live, JARVIS ahora detecta la emoción en tu voz — emoción, frustración, fatiga — y adapta su tono en respuesta. Las preguntas nocturnas cansadas obtienen respuestas calmadas; los anuncios emocionados reciben energía de vuelta.

🤫 Audio Proactivo — Sabe Cuándo No Le Hablas

La mejora de calidad de vida más grande para un asistente que escucha siempre: JARVIS ahora puede decir cuándo el habla no va dirigida a él. Hablar con alguien en la habitación, tomar una llamada, la TV de fondo — permanece en silencio en vez de interponerse. Sin palabra de activación necesaria, sin respuestas accidentales.

♾️ Longitud de Sesión Ilimitada — La Conversación Nunca Muere

La compresión de contexto con ventana deslizante significa que la sesión Live ya no termina cuando se llena la ventana de contexto. Combinado con la reanudación de sesión, JARVIS mantiene una conversación continua por horas sin perder el hilo.

Las tres mejoras de la API Live se degradan con gracia: si la API de vista previa llega a rechazarlas, JARVIS se reconecta automáticamente con la configuración estándar — nunca ves un fallo.


🆕 Novedades de Este Fork (mejoras propias)

👏 Activación por Aplauso — Despierta e Interrumpe sin Hablar

Un aplauso despierta a JARVIS. Aplaude de nuevo mientras está hablando y se detiene al instante. Un aplauso fuerte es una señal aguda y de banda ancha, así que el detector mira la relación pico-ambiente — el habla y el ruido de la TV no lo activan.

Gesto Qué pasa
👏 en reposo JARVIS te saluda ("¿Sí, señor?") y empieza a escuchar
👏 mientras habla Interrupción instantánea — el micrófono se reabre inmediatamente
👏 estando en mute Quita el mute + despierta

Claves de configuración en config/api_keys.json:

{
  "clap_activation": true,
  "clap_sensitivity": 2
}

Sensibilidad: 1 = ligera (aplausos suaves / micrófono lejano), 2 = por defecto, 3 = estricta (habitaciones ruidosas). Pon clap_activation en false para desactivarlo.

🗣️ Voz Personalizada — Elige la Voz que Te Gusta

Abre el Personalizar overlay (botón ⚙️ en la barra) → desplegable de Voz → elige entre las voces preconstruidas nativo-audio de Gemini. Se aplica desde la siguiente sesión. También puedes poner "voice_name" directamente en config/api_keys.json.

Voces Masculinas Voces Femeninas
Charon (por defecto, grave) Kore
Puck Aoede
Orus Leda
Fenrir Zephyr
Achernar Pulcherrima

⏰ Recordatorios Recurrentes — Te Recuerda Para Siempre

La herramienta de recordatorios ahora soporta recurrence = "daily" | "weekly" además del unico disparo. Persiste a través de planificadores nativos del SO — Task Scheduler en Windows, LaunchAgent en macOS o systemd en Linux — así que suenan incluso cuando JARVIS no está corriendo.

  • "Recuérdame todos los días a las 8:45 que tome agua" → bucle diario
  • "Recuérdame cada viernes a las 6pm sacar la basura" → bucle semanal

📱 Llévalo en Tu Teléfono (Con Audífonos)

El Panel Remoto (botón Control Remoto → código QR) ahora reproduce la voz de JARVIS de vuelta a tu teléfono por tu red local. Empareja una vez y:

  1. Conecta tus audífonos al teléfono
  2. Abre el panel, toca la pantalla una vez (desbloqueo de audio)
  3. Toca 🎤 para abrir una sesión de voz en vivo, o usa texto

El micrófono de tu teléfono transmite la entrada, la voz de JARVIS se transmite de vuelta directamente a tus audífonos, y la transcripción aparece en la pantalla. Los altavoces de la PC pueden mutearse independientemente.


🗺️ Ruta de Marks

Mark Enfoque
XLVIII Interrupción instantánea · noticias paralelas · briefing de dos fases · retroceso exponencial · espera de visión
XLIX Auto-arranque · inteligencia de portapapeles · personalización del asistente
L Memoria de sesión · monitoreo de fondo · proactivo 2.0 · visión instantánea · búsqueda de noticias paralela
LI Sistema de plugins · diálogo afectivo · audio proactivo · sesiones ilimitadas
LII+ Archivos de plugin: correo · modo quiz · contador de calorías · calendario · y más

⚡ Inicio Rápido

git clone https://github.com/FatihMakes/Mark-LI.git
cd Mark-LI
pip install -r requirements.txt
python main.py

📱 Instalar como App PWA (celular) — 1 enlace que descarga la app

En el Panel Remoto (Remote Control → QR → JARVIS), una vez que estás dentro:

  1. Tappe 🔽 Instalar (botón en el pie número pie) → la pregunta del navegador se dispara automáticamente.
  2. Acepta y el icono queda en tu pantalla de inicio.

Además está el manifest.json con icono y sw.js (service worker), así que cualquier install "Add to Home screen" de Safari/Chrome también funciona.

🖥️ Icono en escritorio (Windows/Mac/Linux) — link que crea el atajo

python launch/create_desktop_shortcut.py
  • Windows: usa launch/JARVIS.lnk (VBS) o abre launch/JARVIS.bat manualmente
  • Linux/Mac: crea ~/Desktop/JARVIS.desktop apuntando a launch/JARVIS.sh

Al hacer click arranca el asistente completo.

📱 Control del teléfono por voz (Smart Intents)

Con el plugin phone_intent activado (Plugins → ✓), desde el PC puedes decir:

  • 👉 call:+573001234567 → llamada en tu teléfono (por número)
  • 👉 sms:+573001234567:estoy ocupado → SMS al número con mensaje
  • 👉 wa:+573001234567:hola desde JARVIS → abrir WhatsApp
  • 👉 app:instagram / url:https://example.com → abrir app / URL
  • 👉 copy:texto → copiar al clipboard
  • 👉 timer:300 / timerstop → temporizador
  • 👉 alarm:07:30 / flash:on|off → alarma / linterna

Cualquier intent se ejecuta con interfaz nati va del teléfono (sin instalar nada extra). Si no hay teléfono conectado queda en la cola local y arranca al aparecer.

⚠️ Nota de Instalación: Algunas dependencias específicas del SO no se empaquetan en requirements.txt para mantener el repo ligero. Si te sale ModuleNotFoundError, instala el paquete faltante con pip install <nombre_paquete>.


📋 Requerimientos

Requerimiento Detalles
SO Windows 10/11, macOS o Linux
Python 3.11 o 3.12
Micrófono Requerido para interacción por voz
Clave de API Clave Gemini gratuita (config/api_keys.json)

🗂️ Estructura del Proyecto

Mark LI/
├── main.py                   # Bucle principal — sesión Gemini Live, E/S de audio, despacho de herramientas
├── ui.py                     # HUD en PyQt6 — forma de onda, panel de logs, administrador de plugins, cámara
├── setup.py                  # Asistente de configuración de primer arranque
├── plugins/
│   └── _template.py          # Copia esto para escribir un plugin nuevo — un archivo, suelda, listo
├── actions/
│   ├── web_search.py         # Búsqueda paralela Gemini + DDG (noticias, investigación, precio, compara)
│   ├── screen_processor.py   # Captura de pantalla y visión por cámara vía Gemini Live
│   ├── background_monitor.py # Vigilancia de temas configurada por ti — revisión DDG diaria, sin cripto
│   ├── proactive.py          # Proactivo 2.0 — recordatorios conscientes de tiempo/contexto
│   ├── reminder.py           # Notificaciones programadas nativas del SO
│   ├── system_monitor.py     # Telemetría de CPU / RAM / GPU / temperatura
│   ├── computer_settings.py  # Volumen, brillo, WiFi, energía
│   ├── computer_control.py   # Atajos de teclado, mouse, gestión de ventanas
│   ├── open_app.py           # Lanzador de aplicaciones
│   ├── browser_control.py    # Control del navegador web
│   ├── file_controller.py    # Operaciones del sistema de archivos
│   ├── file_processor.py     # Lectura y resumen de documentos
│   ├── send_message.py       # Integración de mensajería
│   ├── weather_report.py     # Datos del clima en vivo
│   ├── flight_finder.py      # Búsqueda de vuelos
│   ├── youtube_video.py      # Control de reproducción de YouTube
│   ├── game_updater.py       # Gestión de actualizaciones de juegos (Steam / Epic)
│   ├── code_helper.py        # Revisión y generación de código
│   ├── dev_agent.py          # Agente de tareas para desarrolladores
│   └── desktop.py            # Control del escritorio y barra de tareas
├── memory/
│   ├── memory_manager.py     # Carga/guarda long_term.json — sesiones, vigilancias, identidad
│   └── long_term.json        # Almacén persistente: identidad, preferencias, proyectos, sesiones, vigilancias
├── core/
│   ├── prompt.txt            # Personalidad del asistente y reglas de enrutamiento de herramientas
│   └── plugin_loader.py      # Motor de plugins — descubrimiento, validación, aislamiento de fallos
└── config/
    └── api_keys.json         # Clave de API, configuración del SO, nombre asistente, tu nombre

⚠️ Licencia

Solo para uso personal y no comercial. Licenciado bajo Creative Commons BY-NC 4.0.


👤 Conecta con el Creador

Ingeniería de un desarrollador que construye un asistente estilo JARVIS del mundo real. ⭐ Dale estrella al repositorio para apoyar el camino a Mark 100.

Plataforma Enlace
YouTube @FatihMakes
Instagram @fatihmakes

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages