1、前言
最近小龍蝦OpenClaw 實(shí)在是太火了,相信你或多或少都刷到過(guò)。
如果一句話(huà)解釋什么是 OpenClaw:
一款可以運(yùn)行在任何系統(tǒng)上的 AI 智能體。
而就在前幾天,我看到一個(gè)更“離譜”的項(xiàng)目——
居然在一塊 ESP32-S3 上運(yùn)行 OpenClaw 的思路,實(shí)現(xiàn)了一個(gè)真正可用的 MCU 級(jí) AI Agent。
它叫:Mimiclaw
項(xiàng)目地址: https://github.com/memovai/mimiclaw
作為一個(gè)長(zhǎng)期關(guān)注 AI + ESP32 的玩家,這種組合我當(dāng)然忍不住要試試。
實(shí)際體驗(yàn)
下面是我實(shí)測(cè)的一些截圖:
國(guó)內(nèi) deepseek 版本 mimiClaw
國(guó)內(nèi)deepseek版本
Telegram 對(duì)話(huà)體驗(yàn)
實(shí)際體驗(yàn)-TG
WebSocket 本地訪(fǎng)問(wèn)
Websocket
溫馨提示:
后臺(tái)私信:mimiClaw可獲取我編譯好的固件;
我準(zhǔn)備了兩個(gè)版本:官方版本和deepseek版本;
- 官方版本:適合有ClaudeAPI key 的用戶(hù)(海外用戶(hù));
- deepseek版本:適合有deepSeekAPI key 的用戶(hù)(適合中國(guó)寶寶)
2、什么是MimiClaw
MimiClaw 把一塊小小的 ESP32-S3 開(kāi)發(fā)板變成你的私人 AI 助理。插上 USB 供電,連上 WiFi,通過(guò) Telegram 跟它對(duì)話(huà) — 它能處理你丟給它的任何任務(wù),還會(huì)隨時(shí)間積累本地記憶不斷進(jìn)化 — 全部跑在一顆拇指大小的芯片上。
3、認(rèn)識(shí) MimiClaw
- 小巧 — 沒(méi)有 Linux,沒(méi)有 Node.js,沒(méi)有臃腫依賴(lài) — 純 C
- 好用 — 在 Telegram 發(fā)消息,剩下的它來(lái)搞定
- 忠誠(chéng) — 從記憶中學(xué)習(xí),跨重啟也不會(huì)忘
- 能干 — USB 供電,0.5W,24/7 運(yùn)行
- 可愛(ài) — 一塊 ESP32-S3 開(kāi)發(fā)板,$5,沒(méi)了
4、核心流程
工作原理
重點(diǎn):Agent Loop 是常駐的,不是一次性調(diào)用
5、幾個(gè)重要的特性
- Agent 的狀態(tài)、人格、記憶在設(shè)備本地
- 推理能力通過(guò)云端 LLM(Claude)完成
- 使用 Anthropic 的 tool use 協(xié)議-在Claude 在對(duì)話(huà)中可以調(diào)用工具,循環(huán)執(zhí)行直到任務(wù)完成(ReAct 模式)。
- 用 C + FreeRTOS 寫(xiě)成,而不是 Python
6、專(zhuān)門(mén)針對(duì)ESP32-S3的優(yōu)化
1、CPU 和任務(wù)分配
ESP32-S3 是雙核,Mimiclaw 對(duì)它的使用方式非??酥?,也非常工程化。
| 任務(wù) | CPU Core | 作用 |
|---|---|---|
| Telegram 輪詢(xún) | Core 0 | 網(wǎng)絡(luò) IO |
| WebSocket Server | Core 0 | 網(wǎng)絡(luò) IO |
| 串口 CLI | Core 0 | 運(yùn)維 |
Agent Loop | Core 1 | AI 推理與決策 |
| 消息發(fā)送 | Core 0 | 輸出 |
Core 1 完全留給 Agent
網(wǎng)絡(luò)、Wi-Fi、TLS 全部丟到 Core 0
2、內(nèi)存的處理
官方文檔里直接給出了內(nèi)存預(yù)算:
- TLS 連接(Telegram + Claude):≈120 KB PSRAM
- JSON 解析緩沖:≈32 KB
- 會(huì)話(huà)緩存:≈32 KB
- System Prompt Buffer:≈16 KB
- 剩余 PSRAM:≈7.7 MB
所有大塊內(nèi)存都明確放在 PSRAM, 沒(méi)有“malloc 之后祈禱不崩”。
這在 MCU 項(xiàng)目里,非常加分。
7、記憶系統(tǒng):AI 變得“可見(jiàn)”
Mimiclaw 的記憶是純文本文件:
| 文件 | 說(shuō)明 |
|---|---|
| SOUL.md | 人設(shè) |
| USER.md | 用戶(hù)信息 |
| MEMORY.md | 長(zhǎng)期記憶 |
| 2026-02-05.md | 每日筆記 |
| tg_12345.jsonl | 會(huì)話(huà)記錄 |
你可以直接串口查看。
AI 的記憶第一次變得可編輯、可理解、可管理。
8、工具系統(tǒng)(ReAct)
Mimiclaw 支持 Claude Tool Use 協(xié)議。
當(dāng)前內(nèi)置工具:
| 工具 | 功能 |
|---|---|
| web_search | Brave Search 實(shí)時(shí)搜索 |
| get_current_time | 獲取當(dāng)前時(shí)間 |
模型會(huì)自動(dòng):
- 請(qǐng)求調(diào)用工具
- 執(zhí)行
- 把結(jié)果喂回模型
- 繼續(xù)推理
這就是標(biāo)準(zhǔn)的 ReAct Agent。
8、上手體驗(yàn)流程
官方文檔已經(jīng)寫(xiě)得很詳細(xì),能上Github的可以直接看這里:https://github.com/memovai/mimiclaw/blob/main/README_CN.md
或者直接往下看
環(huán)境要求
- 一塊 ESP32-S3 開(kāi)發(fā)板,16MB Flash + 8MB PSRAM(如小智 AI 開(kāi)發(fā)板,~¥30)
- 一根 USB Type-C 數(shù)據(jù)線(xiàn)
- 一個(gè) Telegram Bot Token — 在 Telegram 找 @BotFather 創(chuàng)建
- 一個(gè) Anthropic API Key — 從 console.anthropic.com 獲取 (如果是deepseek版本可以直接換成deepSeek的api key)
安裝
# 需要先安裝 ESP-IDF v5.5+:
# https://docs.espressif.com/projects/esp-idf/en/v5.5.2/esp32s3/get-started/
gitclonehttps://github.com/memovai/mimiclaw.git
cdmimiclaw
idf.pyset-target esp32s3
配置
MimiClaw 使用兩層配置:mimi_secrets.h 提供編譯時(shí)默認(rèn)值,串口 CLI 可在運(yùn)行時(shí)覆蓋。CLI 設(shè)置的值存在 NVS Flash 中,優(yōu)先級(jí)高于編譯時(shí)值。
cp main/mimi_secrets.h.example main/mimi_secrets.h
編輯main/mimi_secrets.h:
#defineMIMI_SECRET_WIFI_SSID "你的WiFi名"
#defineMIMI_SECRET_WIFI_PASS "你的WiFi密碼"
#defineMIMI_SECRET_TG_TOKEN "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
#defineMIMI_SECRET_API_KEY "sk-ant-api03-xxxxx"
#defineMIMI_SECRET_SEARCH_KEY "" // 可選:Brave Search API key
#defineMIMI_SECRET_PROXY_HOST "10.0.0.1" // 可選:代理地址
#defineMIMI_SECRET_PROXY_PORT "7897" // 可選:代理端口
然后編譯燒錄:
# 完整編譯(修改 mimi_secrets.h 后必須 fullclean)
idf.py fullclean && idf.py build
# 查找串口
ls /dev/cu.usb* # macOS
ls /dev/ttyACM* # Linux
# 燒錄并監(jiān)控(將 PORT 替換為你的串口)
# USB 轉(zhuǎn)接器:大概率是 /dev/cu.usbmodem11401(macOS)或 /dev/ttyACM0(Linux)
idf.py -p PORT flash monitor
代理配置(國(guó)內(nèi)用戶(hù))
在國(guó)內(nèi)需要代理才能訪(fǎng)問(wèn) Telegram 和 Anthropic API。MimiClaw 內(nèi)置 HTTP CONNECT 隧道支持。
前提:局域網(wǎng)內(nèi)有一個(gè)支持 HTTP CONNECT 的代理(Clash Verge、V2Ray 等),并開(kāi)啟了「允許局域網(wǎng)連接」。
可以在mimi_secrets.h中編譯時(shí)設(shè)置,也可以通過(guò)串口 CLI 隨時(shí)修改:
mimi> set_proxy 192.168.1.83 7897 # 設(shè)置代理
mimi> clear_proxy # 清除代理
提示:確保 ESP32-S3 和代理機(jī)器在同一局域網(wǎng)。Clash Verge 在「設(shè)置 → 允許局域網(wǎng)」中開(kāi)啟。
CLI 命令
通過(guò)串口連接即可配置和調(diào)試。配置命令讓你無(wú)需重新編譯就能修改設(shè)置 — 隨時(shí)隨地插上 USB 線(xiàn)就能改。
運(yùn)行時(shí)配置(存入 NVS,覆蓋編譯時(shí)默認(rèn)值):
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 # 設(shè)置代理
mimi> clear_proxy # 清除代理
mimi> set_search_key BSA... # 設(shè)置 Brave Search API Key
mimi> config_show # 查看所有配置(脫敏顯示)
mimi> config_reset # 清除 NVS,恢復(fù)編譯時(shí)默認(rèn)值
調(diào)試與運(yùn)維:
mimi> wifi_status # 連上了嗎?
mimi> memory_read # 看看它記住了什么
mimi> memory_write"內(nèi)容" # 寫(xiě)入 MEMORY.md
mimi> heap_info # 還剩多少內(nèi)存?
mimi> session_list # 列出所有會(huì)話(huà)
mimi> session_clear 12345 # 刪除一個(gè)會(huì)話(huà)
mimi> restart # 重啟
其他功能
- WebSocket 網(wǎng)關(guān)— 端口 18789,局域網(wǎng)內(nèi)用任意 WebSocket 客戶(hù)端連接
- OTA 更新— WiFi 遠(yuǎn)程刷固件,無(wú)需 USB
- 雙核— 網(wǎng)絡(luò) I/O 和 AI 處理分別跑在不同 CPU 核心
- HTTP 代理— CONNECT 隧道,適配受限網(wǎng)絡(luò)
- 工具調(diào)用— ReAct Agent 循環(huán),Anthropic tool use 協(xié)議
9、一些未來(lái)暢想
這才是最讓我興奮的部分。
如果把 Tool 接到:
- GPIO
- Matter
- Home Assistant 那么:
ESP32 就不再是“執(zhí)行單元”,
而是“本地 AI 控制中樞”。
手機(jī)只是入口, 真正的大腦在設(shè)備上。
再次提醒:
后臺(tái)私信 mimiClaw 可獲取我編譯好的固件。
- 官方 Claude 版本
- deepseek 國(guó)內(nèi)版本
如果你也在折騰Home Assistant / Matter / AI / 智能家居 / ESP32,
那我們大概是在同一條路上。 這里更多是我自己的實(shí)踐記錄和過(guò)程復(fù)盤(pán),
不一定最優(yōu),但都是跑過(guò)一遍的結(jié)果。
愿意的話(huà),可以關(guān)注一下,
路上彼此有個(gè)伴。
-
AI
+關(guān)注
關(guān)注
91文章
40246瀏覽量
301854 -
智能體
+關(guān)注
關(guān)注
1文章
510瀏覽量
11616 -
ESP32
+關(guān)注
關(guān)注
26文章
1206瀏覽量
22017
發(fā)布評(píng)論請(qǐng)先 登錄
【FireBeetle 2 ESP32-S3開(kāi)發(fā)板測(cè)評(píng)】Arduino IDE快速開(kāi)發(fā)體驗(yàn)
【FireBeetle 2 ESP32-S3開(kāi)發(fā)板測(cè)評(píng)】MicroPython開(kāi)發(fā)體驗(yàn)
ESP32-S3(ESP32-S2,ESP32)在商用觸摸按鍵面板上使用安全嗎?
ESP32-S3硬件設(shè)計(jì)指南
ESP32-S3芯片與ESP32及ESP32-S2比較好在哪里呢
淺談ESP32-C3與ESP32-S3芯片
合宙ESP32-S3開(kāi)發(fā)板特性解讀
啟明去端分享| ESP32-S3如何實(shí)現(xiàn)tcp_client和tcp_server
新品上市 | 合宙ESP32-S3開(kāi)發(fā)板
基于ESP32-S3的高性能開(kāi)發(fā)板介紹
借助ESP32-S3主控MCU、ChirpLAN?小網(wǎng)關(guān)搭建大網(wǎng)絡(luò)
分享6個(gè)實(shí)用的ESP32-S3物聯(lián)網(wǎng)項(xiàng)目:從智能設(shè)備到安全創(chuàng)新
ESP32-S3芯片賦能設(shè)備,打造智能交互新體驗(yàn)
ESP32-S3的MicroPython開(kāi)發(fā)環(huán)境搭建
逆天了!把OpenClaw裝入ESP32-S3上是一種什么體驗(yàn)
評(píng)論