How mrebola/akbal-pi works
Akbal es un asistente local para Raspberry Pi con interacción por voz y una interfaz web de administración. El flujo principal es pulsar el botón, hablar, transcribir el audio, generar una respuesta y reproducirla por voz mientras se actualiza la pantalla. La aplicación también ofrece selección de modos, chat web, gestión WiFi y funciones de radar, wardriving, GPS y música. El README documenta estas capacidades; como los extractos de código son parciales, las conexiones no verificables se omiten.
Main entry points: web-admin-server.ts Servidor web · ChatFlow.ts Flujo conversacional · llm.ts LLM y herramientas · app.js Interfaz web
Components 24
Interacción y dispositivo
- Botón y audio
app/src/device/audio.ts - Flujo conversacional
app/src/core/ChatFlow.ts - Modos y comandos
app/src/core/chat-flow/stateMachine.ts - Salida de audio
app/src/device/audio.ts - Pantalla Whisplay
app/src/device/display.ts - Vista de pantalla
app/web/whisplay-display/app.js
IA y conocimiento
- Reconocimiento de voz
app/src/cloud-api/server.ts - LLM y herramientas
app/src/cloud-api/llm.ts - Proveedores IA
app/src/plugin/registry.ts - Conocimiento y vectores
app/src/cloud-api/knowledge.ts - Síntesis de voz
app/src/cloud-api/server.ts
Administración web
- Interfaz web
app/web/admin/app.js - Servidor web
app/src/device/web-admin-server.ts - WiFi y redes
app/src/utils/wifi.ts - Archivos y USB
app/src/utils/storage.ts
Radio y ubicación
- Radar WiFi
app/src/wifiradar/service.ts - Wardriving
app/src/wardrive/service.ts - Auditoría WiFi
app/src/wifi-audit/service.ts - Radar ADS-B
app/src/services/adsb/service.ts
Servicios del dispositivo
- Posición GPS
app/src/utils/gps.ts - Reproductor musical
app/src/device/music-player.ts
Other components
- Usuario
- Servicios de IA externos
- Adaptadores y HackRF
Connections 26
- Usuario → Botón y audio: pulsa y habla
- Botón y audio → Flujo conversacional: entrega audio
- Flujo conversacional → Reconocimiento de voz: solicita transcripción
- Reconocimiento de voz → Flujo conversacional: devuelve texto
- Flujo conversacional → Modos y comandos: consulta modo
- Flujo conversacional → LLM y herramientas: solicita respuesta
- LLM y herramientas → Proveedores IA: activa proveedor
- LLM y herramientas → Conocimiento y vectores: consulta conocimiento
- LLM y herramientas → Servicios de IA externos: invoca proveedor
- Flujo conversacional → Síntesis de voz: solicita voz
- Síntesis de voz → Salida de audio: entrega audio
- Flujo conversacional → Pantalla Whisplay: actualiza estado
- Pantalla Whisplay → Vista de pantalla: sirve vista
- Usuario → Interfaz web: usa interfaz
- Interfaz web → Servidor web: solicita API
- Servidor web → WiFi y redes: gestiona redes
- Servidor web → Archivos y USB: gestiona archivos
- Servidor web → Radar WiFi: consulta radar
- Servidor web → Wardriving: gestiona sesiones
- Servidor web → Auditoría WiFi: ejecuta auditoría
- Servidor web → Radar ADS-B: consulta tráfico
- Radar WiFi → Adaptadores y HackRF: captura señales
- Wardriving → Adaptadores y HackRF: captura redes
- Radar ADS-B → Adaptadores y HackRF: recibe ADS-B
- Radar ADS-B → Posición GPS: usa posición
- Interfaz web → Reproductor musical: controla música