Repolode
joey-zhou

joey-zhou/xiaozhi-esp32-server-java

Servidor Java y plataforma de administración para dispositivos de voz Xiaozhi ESP32, con monitoreo de dispositivos, gestión de voces y personalidades, y registros de conversaciones.

Estrellas
1,381
Forks
505
Issues abiertos
2
Último commit
hace 23 días

¿Qué es?

Xiaozhi ESP32 Server Java es un backend Java para hardware de voz basado en ESP32 compatible con el firmware Xiaozhi ESP32. Incluye una consola web de administración para gestionar usuarios, dispositivos, roles y actualizaciones OTA, además de un servicio de diálogo independiente que gestiona flujos de audio por WebSocket y MQTT, así como el pipeline de conversación con IA.

El sistema se divide en dos procesos: xiaozhi-server, para la administración, y xiaozhi-dialogue, para la voz en tiempo real. Ambos comparten MySQL y Redis, y se pueden escalar de forma independiente. El reconocimiento y la síntesis de voz pueden usar modelos locales como sherpa-onnx y Vosk, o proveedores en la nube; los modelos de lenguaje pueden provenir de OpenAI, Zhipu, Ollama, Dify, Coze y otros. La compatibilidad con herramientas MCP, las llamadas a funciones, una base de conocimiento RAG y el reconocimiento de huellas de voz amplían las capacidades del asistente.

Se puede implementar con Docker Compose o desde el código fuente, con JDK 21, Maven, Node 22, MySQL 8 y Redis 7. Los modelos se descargan mediante un script incluido durante la primera ejecución.

Funciones clave

  • 01Procesos separados para la administración y el diálogo que comparten MySQL y Redis, y se escalan de forma independiente
  • 02Reconocimiento y síntesis de voz locales y en la nube, con clonación de voz e interacción en streaming
  • 03Integración con OpenAI, Zhipu, Ollama, Dify, Coze y otros proveedores de LLM
  • 04Compatibilidad con el protocolo de herramientas MCP y llamadas a funciones para controlar dispositivos de domótica
  • 05Base de conocimiento RAG para documentos PDF, Office e imágenes
  • 06Memoria a largo plazo y reconocimiento de huellas de voz para varios miembros del hogar

Casos de uso

  • Ejecutar un backend de asistente de voz autohospedado para dispositivos ESP32 en el hogar o la oficina
  • Gestionar un conjunto de dispositivos compatibles con Xiaozhi mediante actualizaciones OTA y monitoreo
  • Crear un asistente de voz que controle dispositivos de domótica mediante MCP o llamadas a funciones
  • Crear prototipos de productos de voz con IA en hardware ESP32 y proveedores intercambiables de reconocimiento de voz y LLM

Inicio rápido

  1. 1

    Crea una carpeta y accede a ella

    mkdir xiaozhi && cd xiaozhi
  2. 2

    Descarga el archivo docker-compose.yml

    curl -O https://raw.githubusercontent.com/joey-zhou/xiaozhi-esp32-server-java/main/docker-compose.yml
  3. 3

    Inicia los contenedores

    docker compose up -d
  4. 4

    Cuando los contenedores estén en buen estado, abre http://localhost:8084 e inicia sesión como admin / 123456; después, configura una clave de API de LLM

Antes de usarlo

  • Debes proporcionar tu propia clave de API de LLM para que el sistema pueda mantener conversaciones; no se incluye ninguna clave.
  • Algunas funciones no son de código abierto y solo están disponibles en la versión comercial.

Temas

Preguntas frecuentes

¿Qué es xiaozhi-esp32-server-java?
Servidor Java y plataforma de administración para dispositivos de voz Xiaozhi ESP32, con monitoreo de dispositivos, gestión de voces y personalidades, y registros de conversaciones. Xiaozhi ESP32 Server Java es un backend Java para hardware de voz basado en ESP32 compatible con el firmware Xiaozhi ESP32. Incluye una consola web de administración para gestionar usuarios, dispositivos, roles y actualizaciones OTA, además de un servicio de diálogo independiente que gestiona flujos de audio por WebSocket y MQTT, así como el pipeline de conversación con IA.
¿xiaozhi-esp32-server-java es gratuito? ¿Qué licencia tiene?
xiaozhi-esp32-server-java es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿xiaozhi-esp32-server-java sigue mantenido?
Mantenimiento activo. El último commit de xiaozhi-esp32-server-java fue el 27 sept 2026.
¿Para qué puedo usar xiaozhi-esp32-server-java?
Ejecutar un backend de asistente de voz autohospedado para dispositivos ESP32 en el hogar o la oficina Gestionar un conjunto de dispositivos compatibles con Xiaozhi mediante actualizaciones OTA y monitoreo Crear un asistente de voz que controle dispositivos de domótica mediante MCP o llamadas a funciones Crear prototipos de productos de voz con IA en hardware ESP32 y proveedores intercambiables de reconocimiento de voz y LLM
¿Cómo se instala xiaozhi-esp32-server-java?
Crea una carpeta y accede a ella: mkdir xiaozhi && cd xiaozhi Descarga el archivo docker-compose.yml: curl -O https://raw.githubusercontent.com/joey-zhou/xiaozhi-esp32-server-java/main/docker-compose.yml Inicia los contenedores: docker compose up -d Cuando los contenedores estén en buen estado, abre http://localhost:8084 e inicia sesión como admin / 123456; después, configura una clave de API de LLM
¿Dónde consigo xiaozhi-esp32-server-java?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/joey-zhou/xiaozhi-esp32-server-java

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados