ESP-Claw:乐鑫科技开源的「对话编程」AI Agent 框架,边缘智能的新思路
引子
当你花几块钱买了一块 ESP32-S3 开发板,除了点灯、跑 MQTT、接传感器,还能做什么?
乐鑫科技(Espressif)给出了一个让人眼前一亮的答案:ESP-Claw——一个运行在 ESP32 芯片上的「Chat Coding」AI Agent 框架,让设备不仅能联网,还能思考、决策、执行。
传统物联网止步于「连接」——设备能上网、能接收命令,但不会主动思考。ESP-Claw 把 Agent 运行时下沉到边缘芯片,让几美元的硬件具备了与大模型协作的能力。
项目简介
ESP-Claw 是乐鑫科技开源的 AI Agent 框架,专为 IoT 设备设计。它通过对话定义设备行为,在 ESP32 芯片上本地完成感知→推理→决策→执行的全链路。
核心特点:
- 「对话即编程」:用 IM 聊天 + 动态 Lua 加载,普通人也能定义设备行为
- 事件驱动:毫秒级响应,事件触发 Agent 循环
- 双向 MCP:设备既是被外部 Agent 调用的 MCP Server,也是主动调用外部服务的 MCP Client
- 本地记忆:结构化长期记忆,隐私留在本地
项目地址:espressif/esp-claw,⭐ 699
架构分析
整体架构
ESP-Claw 采用分层设计,从上到下依次为:
graph TB
subgraph 应用层
IM[IM 聊天界面<br/>Telegram/微信/飞书]
Web[Web 控制台]
ExtAgent[外部 Agent]
end
subgraph Agent 运行时
ChatCoding[对话编程引擎]
EventRouter[事件路由器]
Memory[本地记忆模块]
MCPLayer[MCP 通信层]
end
subgraph 执行层
LuaEngine[Lua 执行引擎]
LLM[LLM 云端推理]
Native[原生外设驱动]
end
subgraph 硬件层
ESP32[ESP32-S3 系列芯片]
Sensors[传感器/执行器]
end
IM --> ChatCoding
Web --> ChatCoding
ExtAgent --> MCPLayer
MCPLayer --> EventRouter
ChatCoding --> EventRouter
EventRouter --> Memory
EventRouter --> LuaEngine
EventRouter --> LLM
LuaEngine --> Native
LLM --> Native
Native --> ESP32
ESP32 --> Sensors三层事件处理机制
ESP-Claw 的核心决策引擎采用 LLM + Lua + Router 三层架构:
flowchart LR
Event[事件输入]
subgraph Router层["Router 层(优先路由)"]
Static[静态规则匹配]
end
subgraph Lua层["Lua 层(确定性规则)"]
LuaScript[用户定义 Lua 脚本]
end
subgraph LLM层["LLM 层(智能推理)"]
CloudLLM[云端大模型]
end
Event --> Router
Router -->|规则命中| LuaScript
Router -->|无规则| LLM
LuaScript -->|执行动作| Action1[动作输出]
LLM -->|生成决策| Action2[动作输出]
style Router层 fill:#e1f5fe
style Lua层 fill:#fff3e0
style LLM层 fill:#f3e5f5| 层级 | 职责 | 适用场景 |
|---|---|---|
| Router | 静态规则快速匹配 | 定时任务、简单条件触发 |
| Lua | 用户自定义确定性逻辑 | 复杂但可预测的业务流程 |
| LLM | 模糊推理、开放域决策 | 需要理解自然语言的场景 |
双向 MCP 架构
ESP-Claw 支持 MCP(Model Context Protocol) 双向通信:
sequenceDiagram
participant ExtAgent as 外部 Agent
participant ESPClaw as ESP-Claw设备
participant Cloud as 云端服务
participant Sensor as 传感器/执行器
ExtAgent->>ESPClaw: 调用工具 (MCP Client→Server)
ESPClaw->>Sensor: 读取传感器/执行动作
Sensor-->>ESPClaw: 返回数据
ESPClaw-->>ExtAgent: 工具执行结果
ESPClaw->>Cloud: 主动调用外部 API (MCP Server→Client)
Cloud-->>ESPClaw: 返回结果
ESPClaw->>Sensor: 根据结果执行动作这意味着 ESP-Claw 设备既可以被 Claude、OpenAI 等外部 Agent 调用,也可以主动调用外部服务。
本地记忆模块
ESP-Claw 的记忆系统采用 JSONL + 标签摘要 的轻量级方案:
graph LR
subgraph 记忆存储
JSONL[(JSONL 文件<br/>持久化存储)]
Index[(标签索引)]
end
subgraph 记忆操作
Write[写入记忆]
Retrieve[检索记忆]
Summarize[自动摘要]
end
Write --> JSONL
Write --> Index
JSONL --> Summarize
Summarize --> Index
Retrieve --> Index
Index --> JSONL关键设计:
- 隐私优先:所有记忆存在本地,不上传云端
- 轻量索引:基于标签的检索,无需向量数据库
- 自动摘要:防止记忆文件无限膨胀
核心机制详解
Chat Coding 工作流
用户通过 IM 聊天定义设备行为,ESP-Claw 动态加载 Lua 脚本执行:
flowchart TD
User[用户发送自然语言指令]
LLM[LLM 理解意图]
LuaGen[生成 Lua 代码片段]
Validate[语法验证]
Load[动态加载到 ESP32]
Persist[持久化为确定性规则]
User --> LLM
LLM --> LuaGen
LuaGen --> Validate
Validate -->|通过| Load
Validate -->|失败| LLM
Load --> Persist
Persist --> EventRouter[事件路由器]
EventRouter -->|后续同类事件| LuaEngine[Lua 引擎执行]事件驱动与毫秒响应
传统物联网依赖云端决策,网络延迟往往在 100ms 以上。ESP-Claw 的事件驱动架构实现了本地毫秒级响应:
- 事件来源:传感器数据、定时器、外部 API 回调、IM 消息
- 响应路径:事件 → Router 规则匹配 → 就近执行
- 降级策略:规则未命中时才调用 LLM
graph LR
subgraph 快速路径
E1[事件] --> R1[Router 规则匹配]
R1 -->|命中| A1[本地执行<br/><10ms]
end
subgraph 智能路径
E2[事件] --> R2[Router 规则匹配]
R2 -->|未命中| L[LLM 推理<br/>100-500ms]
L --> A2[云端决策执行]
end
style 快速路径 fill:#c8e6c9
style 智能路径 fill:#fff9c4对比分析
ESP-Claw vs 传统物联网
| 维度 | 传统物联网(云端中心化) | ESP-Claw(边缘 AI) |
|---|---|---|
| 处理逻辑 | 预设静态规则(IFTTT) | LLM 动态决策 + Lua 确定性规则 |
| 执行引擎 | 规则引擎 | LLM + Lua + Router 三层架构 |
| 控制中心 | 云端服务器 | 边缘节点(ESP 芯片) |
| 设备协议 | MQTT / Matter / 私有 SDK | MCP 统一语言 + 多协议桥接 |
| 记忆管理 | 云端数据存储 | 本地结构化记忆(JSONL + 标签) |
| 交互模式 | App / 控制面板 | IM 聊天(Telegram/微信/飞书) |
| 智能化程度 | 预设自动化 | LLM + 本地规则(持续演进) |
ESP-Claw vs 其他边缘 Agent 框架
| 框架 | 硬件要求 | 本地推理 | MCP 支持 | 编程方式 |
|---|---|---|---|---|
| ESP-Claw | ESP32-S3 (~$5) | ❌ 依赖云端 LLM | ✅ 双向 | 对话 + Lua |
| Hub180 | 树莓派/网关 | ⚠️ 部分支持 | ❌ | 配置文件 |
| AWS IoT Greengrass | ARM 网关 (~$50+) | ✅ 本地 Lambda | ❌ | 云端定义 |
ESP-Claw 的核心优势在于极低的硬件成本和对话式编程的易用性,但受限于 ESP32 的算力,本地推理仍需依赖云端 LLM。
使用指南
快速开始:在线烧录
ESP-Claw 支持浏览器在线烧录,无需搭建开发环境:
- 访问 esp-claw.com/en/flash/
- 选择开发板(ESP32-S3 系列支持 Breadboard、M5Stack CoreS3 等)
- 连接设备,一键烧录最新固件
- 配置 WiFi 和 LLM Provider(Telegram/微信/飞书)
本地构建
1 | # 克隆仓库 |
第一个 Agent 程序
通过飞书向设备发送:
1 | 当温度大于30度时,打开风扇,并回复我"已开启风扇" |
ESP-Claw 会:
- 调用 LLM 理解意图
- 生成 Lua 脚本
- 加载到事件路由器
- 后续温度事件自动触发执行
趋势与思考
边缘 Agent 的演进方向
ESP-Claw 代表了边缘智能的一个有趣方向:
- 成本革命:用 $5 硬件实现过去需要 $50+ 网关的能力
- 交互革命:从配置文件到自然语言,降低了 IoT 开发门槛
- 隐私革命:记忆本地化,敏感数据不经过云端
现存挑战
- 算力瓶颈:ESP32 无法跑本地 LLM,仍依赖云端
- 实时性:需要 LLM 决策的场景仍有网络延迟
- 生态成熟度:刚开源不久,周边生态(如可视化调试工具)有待完善
展望
随着芯片算力提升(如 ESP32-P4 支持更多 AI 加速特性),未来 ESP-Claw 有望实现真正的本地 LLM 推理,届时边缘 Agent 将迎来更大爆发。
相关链接: