跳到主要内容

OpenClaw 应用参考教程(基于MimiClaw)

MimiClaw 是能让一块小巧的 ESP32‑S3 开发板,变身成你的专属个人 AI 助手。只需插上 USB 供电、连接 WiFi,就能通过飞书与它对话交流。它可以帮你处理各类任务,并借助本地存储不断学习、持续进化,而这一切能力,都被浓缩在一枚拇指大小的芯片之上。

本文演示如何为微雪电子的 ESP32-S3 开发板烧录固件,包括无开发环境烧录(直接烧录预编译固件)和有开发环境烧录(从源码编译并烧录)两种方式

信息

本文以 ESP32-S3-DEV-KIT-N32R16V 开发板为例进行演示,若使用其他开发板,操作步骤类似。

0. 准备工作

  • 一块 ESP32-S3 开发板,配备 16MB Flash 和 8MB PSRAM
  • USB Type-C 线缆
  • 在飞书中创建应用,获取 App ID(应用 ID) 和 App Secret(应用密钥)
  • 来自 console.anthropic.com 的 Anthropic API 密钥,或来自 platform.openai.com 的 OpenAI API 密钥

1. 烧录固件

1.1 无开发环境烧录

  1. 通过访问 MimiClaw GitHub 下载固件,下载 mimiclaw-full-vx.x.x.bin 固件。

    mimiclaw-2

  2. 参考 Flash 固件的烧录与擦除教程 完成固件烧录

1.2 ESP-IDF 环境烧录

  1. 通过 MimiClaw GitHub 下载工程

    访问 MimiClaw GitHub 仓库下载完整工程代码:

    mimiclaw-3

  2. 环境搭建

    参考 ESP-IDF 环境搭建教程 完成开发环境的配置。

  3. 修改配置

    编辑 main/mimi_secrets.h

    信息

    请根据实际情况修改以下配置,可以跳过此步骤在后续通过 CLI 命令或网页进行配置:

    /* WiFi */
    #define MIMI_SECRET_WIFI_SSID "" /* WiFi 名 */
    #define MIMI_SECRET_WIFI_PASS "" /* WiFi 密码 */

    /* Telegram Bot */
    #define MIMI_SECRET_TG_TOKEN "" /* Telegram Bot Token */

    /* Feishu Bot */
    #define MIMI_SECRET_FEISHU_APP_ID "" /* Feishu App ID */
    #define MIMI_SECRET_FEISHU_APP_SECRET "" /* Feishu App Secret */

    /* Anthropic API */
    #define MIMI_SECRET_API_KEY "" /* Anthropic API Key */
    #define MIMI_SECRET_MODEL "" /* Anthropic 模型名称 */
    #define MIMI_SECRET_MODEL_PROVIDER "anthropic" /* Anthropic 或 OpenAI */

    /* HTTP Proxy (leave empty or set both) */
    #define MIMI_SECRET_PROXY_HOST "" /* HTTP 代理地址 */
    #define MIMI_SECRET_PROXY_PORT "" /* HTTP 代理端口 */
    #define MIMI_SECRET_PROXY_TYPE "" /* "http" or "socks5" */

    /* Brave Search API */
    #define MIMI_SECRET_SEARCH_KEY "" /* Brave Search API Key */
    /* Tavily Search API */
    #define MIMI_SECRET_TAVILY_KEY "" /* Tavily Search API Key */
  4. 烧录项目

    配置修改完成后,点击 一键编译烧录 一键构建、烧录和监视图标,自动完成编译、烧录和串口监视。

2. 设置飞书机器人

  1. 访问 飞书开放平台

    mimiclaw-6

  2. 创建应用,获取 App ID(应用 ID) 和 App Secret(应用密钥)

    mimiclaw-9

  3. 开启权限:

    • im:message - 发送和接收消息

      mimiclaw-7

    • im:message:send_as_bot - 以机器人身份发送消息

      mimiclaw-8

  4. 配置事件订阅:

    • 将订阅模式设置为 持久连接(长连接)

    • 订阅事件:im.message.receive_v1

      mimiclaw-10

  5. 发布机器人版本

    点击页面左上角的 创建版本 按钮,发布机器人版本

    mimiclaw-11

3. 配置 MimiClaw

信息

MimiClaw 提供三种配置方式:

mimi_secrets.h 提供编译时默认值

② 串口 CLI 可在运行时覆盖。CLI 设置的值存在 NVS Flash 中,优先级高于编译时值

③ 源码烧录完成后也可以通过连接 WIFI 通过网页来配置

3.1 编辑 main/mimi_secrets.h

编辑 main/mimi_secrets.h

/* WiFi */
#define MIMI_SECRET_WIFI_SSID "" /* WiFi 名 */
#define MIMI_SECRET_WIFI_PASS "" /* WiFi 密码 */

/* Telegram Bot */
#define MIMI_SECRET_TG_TOKEN "" /* Telegram Bot Token */

/* Feishu Bot */
#define MIMI_SECRET_FEISHU_APP_ID "" /* Feishu App ID */
#define MIMI_SECRET_FEISHU_APP_SECRET "" /* Feishu App Secret */

/* Anthropic API */
#define MIMI_SECRET_API_KEY "" /* Anthropic API Key */
#define MIMI_SECRET_MODEL "" /* Anthropic 模型名称 */
#define MIMI_SECRET_MODEL_PROVIDER "anthropic" /* Anthropic 或 OpenAI */

/* HTTP Proxy (leave empty or set both) */
#define MIMI_SECRET_PROXY_HOST "" /* HTTP 代理地址 */
#define MIMI_SECRET_PROXY_PORT "" /* HTTP 代理端口 */
#define MIMI_SECRET_PROXY_TYPE "" /* "http" or "socks5" */

/* Brave Search API */
#define MIMI_SECRET_SEARCH_KEY "" /* Brave Search API Key */
/* Tavily Search API */
#define MIMI_SECRET_TAVILY_KEY "" /* Tavily Search API Key */

3.2 CLI 命令

信息

烧录完成后,可以通过在串口监视器输入 help 查看 MimiClaw 的 CLI 命令。

mimi> wifi_set MySSID MyPassword # 换 WiFi
mimi> set_tg_token 123456:ABC... # 换 Telegram Bot Token
mimi> set_feishu_creds App_ID App_Secret # 换飞书 App ID 和 App Secret
mimi> set_api_key sk-ant-api03-... # 换 API Key(Anthropic 或 OpenAI)
mimi> set_model_provider openai # 切换提供商(anthropic|openai)
mimi> set_model gpt-4o # 换模型
mimi> set_proxy 192.168.1.83 7897 # 设置代理
mimi> clear_proxy # 清除代理
mimi> set_search_key BSA... # 设置 Brave Search API Key
mimi> set_tavily_key tvly-... # 设置 Tavily API Key(优先)
mimi> config_show # 查看所有配置(脱敏显示)
mimi> config_reset # 清除 NVS,恢复编译时默认值

3.3 网页配置

mimiclaw-4

使用手机或电脑连接设备的 WiFi 热点:MimiClaw-XXXX。连接成功后通常会自动跳转到配置页面,若未自动跳转,请手动在浏览器中访问 http://192.168.4.1。

mimiclaw-5

4. 使用 MimiClaw

所有配置完成之后,打开飞书中创建的应用,即可与 MimiClaw 进行对话聊天

mimiclaw-12

5. 相关说明

5.1 记忆

MimiClaw 将所有内容存储为纯文本文件,您可以阅读和编辑:

档案是什么
SOUL.md机器人的个性——编辑此以改变它的行为
USER.md关于你的信息——姓名、偏好、语言
MEMORY.md长期记忆——机器人应该始终记住的事情
HEARTBEAT.md任务列表,机器人定期检查并自主执行
cron.json预定任务——由 AI 生成的重复或一次性任务
2026-02-05.md每日笔记——今天发生了什么
tg_12345.jsonl聊天记录——你与机器人的对话

5.2 工具

MimiClaw 支持 Anthropic 和 OpenAI 的工具调用——LLM 可以在对话中调用工具,并循环直到任务完成(ReAct 模式)。

工具名称描述
web_search通过 Tavily(优先推荐)或 Brave 在网上搜索最新信息
get_current_time通过 HTTP 获取当前日期/时间并设置系统时钟
cron_add安排一个周期性或一次性任务(LLM 会自动生成 cron 作业)
cron_list列出所有预定的 cron 工作
cron_remove通过 ID 移除 cron job

要启用网页搜索,请在 mimi_secrets.h 中设置 MIMI_SECRET_TAVILY_KEY(首选,使用 Tavily API 密钥),或设置 MIMI_SECRET_SEARCH_KEY(使用 Brave Search API 密钥)。

5.3 Cron 任务

MimiClaw 内置了 cron 调度器,可以让 AI 自行安排任务。LLM 可以通过 cron_add 工具创建重复任务("每 N 秒")或一次性任务("在 Unix 时间戳处")。当作业触发时,其消息会注入代理循环——因此 AI 唤醒,处理任务并做出响应。

作业会被保留到 SPIFFS(cron.json),并且能经受重启。示例用例:每日摘要、定期提醒、定时签到。

5.4 心跳

心跳服务会定期读取 SPIFFS 并检查可操作任务。如果发现未完成的项目(任何不是空行、头部或已勾选 - [x] 框的内容),它会向代理循环发送提示,让 AI 自主处理。

这让 MimiClaw 变成了主动助手——在 HEARTBEAT.md 中写入任务后,机器人会在下一个心跳周期(默认:每 30 分钟)自动处理。

5.5 另收录

  • WebSocket网关位于 18789 端口——通过任何 WebSocket 客户端从你的局域网连接
  • OTA更新——通过 WiFi 刷入新固件,无需 USB
  • 双核——网络 I/O 和 AI 处理运行在不同的 CPU 核心上
  • HTTP 代理 — 对受限网络的 CONNECT 隧道支持
  • 多提供者——支持 Anthropic(Claude)和 OpenAI(GPT),运行时可切换
  • Cron 调度器——AI 可以安排自己的重复和一次性任务,这些任务在重启后依然存在
  • Heartbeat — 定期检查任务文件并提示 AI 自主行动
  • 工具使用 — ReAct 代理循环,工具调用适用于两个提供商

5.6 给开发者

技术细节存于文件夹中:docs/