Hasty Briefsbeta

双语

I Open-Sourced My AI Toy Company That Runs on ESP32 and OpenAI Realtime API

a year ago
  • #AI
  • #ESP32
  • #OpenAI
  • 由OpenAI实时API、ESP32、安全WebSocket和Deno边缘函数驱动的实时AI语音,支持超过10分钟无中断的全球对话。
  • 安装Supabase CLI并设置本地Supabase后端。
  • 设置NextJS前端环境变量并运行开发服务器。
  • 在NextJS前端的设置页面添加您的ESP32-S3设备MAC地址。
  • 在server-deno/.env和frontend-nextjs/.env.local文件中添加您的OpenAI API密钥。
  • 使用环境变量启动Deno服务器。
  • 设置ESP32 Arduino客户端并配置设备WiFi。
  • ElatoAI包含三大核心组件:前端客户端、边缘服务器函数和ESP32物联网客户端。
  • 功能包括:实时语音转语音、自定义AI代理、可定制语音、安全WebSocket、服务器VAD话轮检测、Opus音频压缩、全球边缘性能、ESP32 Arduino框架、对话历史记录、设备管理、用户认证、基于WebRTC和WebSocket的对话、音量控制和实时转录。
  • 使用的技术:前端(Next.js、Vercel)、后端(Supabase DB)、边缘函数(Deno/Supabase上的Deno边缘函数)、物联网客户端(PlatformIO、Arduino框架、ESP32-S3)、音频编解码(Opus)、通信(安全WebSocket)、库(ArduinoJson、WebSockets、AsyncWebServer、ESP32_Button、Arduino音频工具、ArduinoLibOpus)。
  • 性能指标:延迟(全球往返<1秒)、音频质量(24kbps Opus编解码器)、无中断对话(最长10分钟)、全球可用性(通过Deno边缘计算优化)。
  • 安全特性:安全WebSocket(WSS)加密数据传输、可选的256位AES API密钥加密、Supabase DB安全认证、所有表启用Supabase RLS。
  • 限制:连接边缘服务器时有3-4秒冷启动时间、无中断对话限时10分钟、超过挂钟时间边缘服务器停止、ESP32无语音打断检测功能。
  • 未来改进方向:实现ESP32语音打断检测、增加Arduino IDE支持、在Deno边缘添加工具调用支持。
  • 贡献指南:Fork仓库、创建特性分支、提交更改、推送到分支、发起PR。
  • 项目采用MIT许可证授权。