1.实时的语音交互
2.一个工作在单片机上的人工智能
3.通过命令进行交互输出.
点击空白处退出提示
1.实时的语音交互
2.一个工作在单片机上的人工智能
3.通过命令进行交互输出.
1. AI 对话
当前代码支持通过以下方式与 AI 交互:
Discord Bot
WebSocket 网关
串口 CLI,用于调试和维护
可选的麦克风语音输入
消息经过统一消息总线进入 Agent Loop,由大模型生成回复,再根据来源渠道发送回 Discord 或 WebSocket 客户端。
2. 大模型调用
项目实现了云端 LLM 代理层:
支持 Anthropic Messages API
支持 OpenAI 兼容接口
当前配置可以使用 DeepSeek 等 OpenAI 兼容模型
支持 HTTP CONNECT 代理
HTTPS 通信使用 ESP-IDF 网络和 TLS 能力
大型 JSON、响应和上下文缓冲区优先放入 PSRAM
对应实现主要在 llm_proxy.c。
3. Agent 工具调用
Agent 支持 ReAct 风格的多轮工具调用:
接收用户消息
构造系统提示词和历史上下文
调用大模型
判断模型是否请求工具
执行工具并生成工具结果
将结果继续交给模型
最终输出自然语言回复
语音输入
项目包含可选的麦克风 ASR 功能:
通过 I2S 读取数字麦克风
使用简单的音量阈值进行语音活动检测
自动截取语音片段
生成 WAV 音频
调用云端 ASR 服务进行识别
将识别文本发送到 Discord Agent
任务和线程模型
项目基于 FreeRTOS,主要任务包括:
Discord 网络轮询任务
Agent Loop 任务
出站消息派发任务
串口 CLI 任务
WebSocket HTTP 服务任务
麦克风 ASR 任务
Wi-Fi 事件处理任务



评论