1. ESP-Claw 是什么
官方介绍:ESP-Claw 将 Agent 运行时直接下沉至设备端,让 ESP 芯片化身为主动的“决策中心”——在本地完成感知、推理与决策的闭环,大幅减少云端依赖。
ESP-Claw 的核心是 AI Agent 运行时 跑在芯片上,通过 IM 聊天界面与设备对话,背后由云端 LLM(GPT、Claude、Qwen、DeepSeek 等)驱动决策。具体能力包括:
- 查询类:读传感器、查设备状态。
- 控制类:控制 GPIO、LED、电机、屏幕等外设(比如“帮我开灯”“把屏幕亮度调到 50%”)。
- 创造类(核心卖点“聊天造物”):让它现场编写并加载 Lua 代码,定义新的设备行为,无需刷固件。
- 自动化类:事件驱动(如“按下按钮时执行 XX”)、定时任务、触发 Agent Loop,毫秒级响应。
- 其它:结构化记忆(本地存储、不上云)、MCP 通讯(可作为 Server/Client 连接其他 MCP 设备)、拍照、联网搜索等。
其中,官方支持的四大 IM 是 Telegram、QQ、飞书、微信,钉钉目前不在官方支持列表里(架构上可扩展)。
另外,它不只是“用微信查传感器”,而是“用聊天的方式对一个 ESP32 设备编程和下达指令”,设备本身是个能思考、能执行、能成长的 Agent。


2. ESP-Claw 运行硬件
2.1 板子要求
ESP-Claw 需要至少 8MB Flash 和 8MB PSRAM。目前支持的芯片包括 ESP32-S3、ESP32-P4、ESP32-C5 等(原文中的 ESP32-S31 应为笔误)。详细支持的板子信息如下:

外设全部可选。板级配置 board_devices.yaml 中 fake_audio_dac、fake_camera 都标注了 "no actual hardware connected",说明固件本身就设计为无摄像头、无麦克风也能跑。后续想加语音或视觉能力,直接往 USB 口插 UVC 摄像头 / UAC 声卡即可。
2.2 运行必需的外部条件
- WiFi 网络:Agent Loop 需要联网。
- LLM API Key:ESP-Claw 本地只跑 Agent Runtime,模型推理在云端(支持 OpenAI/Qwen/Claude/DeepSeek 等,推荐 gpt-5.4、qwen3.6-plus 这类工具调用能力强的模型)。如果还没有稳定的模型接口,可以参考适合的 API 服务来接入。
- 一个 IM 账号(Telegram/QQ/飞书/微信)用于交互,不需要屏幕。
2.3 espressif
| 板型 |
Flash/分区表 |
PSRAM |
board_devices.yaml 实际内容 |
定位 |
esp32_S3_DevKitC_1 |
8MB/IDF 默认分区表(未设 CUSTOM) |
8MB 八线 |
仅 WS2812 灯,无其他外设 |
最小裸板(不是“完整实验环境”,恰恰最简) |
esp32_S3_DevKitC_1_breadboard |
8MB/partitions_8MB |
8MB 八线 |
WS2812 + ST7789 QSPI 屏(可选)+ DHT 传感器 + USB UVC 摄像头/UAC 声卡占位 |
官方主推的“裸板 + USB 外设”方案 |
esp32_S3_DevKitC_1_N32R16V_breadboard |
32MB/partitions_32MB |
16MB 八线 |
与 breadboard 完全相同 |
专为大容量模组,仅存储配置不同 |
2.4 m5stack
M5Stack CoreS3 Lite(型号 K128-Lite)与标准 CoreS3 对固件而言完全同构(同一套 ESP32-S3/16MB Flash/8MB PSRAM、ILI9342C 屏幕、FT6336U 触摸、AW88298 功放、ES7210 双麦克风、AXP2101 电源管理、AW9523B 扩展器),差异只有电池容量(200mAh vs 500mAh)和附带底座——所以直接用仓库里的 m5stack_cores3 板型即可。

3. 烧录和测试
本次烧录和测试使用的硬件均为 M5Stack CoreS3 Lite(型号 K128-Lite)。
3.1 在线烧录
在线烧录(最简单):打开 esp-claw.com/zh-cn/flash/,选面包板方案,浏览器直接烧录并完成配网、填 API Key。连接支持的 ESP 开发板,在浏览器内烧录合并固件,并完成 Wi‑Fi 初始化。
连接和填写板子信息

分区表定义的地址和 partitions_16MB.csv(16MB Flash,CoreS3/CoreS3 Lite 正是用它)逐项吻合,说明烧录页选的板型是对的。烧录分区总表(16MB Flash 版):
| 烧录地址 |
内容 |
大小 |
作用解释 |
0x0 |
bootloader.bin |
~36KB |
二级引导程序。芯片 ROM 复位后最先加载它,负责初始化 Flash、时钟,读取分区表,再跳转主应用 |
0x9000 |
partition-table.bin |
4KB |
分区表。描述整片 16MB Flash 的布局(下面所有分区的位置和大小都记录在这里) |
0x10000 |
otadata |
8KB |
OTA 引导数据。记录“当前应从 ota_0 还是 ota_1 启动”,固件自更新时靠它切换槽位 |
0x20000 |
ota_0 |
5MB |
主应用固件。esp-claw 程序本体(Agent Loop、Lua 运行时、IM 通讯等都在这个分区) |
0xa20000 |
system |
2600KB |
只读系统镜像(FATFS,挂载为 /system)。存放固件内置的 skills、Lua 内置库文档、出厂恢复种子 |
0xcaa000 |
storage |
3MB |
可写数据分区(FATFS,挂载为 /fatfs)。存放用户安装的 skills、会话历史、长期记忆、路由/调度规则——设备“越用越懂你”的数据都在这里 |
两个不在烧录清单里但存在于分区表中的分区:
| 分区 |
大小 |
为什么不烧录 |
ota_1(0x520000) |
5MB |
第二个 OTA 槽位。首次烧录只写 ota_0;日后在线升级时新固件写入 ota_1,验证成功后 otadata 切换过去 |
nvs(0xA000)、phy_init(0x12000) |
24KB/4KB |
运行时生成的键值存储(WiFi 凭据等)和射频校准数据。不烧录是为了保留你已保存的配置,反复刷新固件也不用重新配网 |
下载和烧录

Wi-Fi 配置

配置 IM

ESP-Claw Web Config

通过微信和 ESP-Claw 对话

3.2 本地烧录
本地编译:参考源码编译文档,用 idf.py set-board xxx 后编译烧录。
4. 其它
4.1 应用与技能

4.2 以后改 WiFi 密码怎么操作
USB 只负责供电,配置走 Web 控制台(固件内置 HTTP 服务,main.c:343 启动):
- 电脑/手机连接设备发出的热点
esp-claw-XXXXXX(XXXXXX 为设备 MAC 后缀,热点默认常开),会自动弹出配网页面;或者让电脑和设备在同一局域网,访问 http://esp-claw.local/(打不开就用 http://192.168.4.1/)。
- 进入 系统设置 → 基础设置 → Wi-Fi 设置,填新 SSID/密码,保存后重启生效。

两点提醒:
- S3 只支持 2.4GHz 频段。
- 安全建议:同页面启用“连接 WiFi 后自动关闭 SoftAP”(
ap_behavior=close_on_sta),避免热点常开裸奔——Web 控制台权限很大,别暴露到公网。
- 备选:USB 连电脑跑串口终端,也注册了
wifi 命令可直接改(main.c:418)。
4.3 esp-claw-XXXXXX 是板子发出的吗?
是的。这是 esp-claw 固件的 SoftAP 热点:SSID 前缀 esp-claw + 设备 MAC 后 6 位(wifi_manager.c:31),且只要设备在运行就默认常开(ap_behavior=keep),即使板子已经连上了你的手机热点。它的地址是固定的:192.168.4.1(wifi_manager.c:63 硬编码默认值)。
所以现在有两个独立的网:
| 网络 |
谁在里面 |
用途 |
Galaxy A56 5G 545D(手机热点) |
板子(STA)+ 笔记本 |
日常联网,板子通过它访问 LLM API |
esp-claw-XXXXXX(板子热点) |
板子(AP),笔记本可加入 |
配网/改配置专用,没有外网 |
注意:笔记本连上板子热点后就脱离了手机热点,上不了网——这是正常的,这个网只用来配置板子。
4.4 为什么 esp-claw.local 打不开
.local 域名依赖 mDNS 解析,在 Windows 上出了名地不可靠(需要系统/浏览器支持 mDNS,Edge 经常不行;且固件里 mDNS 主要服务于局域网设备发现)。别跟 .local 较劲,直接用 IP:
- 笔记本连着板子热点
esp-claw-XXXXXX → 浏览器访问 http://192.168.4.1/(板子 AP 的固定地址,源码验证过)。连上后可能还会自动弹出配网登录页,那就是它。
- 笔记本和板子都在手机热点里 → 用板子的 STA IP:三星手机“热点设置 → 已连接设备”里能看到客户端,或者看串口日志(启动时会打印
Wi-Fi STA ready: <IP>),然后访问 http://<板子IP>/。

参考文献
|