Files
mimiclaw/README_CN.md
crispyberry 8257a2bf50 docs: remove Discord badge from READMEs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:23:48 +08:00

8.4 KiB
Raw Blame History

MimiClaw: $5 芯片上的口袋 AI 助理

License: MIT DeepWiki X

English | 中文

MimiClaw

$5 芯片上的 AI 助理OpenClaw。没有 Linux没有 Node.js纯 C。

MimiClaw 把一块小小的 ESP32-S3 开发板变成你的私人 AI 助理。插上 USB 供电,连上 WiFi通过 Telegram 跟它对话 — 它能处理你丢给它的任何任务,还会随时间积累本地记忆不断进化 — 全部跑在一颗拇指大小的芯片上。

认识 MimiClaw

  • 小巧 — 没有 Linux没有 Node.js没有臃肿依赖 — 纯 C
  • 好用 — 在 Telegram 发消息,剩下的它来搞定
  • 忠诚 — 从记忆中学习,跨重启也不会忘
  • 能干 — USB 供电0.5W24/7 运行
  • 可爱 — 一块 ESP32-S3 开发板,$5没了

工作原理

                         ┌─────────────── Agent Loop ───────────────┐
                         │                                          │
 ┌───────────┐     ┌─────▼─────┐     ┌─────────┐     ┌─────────┐  │
 │ Channels  │     │  Message   │     │  Claude  │     │  Tools  │  │
 │           │────▶│  Queue     │────▶│  (LLM)   │────▶│         │──┘
 │ Telegram  │     └───────────┘     └────┬─────┘     └────┬────┘
 │ WebSocket │◀──────────────────────────-│                │
 └───────────┘        Response            │                │
                                    ┌─────▼────────────────▼────┐
                                    │        Context            │
                                    │  ┌──────────┐ ┌────────┐  │
                                    │  │  Memory   │ │ Skills │  │
                                    │  │ SOUL.md   │ │  OTA   │  │
                                    │  │ USER.md   │ │  CLI   │  │
                                    │  │ MEMORY.md │ │  ...   │  │
                                    │  └──────────┘ └────────┘  │
                                    └───────────────────────────┘
                                          ESP32-S3 Flash

你在 Telegram 发一条消息ESP32-S3 通过 WiFi 收到后送进 Agent 循环 — Claude 思考、调用工具、读取记忆 — 再把回复发回来。一切都跑在一颗 $5 的芯片上,所有数据存在本地 Flash。

快速开始

你需要

  • 一块 ESP32-S3 开发板16MB Flash + 8MB PSRAM如小智 AI 开发板,~¥30
  • 一根 USB Type-C 数据线
  • 一个 Telegram Bot Token — 在 Telegram 找 @BotFather 创建
  • 一个 Anthropic API Key — 从 console.anthropic.com 获取

安装

# 需要先安装 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.usbmodem11401macOS或 /dev/ttyACM0Linux
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 在「设置 → 允许局域网」中开启。

CLI 命令

通过串口连接即可配置和调试。配置命令让你无需重新编译就能修改设置 — 随时随地插上 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                  # 重启

记忆

MimiClaw 把所有数据存为纯文本文件,可以直接读取和编辑:

文件 说明
SOUL.md 机器人的人设 — 编辑它来改变行为方式
USER.md 关于你的信息 — 姓名、偏好、语言
MEMORY.md 长期记忆 — 它应该一直记住的事
2026-02-05.md 每日笔记 — 今天发生了什么
tg_12345.jsonl 聊天记录 — 你和它的对话

工具

MimiClaw 使用 Anthropic 的 tool use 协议 — Claude 在对话中可以调用工具循环执行直到任务完成ReAct 模式)。

工具 说明
web_search 通过 Brave Search API 搜索网页,获取实时信息
get_current_time 通过 HTTP 获取当前日期和时间,并设置系统时钟

启用网页搜索需要在 mimi_secrets.h 中设置 Brave Search API keyMIMI_SECRET_SEARCH_KEY)。

其他功能

  • WebSocket 网关 — 端口 18789局域网内用任意 WebSocket 客户端连接
  • OTA 更新 — WiFi 远程刷固件,无需 USB
  • 双核 — 网络 I/O 和 AI 处理分别跑在不同 CPU 核心
  • HTTP 代理 — CONNECT 隧道,适配受限网络
  • 工具调用 — ReAct Agent 循环Anthropic tool use 协议

开发者

技术细节在 docs/ 文件夹:

许可证

MIT

致谢

灵感来自 OpenClawNanobot。MimiClaw 为嵌入式硬件重新实现了核心 AI Agent 架构 — 没有 Linux没有服务器只有一颗 $5 的芯片。