Assistentes de IA de Bancada Open-Source: Panorama Estratégico dos Repositórios que Sustentam o Ecossistema

Ouvir

Carregando voz…

Assistentes de IA de Bancada Open-Source: Panorama Estratégico dos Repositórios que Sustentam o Ecossistema

O termo “assistente de bancada” deixou de ser sinônimo de produto fechado. Hoje existe uma pilha open-source suficiente para montar, do zero, um companheiro de IA sobre um módulo de poucos dólares — e o mais relevante é que as peças já se encaixam. Este panorama mapeia os repositórios que sustentam esse ecossistema, o que cada um entrega de fato e onde estão os gargalos reais: API de nuvem, TLS no microcontrolador e streaming de áudio.

Os repositórios que formam a base

78/xiaozhi-esp32

É hoje a referência mais direta para um chatbot de bancada. O firmware implementa o ciclo completo de áudio (captura, wake word, envio, reprodução) sobre ESP32, ESP32-S3 e variantes C3, com uma arquitetura de tool calling via MCP (Model Context Protocol). O que se aproveita direto: a máquina de estados de áudio, o cliente de rede, o particionamento de flash e o fluxo de OTA. A licença MIT é o detalhe estratégico — permite incorporar o código a um produto próprio sem obrigar a abrir o restante.

espressif/esp-sparkbot

O ESP-SparkBot leva o conceito um passo além: é um robô LLM baseado em ESP32-S3 com display, câmera e base móvel, apresentado no blog da Espressif. Em vez de apenas um chatbot, entrega firmware, estrutura mecânica e os serviços de ASR, LLM e TTS já costurados. O valor aqui é de referência de integração: mostra como combinar áudio, vídeo e movimento em um único S3 sem travar o pipeline de áudio.

espressif/esp-sr

É o componente que resolve o ponto mais frágil de qualquer assistente embarcado: detectar a palavra-chave sem nuvem. O ESP-SR empacota o WakeNet (wake word), o AFE (front-end com AEC, supressão de ruído e AGC) e modelos multi-idioma. É a peça que garante latência de detecção abaixo de 100 ms e funcionamento offline, independente de rede.

espressif/esp-box

O ESP-BOX é o devkit de referência da Espressif para interação por voz com display. Traz firmware de exemplo, array de microfones, codec de áudio e uma UI pronta. Serve como placa de validação: se o seu pipeline roda no BOX, ele roda em qualquer S3 equivalente.

lvgl/lvgl

Camada de interface. O LVGL é a biblioteca de UI embarcada mais usada no ecossistema, com widgets, temas e desenho acelerado por DMA. Para um assistente de bancada, é o que transforma um LED de status em uma interface de verdade — nível de áudio, transcrição e botões.

ollama/ollama

Fecha o loop do lado servidor. Com o Ollama, o LLM roda na sua máquina ou no seu homelab e expõe uma API HTTP compatível com o formato OpenAI. Isso permite trocar a nuvem por um endpoint local — decisivo para privacidade, custo zero por token e operação em rede isolada.

Tabela comparativa de repositórios

Repositório URL Licença Hardware-alvo O que entrega
78/xiaozhi-esp32 https://github.com/78/xiaozhi-esp32 MIT ESP32 / ESP32-S3 / C3 Firmware de chatbot com fluxo de áudio, wake word, tool calling (MCP) e OTA
espressif/esp-sparkbot https://github.com/espressif/esp-sparkbot Apache-2.0 ESP32-S3 (ESP-SparkBot) Robô LLM: firmware, mecânica, display, câmera e ASR/LLM/TTS integrados
espressif/esp-sr https://github.com/espressif/esp-sr Apache-2.0 ESP32-S3 / ESP32 WakeNet (wake word) + AFE (AEC/NS/AGC) + modelos multi-idioma
espressif/esp-box https://github.com/espressif/esp-box Apache-2.0 (com componentes de terceiros) ESP32-S3-BOX / BOX-3 Devkit de referência com display, mic array e firmware de exemplo
lvgl/lvgl https://github.com/lvgl/lvgl MIT Qualquer MCU/MPU Biblioteca de UI gráfica embarcada (widgets, temas, DMA)
ollama/ollama https://github.com/ollama/ollama MIT PC / servidor (homelab) Runtime de LLM local com API HTTP compatível com OpenAI

Tabela comparativa de APIs para hardware

API Latência típica Custo Limite de contexto TLS/streaming no MCU
OpenAI Realtime (WebSocket, áudio nativo) ~300–800 ms Alto (cobrança por áudio/minuto) ~128k tokens WebSocket + TLS são pesados; na prática exige proxy/ponte
OpenAI Chat Completions (SSE) 0,5–2 s Médio (por token) ~128k tokens SSE exige TLS + parsing de chunked; viável com esp_http_client
Google Gemini Live ~300–700 ms Médio-alto Até ~1M tokens WebSocket; mesma barreira do Realtime
Ollama (local, HTTP) Depende da GPU local Zero por token (custo é o hardware) Depende do modelo carregado HTTP local sem TLS; streaming por linhas JSON é trivial
WakeNet / ESP-SR (on-device) <100 ms Zero N/A (comando) Não usa rede; roda no próprio MCU

Como isso acelera um ecossistema próprio

Repare no padrão: cada repositório resolve uma camada e não exige coordenação com as demais. O ESP-SR cuida do áudio embarcado; o xiaozhi-esp32 dá o esqueleto de aplicação; o LVGL cuida da interface; o Ollama fecha o lado servidor. Isso significa que uma equipe pequena não precisa construir do zero a stack de voz — começa pelo firmware pronto, troca o backend e evolui a UI.

A divisão de trabalho fica explícita em três camadas: (1) aquisição e front-end de áudio no MCU; (2) transporte e roteamento (TLS, WebSocket, MCP); (3) inteligência (LLM local ou na nuvem). Escolher onde traçar a linha entre a camada 2 e a 3 é a decisão mais estratégica do projeto — e é exatamente o que a comparação de APIs acima ilumina. Um protótipo que fica no WakeNet + Ollama local tem latência e custo radicalmente diferentes de um que aposta no Realtime na nuvem.

Do ponto de vista de engenharia, o ganho é composto: você herda um pipeline de áudio já testado, um esquema de interface pronto e um backend substituível. O esforço migra da infraestrutura para o produto — que é onde ele deveria estar.

Este texto é o mapa; a montagem vem depois. Se você quer o contexto de voz offline antes de partir para o hardware, vale revisar os artigos anteriores sobre assistentes de voz offline e a série J.A.R.V.I.S. Para o runtime de modelo, veja o material sobre LLMs locais; e para a integração com hardware mais amplo, a discussão sobre Edge AI.

Não some depois da matéria

Radar do hub: Núcleo Hits, Além do Oculto, Bobinho. Sem spray, sem lista comprada.

Radar do hub

Um e-mail quando sair matéria que importa — sem spray de newsletter genérica.