最近小龙虾OpenClaw 实在是太火了,相信你或多或少都刷到过。
如果一句话解释什么是 OpenClaw:
一款可以运行在任何系统上的 AI 智能体。
而就在前几天,我看到一个更“离谱”的项目——
居然在一块 ESP32-S3 上运行 OpenClaw 的思路,实现了一个真正可用的 MCU 级 AI Agent。
它叫:Mimiclaw
项目地址: https://github.com/memovai/mimiclaw
作为一个长期关注 AI + ESP32 的玩家,这种组合我当然忍不住要试试。
下面是我实测的一些截图:
国内deepseek版本
实际体验-TG
Websocket
温馨提示:
后台私信:mimiClaw可获取我编译好的固件;
我准备了两个版本:官方版本和deepseek版本;
MimiClaw 把一块小小的 ESP32-S3 开发板变成你的私人 AI 助理。插上 USB 供电,连上 WiFi,通过 Telegram 跟它对话 — 它能处理你丢给它的任何任务,还会随时间积累本地记忆不断进化 — 全部跑在一颗拇指大小的芯片上。
工作原理
重点: Agent Loop 是常驻的,不是一次性调用
ESP32-S3 是双核,Mimiclaw 对它的使用方式非常克制,也非常工程化。
| 任务 | CPU Core | 作用 |
|---|---|---|
| Telegram 轮询 | Core 0 | 网络 IO |
| WebSocket Server | Core 0 | 网络 IO |
| 串口 CLI | Core 0 | 运维 |
Agent Loop | Core 1 | AI 推理与决策 |
| 消息发送 | Core 0 | 输出 |
Core 1 完全留给 Agent
网络、Wi-Fi、TLS 全部丢到 Core 0
官方文档里直接给出了内存预算:
所有大块内存都明确放在 PSRAM, 没有“malloc 之后祈祷不崩”。
这在 MCU 项目里,非常加分。
Mimiclaw 的记忆是纯文本文件:
| 文件 | 说明 |
|---|---|
| SOUL.md | 人设 |
| USER.md | 用户信息 |
| MEMORY.md | 长期记忆 |
| 2026-02-05.md | 每日笔记 |
| tg_12345.jsonl | 会话记录 |
你可以直接串口查看。
AI 的记忆第一次变得可编辑、可理解、可管理。
Mimiclaw 支持 Claude Tool Use 协议。
当前内置工具:
| 工具 | 功能 |
|---|---|
| web_search | Brave Search 实时搜索 |
| get_current_time | 获取当前时间 |
模型会自动:
这就是标准的 ReAct Agent。
官方文档已经写得很详细,能上Github的可以直接看这里:https://github.com/memovai/mimiclaw/blob/main/README_CN.md
或者直接往下看
# 需要先安装 ESP-IDF v5.5+:
# https://docs.espressif.com/projects/esp-idf/en/v5.5.2/esp32s3/get-started/
git clone https://github.com/memovai/mimiclaw.git
cd mimiclaw
idf.py set-target esp32s3
MimiClaw 使用两层配置:mimi_secrets.h 提供编译时默认值,串口 CLI 可在运行时覆盖。CLI 设置的值存在 NVS Flash 中,优先级高于编译时值。
cp main/mimi_secrets.h.example main/mimi_secrets.h
编辑 main/mimi_secrets.h:
#define MIMI_SECRET_WIFI_SSID "你的WiFi名"
#define MIMI_SECRET_WIFI_PASS "你的WiFi密码"
#define MIMI_SECRET_TG_TOKEN "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
#define MIMI_SECRET_API_KEY "sk-ant-api03-xxxxx"
#define MIMI_SECRET_SEARCH_KEY "" // 可选:Brave Search API key
#define MIMI_SECRET_PROXY_HOST "10.0.0.1" // 可选:代理地址
#define MIMI_SECRET_PROXY_PORT "7897" // 可选:代理端口
然后编译烧录:
# 完整编译(修改 mimi_secrets.h 后必须 fullclean)
idf.py fullclean && idf.py build
# 查找串口
ls /dev/cu.usb* # macOS
ls /dev/ttyACM* # Linux
# 烧录并监控(将 PORT 替换为你的串口)
# USB 转接器:大概率是 /dev/cu.usbmodem11401(macOS)或 /dev/ttyACM0(Linux)
idf.py -p PORT flash monitor
在国内需要代理才能访问 Telegram 和 Anthropic API。MimiClaw 内置 HTTP CONNECT 隧道支持。
前提:局域网内有一个支持 HTTP CONNECT 的代理(Clash Verge、V2Ray 等),并开启了「允许局域网连接」。
可以在 mimi_secrets.h 中编译时设置,也可以通过串口 CLI 随时修改:
mimi> set_proxy 192.168.1.83 7897 # 设置代理
mimi> clear_proxy # 清除代理
提示:确保 ESP32-S3 和代理机器在同一局域网。Clash Verge 在「设置 → 允许局域网」中开启。
通过串口连接即可配置和调试。配置命令让你无需重新编译就能修改设置 — 随时随地插上 USB 线就能改。
运行时配置(存入 NVS,覆盖编译时默认值):
mimi> wifi_set MySSID MyPassword # 换 WiFi
mimi> set_tg_token 123456:ABC... # 换 Telegram Bot Token
mimi> set_api_key sk-ant-api03-... # 换 Anthropic API Key
mimi> set_model claude-sonnet-4-5-20250929 # 换模型
mimi> set_proxy 192.168.1.83 7897 # 设置代理
mimi> clear_proxy # 清除代理
mimi> set_search_key BSA... # 设置 Brave Search API Key
mimi> config_show # 查看所有配置(脱敏显示)
mimi> config_reset # 清除 NVS,恢复编译时默认值
调试与运维:
mimi> wifi_status # 连上了吗?
mimi> memory_read # 看看它记住了什么
mimi> memory_write "内容" # 写入 MEMORY.md
mimi> heap_info # 还剩多少内存?
mimi> session_list # 列出所有会话
mimi> session_clear 12345 # 删除一个会话
mimi> restart # 重启
这才是最让我兴奋的部分。
如果把 Tool 接到:
ESP32 就不再是“执行单元”,
而是“本地 AI 控制中枢”。
手机只是入口, 真正的大脑在设备上。
再次提醒:
后台私信 mimiClaw 可获取我编译好的固件。
如果你也在折腾 Home Assistant / Matter / AI / 智能家居 / ESP32,
那我们大概是在同一条路上。 这里更多是我自己的实践记录和过程复盘,
不一定最优,但都是跑过一遍的结果。
愿意的话,可以关注一下,
路上彼此有个伴。
全部0条评论
快来发表一下你的评论吧 !