English | 中文
<img alt="elato logo" src="https://github.com/akdeb/ElatoAI/raw/main/assets/lightelato.png" height="70" style="max-width: 100%;">
ElatoAI 让你在 ESP32 上运行由 100 多种语音 AI 模型驱动的实时语音系统,并通过安全 WebSocket 与边缘函数实现全球范围内 20 分钟以上的不间断对话。
<a href="https://www.youtube.com/watch?v=o1eIAwVll5I" target="_blank">
<img src="https://raw.githubusercontent.com/akdeb/ElatoAI/refs/heads/main/assets/thumbnail.png" alt="ElatoAI Demo Video" width="100%" style="border-radius:10px" />
视频链接:OpenAI 演示 | Gemini 演示 | Eleven Labs 演示 | Hume AI EVI-4 演示

通过 ElatoAI Web 应用,你可以直接在手机上控制自己的 ESP32 AI 设备。

ElatoAI 由三个主要组件组成:
Next.js)- 用于创建并与 AI 智能体对话,并将其“发送”到你的 ESP32 设备Deno Edge 或 Cloudflare Workers)- 用于处理来自 ESP32 设备的 WebSocket 连接以及对模型提供商 API 的调用PlatformIO/Arduino)- 接收来自边缘服务函数的 WebSocket 连接,并通过 Deno 边缘服务器或 Cloudflare Durable Objects 把音频发送给模型提供商| 组件 | 使用技术 |
|---|---|
| 前端 | Next.js, Vercel |
| 后端 | Supabase DB |
| 边缘函数 | Deno Edge 或 Cloudflare Workers |
| IoT 客户端 | PlatformIO, Arduino Framework, ESP32-S3 |
| 音频编解码 | Opus |
| 通信 | 安全 WebSockets |
| 库 | ArduinoJson, WebSockets, AsyncWebServer, ESP32_Button, Arduino Audio Tools, ArduinoLibOpus |
flowchart TD
subgraph UserLayer
UserInput[用户语音输入]
UserOutput[AI 生成的语音输出]
end
UserInput --> ESP32
ESP32[ESP32 设备] -->|WebSocket| Edge[Deno Edge / Cloudflare Workers]
Edge -->|OpenAI API| OpenAI[OpenAI Realtime API]
Edge -->|Gemini API| Gemini[Gemini Live API]
Edge -->|xAI API| xAI[xAI Grok Voice Agent API]
Edge -->|ElevenLabs API| ElevenLabs[ElevenLabs AI Agents]
Edge -->|Hume API| Hume[Hume AI EVI4]
OpenAI --> Edge
Gemini --> Edge
xAI --> Edge
ElevenLabs --> Edge
Hume --> Edge
Edge -->|WebSocket| ESP32
ESP32 --> UserOutput
graph TD
repo[ElatoAI]
repo --> frontend[Frontend Vercel NextJS]
repo --> server[Deno Edge Function / Cloudflare Workers]
repo --> esp32[ESP32 Arduino Client]
server --> supabase[Supabase DB]
frontend --> supabase
esp32 --> websockets[Secure WebSockets]
esp32 --> opus[Opus Codec]
esp32 --> audio_tools[arduino-audio-tools]
esp32 --> libopus[arduino-libopus]
esp32 --> ESPAsyncWebServer[ESPAsyncWebServer]
欢迎贡献。你可以从这些方向开始: 1. ESP32 上的语音打断(已支持 OpenAI) 2. ~~添加 Arduino IDE 支持~~ 3. ~~添加 Hume API 客户端用于情绪检测~~ 4. 在 Deno Edge 上添加 MCP 支持 5. ~~接入 Eleven Labs API 进行语音生成~~ 6. 添加 Azure OpenAI 支持(容易上手)- 审核中 7. 添加 Cartesia 支持 8. 添加 Amazon Nova 支持 9. 添加 Deepgram 支持 10. ~~添加 Cloudflare Workers 支持~~
本项目基于 MIT License 发布,详情请查看 LICENSE。
欢迎查看我们的硬件产品:ElatoAI Products。如果你觉得这个项目有趣或有帮助,欢迎在 GitHub 上给它点个 Star。⭐
$ claude mcp add ElatoAI \
-- python -m otcore.mcp_server <graph>