[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-memovai--mimiclaw":3,"tool-memovai--mimiclaw":61},[4,18,26,36,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",141543,2,"2026-04-06T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":78,"languages":79,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":95,"env_os":96,"env_gpu":97,"env_ram":98,"env_deps":99,"category_tags":111,"github_topics":112,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":118,"updated_at":119,"faqs":120,"releases":151},4548,"memovai\u002Fmimiclaw","mimiclaw","MimiClaw: Run OpenClaw on a $5 chip. No OS(Linux). No Node.js. No Mac mini. No Raspberry Pi. No VPS. Hardware agents OS.","MimiClaw 是一款将廉价硬件转化为个人 AI 助手的开源项目。它能让一块仅需 5 美元的 ESP32-S3 芯片变身成为你的专属智能代理，无需依赖 Linux 操作系统、Node.js 环境，也不需要树莓派或云服务器。用户只需通过 USB 供电并连接 WiFi，即可在 Telegram 中与其对话，让它处理各类任务。\n\n该项目主要解决了传统 AI 助手部署成本高、资源占用大以及依赖复杂软件栈的痛点。MimiClaw 摒弃了臃肿的系统层，仅用纯 C 语言编写，实现了极低功耗（0.5W）下的 7x24 小时运行。其独特的技术亮点在于构建了基于本地闪存记忆的“硬件智能体操作系统”，不仅支持在运行时切换 Anthropic (Claude) 和 OpenAI (GPT) 等大模型服务商，还能在断电重启后保留记忆，持续进化。\n\nMimiClaw 非常适合喜欢动手的开发者、嵌入式系统爱好者以及希望低成本探索本地化 AI 应用的研究人员。对于想要拥有私有化、低功耗且无需维护服务器的小型智能助理的极客用户来说，这是一个极具创意且实用的选择。它证明了强大的 AI 交互能力不再局限于高性能计算机，微","MimiClaw 是一款将廉价硬件转化为个人 AI 助手的开源项目。它能让一块仅需 5 美元的 ESP32-S3 芯片变身成为你的专属智能代理，无需依赖 Linux 操作系统、Node.js 环境，也不需要树莓派或云服务器。用户只需通过 USB 供电并连接 WiFi，即可在 Telegram 中与其对话，让它处理各类任务。\n\n该项目主要解决了传统 AI 助手部署成本高、资源占用大以及依赖复杂软件栈的痛点。MimiClaw 摒弃了臃肿的系统层，仅用纯 C 语言编写，实现了极低功耗（0.5W）下的 7x24 小时运行。其独特的技术亮点在于构建了基于本地闪存记忆的“硬件智能体操作系统”，不仅支持在运行时切换 Anthropic (Claude) 和 OpenAI (GPT) 等大模型服务商，还能在断电重启后保留记忆，持续进化。\n\nMimiClaw 非常适合喜欢动手的开发者、嵌入式系统爱好者以及希望低成本探索本地化 AI 应用的研究人员。对于想要拥有私有化、低功耗且无需维护服务器的小型智能助理的极客用户来说，这是一个极具创意且实用的选择。它证明了强大的 AI 交互能力不再局限于高性能计算机，微小的芯片也能承载聪明的智慧。","# MimiClaw: Pocket AI Assistant on a $5 Chip\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_57f4a1b69135.png\" alt=\"MimiClaw\" width=\"500\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg\" alt=\"License: MIT\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdeepwiki.com\u002Fmemovai\u002Fmimiclaw\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDeepWiki-mimiclaw-blue.svg\" alt=\"DeepWiki\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fr8ZxSvB8Yr\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-mimiclaw-5865F2?logo=discord&logoColor=white\" alt=\"Discord\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fssslvky\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FX-@ssslvky-black?logo=x\" alt=\"X\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>\u003Ca href=\"README.md\">English\u003C\u002Fa> | \u003Ca href=\"README_CN.md\">中文\u003C\u002Fa> | \u003Ca href=\"README_JA.md\">日本語\u003C\u002Fa>\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n**The world's first AI assistant(OpenClaw) on a $5 chip. No Linux. No Node.js. Just pure C**\n\nMimiClaw turns a tiny ESP32-S3 board into a personal AI assistant. Plug it into USB power, connect to WiFi, and talk to it through Telegram — it handles any task you throw at it and evolves over time with local memory — all on a chip the size of a thumb.\n\n## Meet MimiClaw\n\n- **Tiny** — No Linux, no Node.js, no bloat — just pure C\n- **Handy** — Message it from Telegram, it handles the rest\n- **Loyal** — Learns from memory, remembers across reboots\n- **Energetic** — USB power, 0.5 W, runs 24\u002F7\n- **Lovable** — One ESP32-S3 board, $5, nothing else\n\n## How It Works\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_829c9daae913.png)\n\nYou send a message on Telegram. The ESP32-S3 picks it up over WiFi, feeds it into an agent loop — the LLM thinks, calls tools, reads memory — and sends the reply back. Supports both **Anthropic (Claude)** and **OpenAI (GPT)** as providers, switchable at runtime. Everything runs on a single $5 chip with all your data stored locally on flash.\n\n## Quick Start\n\n### What You Need\n\n- An **ESP32-S3 dev board** with 16 MB flash and 8 MB PSRAM (e.g. Xiaozhi AI board, ~$10)\n- A **USB Type-C cable**\n- A **Telegram bot token** — talk to [@BotFather](https:\u002F\u002Ft.me\u002FBotFather) on Telegram to create one\n- An **Anthropic API key** — from [console.anthropic.com](https:\u002F\u002Fconsole.anthropic.com), or an **OpenAI API key** — from [platform.openai.com](https:\u002F\u002Fplatform.openai.com)\n\n### Install\n\n```bash\n# You need ESP-IDF v5.5+ installed first:\n# https:\u002F\u002Fdocs.espressif.com\u002Fprojects\u002Fesp-idf\u002Fen\u002Fv5.5.2\u002Fesp32s3\u002Fget-started\u002F\n\ngit clone https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw.git\ncd mimiclaw\n\nidf.py set-target esp32s3\n```\n\n\u003Cdetails>\n\u003Csummary>Ubuntu Install\u003C\u002Fsummary>\n\nRecommended baseline:\n\n- Ubuntu 22.04\u002F24.04\n- Python >= 3.10\n- CMake >= 3.16\n- Ninja >= 1.10\n- Git >= 2.34\n- flex >= 2.6\n- bison >= 3.8\n- gperf >= 3.1\n- dfu-util >= 0.11\n- `libusb-1.0-0`, `libffi-dev`, `libssl-dev`\n\nInstall and build on Ubuntu:\n\n```bash\nsudo apt-get update\nsudo apt-get install -y git wget flex bison gperf python3 python3-pip python3-venv \\\n  cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0\n\n.\u002Fscripts\u002Fsetup_idf_ubuntu.sh\n.\u002Fscripts\u002Fbuild_ubuntu.sh\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>macOS Install\u003C\u002Fsummary>\n\nRecommended baseline:\n\n- macOS 12\u002F13\u002F14\n- Xcode Command Line Tools\n- Homebrew\n- Python >= 3.10\n- CMake >= 3.16\n- Ninja >= 1.10\n- Git >= 2.34\n- flex >= 2.6\n- bison >= 3.8\n- gperf >= 3.1\n- dfu-util >= 0.11\n- `libusb`, `libffi`, `openssl`\n\nInstall and build on macOS:\n\n```bash\nxcode-select --install\n\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n\n.\u002Fscripts\u002Fsetup_idf_macos.sh\n.\u002Fscripts\u002Fbuild_macos.sh\n```\n\n\u003C\u002Fdetails>\n\n### Configure\n\nMimiClaw uses a **two-layer config** system: build-time defaults in `mimi_secrets.h`, with runtime overrides via the serial CLI. CLI values are stored in NVS flash and take priority over build-time values.\n\n```bash\ncp main\u002Fmimi_secrets.h.example main\u002Fmimi_secrets.h\n```\n\nEdit `main\u002Fmimi_secrets.h`:\n\n```c\n#define MIMI_SECRET_WIFI_SSID       \"YourWiFiName\"\n#define MIMI_SECRET_WIFI_PASS       \"YourWiFiPassword\"\n#define MIMI_SECRET_TG_TOKEN        \"123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11\"\n#define MIMI_SECRET_API_KEY         \"sk-ant-api03-xxxxx\"\n#define MIMI_SECRET_MODEL_PROVIDER  \"anthropic\"     \u002F\u002F \"anthropic\" or \"openai\"\n#define MIMI_SECRET_SEARCH_KEY      \"\"              \u002F\u002F optional: Brave Search API key\n#define MIMI_SECRET_TAVILY_KEY      \"\"              \u002F\u002F optional: Tavily API key (preferred)\n#define MIMI_SECRET_PROXY_HOST      \"\"              \u002F\u002F optional: e.g. \"10.0.0.1\"\n#define MIMI_SECRET_PROXY_PORT      \"\"              \u002F\u002F optional: e.g. \"7897\"\n```\n\nThen build and flash:\n\n```bash\n# Clean build (required after any mimi_secrets.h change)\nidf.py fullclean && idf.py build\n\n# Find your serial port\nls \u002Fdev\u002Fcu.usb*          # macOS\nls \u002Fdev\u002FttyACM*          # Linux\n\n# Flash and monitor (replace PORT with your port)\n# USB adapter: likely \u002Fdev\u002Fcu.usbmodem11401 (macOS) or \u002Fdev\u002FttyACM0 (Linux)\nidf.py -p PORT flash monitor\n```\n\n> **Important: Plug into the correct USB port!** Most ESP32-S3 boards have two USB-C ports. You must use the one labeled **USB** (native USB Serial\u002FJTAG), **not** the one labeled **COM** (external UART bridge). Plugging into the wrong port will cause flash\u002Fmonitor failures.\n>\n> \u003Cdetails>\n> \u003Csummary>Show reference photo\u003C\u002Fsummary>\n>\n> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_765a61158f62.jpg\" alt=\"Plug into the USB port, not COM\" width=\"480\" \u002F>\n>\n> \u003C\u002Fdetails>\n\n### CLI Commands (via UART\u002FCOM port)\n\nConnect via serial to configure or debug. **Config commands** let you change settings without recompiling — just plug in a USB cable anywhere.\n\n**Runtime config** (saved to NVS, overrides build-time defaults):\n\n```\nmimi> wifi_set MySSID MyPassword   # change WiFi network\nmimi> set_tg_token 123456:ABC...   # change Telegram bot token\nmimi> set_api_key sk-ant-api03-... # change API key (Anthropic or OpenAI)\nmimi> set_model_provider openai    # switch provider (anthropic|openai)\nmimi> set_model gpt-4o             # change LLM model\nmimi> set_proxy 127.0.0.1 7897  # set HTTP proxy\nmimi> clear_proxy                  # remove proxy\nmimi> set_search_key BSA...        # set Brave Search API key\nmimi> set_tavily_key tvly-...      # set Tavily API key (preferred)\nmimi> config_show                  # show all config (masked)\nmimi> config_reset                 # clear NVS, revert to build-time defaults\n```\n\n**Debug & maintenance:**\n\n```\nmimi> wifi_status              # am I connected?\nmimi> memory_read              # see what the bot remembers\nmimi> memory_write \"content\"   # write to MEMORY.md\nmimi> heap_info                # how much RAM is free?\nmimi> session_list             # list all chat sessions\nmimi> session_clear 12345      # wipe a conversation\nmimi> heartbeat_trigger           # manually trigger a heartbeat check\nmimi> cron_start                  # start cron scheduler now\nmimi> restart                     # reboot\n```\n\n### USB (JTAG) vs UART: Which Port for What\n\nMost ESP32-S3 dev boards expose **two USB-C ports**:\n\n| Port | Use for |\n|------|---------|\n| **USB** (JTAG) | `idf.py flash`, JTAG debugging |\n| **COM** (UART) | **REPL CLI**, serial console |\n\n> **REPL requires the UART (COM) port.** The USB (JTAG) port does not support interactive REPL input.\n\n\u003Cdetails>\n\u003Csummary>Port details & recommended workflow\u003C\u002Fsummary>\n\n| Port | Label | Protocol |\n|------|-------|----------|\n| **USB** | USB \u002F JTAG | Native USB Serial\u002FJTAG |\n| **COM** | UART \u002F COM | External UART bridge (CP2102\u002FCH340) |\n\nThe ESP-IDF console\u002FREPL is configured to use UART by default (`CONFIG_ESP_CONSOLE_UART_DEFAULT=y`).\n\n**If you have both ports connected simultaneously:**\n\n- USB (JTAG) handles flash\u002Fdownload and provides secondary serial output\n- UART (COM) provides the primary interactive console for the REPL\n- macOS: both appear as `\u002Fdev\u002Fcu.usbmodem*` or `\u002Fdev\u002Fcu.usbserial-*` — run `ls \u002Fdev\u002Fcu.usb*` to identify\n- Linux: USB (JTAG) → `\u002Fdev\u002FttyACM0`, UART → `\u002Fdev\u002FttyUSB0`\n\n**Recommended workflow:**\n\n```bash\n# Flash via USB (JTAG) port\nidf.py -p \u002Fdev\u002Fcu.usbmodem11401 flash\n\n# Open REPL via UART (COM) port\nidf.py -p \u002Fdev\u002Fcu.usbserial-110 monitor\n# or use any serial terminal: screen, minicom, PuTTY at 115200 baud\n```\n\n\u003C\u002Fdetails>\n\n## Memory\n\nMimiClaw stores everything as plain text files you can read and edit:\n\n| File | What it is |\n|------|------------|\n| `SOUL.md` | The bot's personality — edit this to change how it behaves |\n| `USER.md` | Info about you — name, preferences, language |\n| `MEMORY.md` | Long-term memory — things the bot should always remember |\n| `HEARTBEAT.md` | Task list the bot checks periodically and acts on autonomously |\n| `cron.json` | Scheduled jobs — recurring or one-shot tasks created by the AI |\n| `2026-02-05.md` | Daily notes — what happened today |\n| `tg_12345.jsonl` | Chat history — your conversation with the bot |\n\n## Tools\n\nMimiClaw supports tool calling for both Anthropic and OpenAI — the LLM can call tools during a conversation and loop until the task is done (ReAct pattern).\n\n| Tool | Description |\n|------|-------------|\n| `web_search` | Search the web via Tavily (preferred) or Brave for current information |\n| `get_current_time` | Fetch current date\u002Ftime via HTTP and set the system clock |\n| `cron_add` | Schedule a recurring or one-shot task (the LLM creates cron jobs on its own) |\n| `cron_list` | List all scheduled cron jobs |\n| `cron_remove` | Remove a cron job by ID |\n\nTo enable web search, set a [Tavily API key](https:\u002F\u002Fapp.tavily.com\u002Fhome) via `MIMI_SECRET_TAVILY_KEY` (preferred), or a [Brave Search API key](https:\u002F\u002Fbrave.com\u002Fsearch\u002Fapi\u002F) via `MIMI_SECRET_SEARCH_KEY` in `mimi_secrets.h`.\n\n## Cron Tasks\n\nMimiClaw has a built-in cron scheduler that lets the AI schedule its own tasks. The LLM can create recurring jobs (\"every N seconds\") or one-shot jobs (\"at unix timestamp\") via the `cron_add` tool. When a job fires, its message is injected into the agent loop — so the AI wakes up, processes the task, and responds.\n\nJobs are persisted to SPIFFS (`cron.json`) and survive reboots. Example use cases: daily summaries, periodic reminders, scheduled check-ins.\n\n## Heartbeat\n\nThe heartbeat service periodically reads `HEARTBEAT.md` from SPIFFS and checks for actionable tasks. If uncompleted items are found (anything that isn't an empty line, a header, or a checked `- [x]` box), it sends a prompt to the agent loop so the AI can act on them autonomously.\n\nThis turns MimiClaw into a proactive assistant — write tasks to `HEARTBEAT.md` and the bot will pick them up on the next heartbeat cycle (default: every 30 minutes).\n\n## Also Included\n\n- **WebSocket gateway** on port 18789 — connect from your LAN with any WebSocket client\n- **OTA updates** — flash new firmware over WiFi, no USB needed\n- **Dual-core** — network I\u002FO and AI processing run on separate CPU cores\n- **HTTP proxy** — CONNECT tunnel support for restricted networks\n- **Multi-provider** — supports both Anthropic (Claude) and OpenAI (GPT), switchable at runtime\n- **Cron scheduler** — the AI can schedule its own recurring and one-shot tasks, persisted across reboots\n- **Heartbeat** — periodically checks a task file and prompts the AI to act autonomously\n- **Tool use** — ReAct agent loop with tool calling for both providers\n\n## For Developers\n\nTechnical details live in the `docs\u002F` folder:\n\n- **[docs\u002FARCHITECTURE.md](docs\u002FARCHITECTURE.md)** — system design, module map, task layout, memory budget, protocols, flash partitions\n- **[docs\u002FTODO.md](docs\u002FTODO.md)** — feature gap tracker and roadmap\n- **[docs\u002FWIFI_ONBOARDING_AP.md](docs\u002FWIFI_ONBOARDING_AP.md)** — how the local `MimiClaw-XXXX` onboarding\u002Fadmin AP flow works\n- **[docs\u002Ftool-setup\u002F](docs\u002Ftool-setup\u002FREADME.md)** — configuration guides for external service integrations (Tavily, etc.)\n\n## Contributing\n\nPlease read **[CONTRIBUTING.md](CONTRIBUTING.md)** before opening issues or pull requests.\n\n## Contributors\n\nThanks to everyone who has contributed to MimiClaw.\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_5cabb15c62e4.png\" alt=\"MimiClaw contributors\" \u002F>\n\u003C\u002Fa>\n\n## License\n\nMIT\n\n## Acknowledgments\n\nInspired by [OpenClaw](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw) and [Nanobot](https:\u002F\u002Fgithub.com\u002FHKUDS\u002Fnanobot). MimiClaw reimplements the core AI agent architecture for embedded hardware — no Linux, no server, just a $5 chip.\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=memovai%2Fmimiclaw&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=memovai\u002Fmimiclaw&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_2515b910eca0.png\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_2515b910eca0.png\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n","# MimiClaw：基于5美元芯片的口袋AI助手\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_57f4a1b69135.png\" alt=\"MimiClaw\" width=\"500\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg\" alt=\"License: MIT\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdeepwiki.com\u002Fmemovai\u002Fmimiclaw\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDeepWiki-mimiclaw-blue.svg\" alt=\"DeepWiki\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fr8ZxSvB8Yr\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-mimiclaw-5865F2?logo=discord&logoColor=white\" alt=\"Discord\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fssslvky\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FX-@ssslvky-black?logo=x\" alt=\"X\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>\u003Ca href=\"README.md\">English\u003C\u002Fa> | \u003Ca href=\"README_CN.md\">中文\u003C\u002Fa> | \u003Ca href=\"README_JA.md\">日本語\u003C\u002Fa>\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n**全球首款运行在5美元芯片上的AI助手（OpenClaw）。无需Linux，无需Node.js，纯C语言实现。**\n\nMimiClaw可以将一块小巧的ESP32-S3开发板变成你的私人AI助手。只需接入USB电源、连接WiFi，并通过Telegram与它对话——无论你提出什么任务，它都能轻松应对，并且会利用本地存储不断学习进化，这一切都仅靠一颗拇指大小的芯片完成。\n\n## 认识MimiClaw\n\n- **微型** — 无Linux，无Node.js，无臃肿软件，纯C代码\n- **便捷** — 通过Telegram发送消息，剩下的交由它处理\n- **忠诚** — 基于内存学习，重启后仍能记住信息\n- **高效** — USB供电，功耗仅0.5W，可全天候运行\n- **亲民** — 仅需一块ESP32-S3开发板，成本约5美元，无需其他配件\n\n## 工作原理\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_829c9daae913.png)\n\n当你在Telegram上发送消息时，ESP32-S3通过WiFi接收该消息，将其输入到代理循环中——LLM进行思考、调用工具、读取记忆——然后将回复发回给你。支持Anthropic（Claude）和OpenAI（GPT）两种模型提供商，可在运行时切换。所有操作均在一块仅需5美元的芯片上完成，数据完全存储在本地闪存中。\n\n## 快速入门\n\n### 所需材料\n\n- 一块带有16MB闪存和8MB PSRAM的**ESP32-S3开发板**（例如Xiaozhi AI板，约10美元）\n- 一根**USB Type-C数据线**\n- 一个**Telegram机器人Token** — 可在Telegram上联系[@BotFather](https:\u002F\u002Ft.me\u002FBotFather)获取\n- 一个**Anthropic API密钥** — 从[console.anthropic.com](https:\u002F\u002Fconsole.anthropic.com)获取，或一个**OpenAI API密钥** — 从[platform.openai.com](https:\u002F\u002Fplatform.openai.com)获取\n\n### 安装步骤\n\n```bash\n# 首先需要安装ESP-IDF v5.5及以上版本：\n# https:\u002F\u002Fdocs.espressif.com\u002Fprojects\u002Fesp-idf\u002Fen\u002Fv5.5.2\u002Fesp32s3\u002Fget-started\u002F\n\ngit clone https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw.git\ncd mimiclaw\n\nidf.py set-target esp32s3\n```\n\n\u003Cdetails>\n\u003Csummary>Ubuntu安装指南\u003C\u002Fsummary>\n\n推荐环境：\n\n- Ubuntu 22.04\u002F24.04\n- Python >= 3.10\n- CMake >= 3.16\n- Ninja >= 1.10\n- Git >= 2.34\n- flex >= 2.6\n- bison >= 3.8\n- gperf >= 3.1\n- dfu-util >= 0.11\n- `libusb-1.0-0`、`libffi-dev`、`libssl-dev`\n\n在Ubuntu上安装并编译：\n\n```bash\nsudo apt-get update\nsudo apt-get install -y git wget flex bison gperf python3 python3-pip python3-venv \\\n  cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0\n\n.\u002Fscripts\u002Fsetup_idf_ubuntu.sh\n.\u002Fscripts\u002Fbuild_ubuntu.sh\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>macOS安装指南\u003C\u002Fsummary>\n\n推荐环境：\n\n- macOS 12\u002F13\u002F14\n- Xcode命令行工具\n- Homebrew\n- Python >= 3.10\n- CMake >= 3.16\n- Ninja >= 1.10\n- Git >= 2.34\n- flex >= 2.6\n- bison >= 3.8\n- gperf >= 3.1\n- dfu-util >= 0.11\n- `libusb`、`libffi`、`openssl`\n\n在macOS上安装并编译：\n\n```bash\nxcode-select --install\n\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n\n.\u002Fscripts\u002Fsetup_idf_macos.sh\n.\u002Fscripts\u002Fbuild_macos.sh\n```\n\n\u003C\u002Fdetails>\n\n### 配置\n\nMimiClaw采用**两层配置**系统：编译时默认值存储在`mimi_secrets.h`中，运行时可通过串口CLI进行覆盖。CLI设置会保存到NVS闪存中，优先级高于编译时的默认值。\n\n```bash\ncp main\u002Fmimi_secrets.h.example main\u002Fmimi_secrets.h\n```\n\n编辑`main\u002Fmimi_secrets.h`文件：\n\n```c\n#define MIMI_SECRET_WIFI_SSID       \"YourWiFiName\"\n#define MIMI_SECRET_WIFI_PASS       \"YourWiFiPassword\"\n#define MIMI_SECRET_TG_TOKEN        \"123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11\"\n#define MIMI_SECRET_API_KEY         \"sk-ant-api03-xxxxx\"\n#define MIMI_SECRET_MODEL_PROVIDER  \"anthropic\"     \u002F\u002F \"anthropic\" 或 \"openai\"\n#define MIMI_SECRET_SEARCH_KEY      \"\"              \u002F\u002F 可选：Brave Search API密钥\n#define MIMI_SECRET_TAVILY_KEY      \"\"              \u002F\u002F 可选：Tavily API密钥（推荐）\n#define MIMI_SECRET_PROXY_HOST      \"\"              \u002F\u002F 可选：例如 \"10.0.0.1\"\n#define MIMI_SECRET_PROXY_PORT      \"\"              \u002F\u002F 可选：例如 \"7897\"\n```\n\n随后进行编译和烧录：\n\n```bash\n# 清理构建（每次修改mimi_secrets.h后必须执行）\nidf.py fullclean && idf.py build\n\n# 查找串口设备\nls \u002Fdev\u002Fcu.usb*          # macOS\nls \u002Fdev\u002FttyACM*          # Linux\n\n# 烧录并监视（将PORT替换为你的串口）\n# USB适配器：通常是\u002FmacOS上的\u002Fdev\u002Fcu.usbmodem11401或\u002FLinux上的\u002Fdev\u002FttyACM0\nidf.py -p PORT flash monitor\n```\n\n> **重要提示：请务必插入正确的USB端口！** 大多数ESP32-S3开发板配备两个USB-C接口。你必须使用标有**USB**（原生USB串口\u002FJTAG）的那一端，而不能使用标有**COM**（外部UART桥接）的那一端。如果插错端口，会导致烧录或监视失败。\n>\n> \u003Cdetails>\n> \u003Csummary>参考图片\u003C\u002Fsummary>\n>\n> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_765a61158f62.jpg\" alt=\"请插入USB端口，而非COM端口\" width=\"480\" \u002F>\n>\n> \u003C\u002Fdetails>\n\n### CLI命令（通过UART\u002FCOM端口）\n\n通过串口连接以进行配置或调试。**配置命令**允许你在不重新编译的情况下更改设置——只需随时插入USB线即可。\n\n**运行时配置**（保存至NVS，会覆盖编译时默认值）：\n\n```\nmimi> wifi_set MySSID MyPassword   # 更改WiFi网络\nmimi> set_tg_token 123456:ABC...   # 更改Telegram机器人Token\nmimi> set_api_key sk-ant-api03-... # 更改API密钥（Anthropic或OpenAI）\nmimi> set_model_provider openai    # 切换模型提供商（anthropic|openai）\nmimi> set_model gpt-4o             # 更改LLM模型\nmimi> set_proxy 127.0.0.1 7897  # 设置HTTP代理\nmimi> clear_proxy                  # 移除代理\nmimi> set_search_key BSA...        # 设置Brave Search API密钥\nmimi> set_tavily_key tvly-...      # 设置Tavily API密钥（推荐）\nmimi> config_show                  # 显示所有配置（已加密）\nmimi> config_reset                 # 清除NVS，恢复为编译时默认值\n```\n\n**调试与维护：**\n\n```\nmimi> wifi_status              # 我是否已连接WiFi？\nmimi> memory_read              # 查看机器人当前的记忆内容\nmimi> memory_write \"content\"   # 向MEMORY.md写入内容\nmimi> heap_info                # 当前剩余多少RAM？\nmimi> session_list             # 列出所有聊天会话\nmimi> session_clear 12345      # 清除指定会话\nmimi> heartbeat_trigger           # 手动触发心跳检查\nmimi> cron_start                  # 立即启动定时任务调度器\nmimi> restart                     # 重启设备\n```\n\n### USB（JTAG）与 UART：各端口的用途\n\n大多数 ESP32-S3 开发板都提供了 **两个 USB-C 端口**：\n\n| 端口 | 用途 |\n|------|------|\n| **USB**（JTAG） | `idf.py flash`、JTAG 调试 |\n| **COM**（UART） | **REPL CLI**、串行控制台 |\n\n> **REPL 需要使用 UART（COM）端口。** USB（JTAG）端口不支持交互式 REPL 输入。\n\n\u003Cdetails>\n\u003Csummary>端口详情及推荐工作流程\u003C\u002Fsummary>\n\n| 端口 | 标签 | 协议 |\n|------|-------|------|\n| **USB** | USB \u002F JTAG | 原生 USB 串口\u002FJTAG |\n| **COM** | UART \u002F COM | 外置 UART 桥接芯片（CP2102\u002FCH340） |\n\nESP-IDF 控制台\u002FREPL 默认配置为使用 UART（`CONFIG_ESP_CONSOLE_UART_DEFAULT=y`）。\n\n**如果同时连接了两个端口：**\n\n- USB（JTAG）负责固件烧录和下载，并提供辅助串行输出\n- UART（COM）则作为 REPL 的主要交互式控制台\n- macOS：两者都会显示为 `\u002Fdev\u002Fcu.usbmodem*` 或 `\u002Fdev\u002Fcu.usbserial-*` — 可运行 `ls \u002Fdev\u002Fcu.usb*` 来识别\n- Linux：USB（JTAG）→ `\u002Fdev\u002FttyACM0`，UART → `\u002Fdev\u002FttyUSB0`\n\n**推荐的工作流程如下：**\n\n```bash\n# 通过 USB（JTAG）端口烧录\nidf.py -p \u002Fdev\u002Fcu.usbmodem11401 flash\n\n# 通过 UART（COM）端口打开 REPL\nidf.py -p \u002Fdev\u002Fcu.usbserial-110 monitor\n# 或者使用任何串口终端：screen、minicom、PuTTY，波特率设置为 115200\n```\n\n\u003C\u002Fdetails>\n\n## 内存\n\nMimiClaw 将所有内容存储为纯文本文件，您可以直接阅读和编辑：\n\n| 文件 | 内容 |\n|------|------|\n| `SOUL.md` | 机器人的个性——编辑此文件可改变其行为方式 |\n| `USER.md` | 您的个人信息——姓名、偏好、语言等 |\n| `MEMORY.md` | 长期记忆——机器人应始终记住的内容 |\n| `HEARTBEAT.md` | 任务列表——机器人会定期检查并自主执行的任务 |\n| `cron.json` | 定时任务——由 AI 创建的周期性或一次性任务 |\n| `2026-02-05.md` | 每日笔记——当天发生的事情 |\n| `tg_12345.jsonl` | 对话历史——您与机器人的聊天记录 |\n\n## 工具\n\nMimiClaw 同时支持 Anthropic 和 OpenAI 的工具调用——LLM 可以在对话过程中调用工具，并循环执行直到任务完成（ReAct 模式）。\n\n| 工具 | 描述 |\n|------|------|\n| `web_search` | 使用 Tavily（首选）或 Brave 搜索网络以获取最新信息 |\n| `get_current_time` | 通过 HTTP 获取当前日期\u002F时间并同步系统时钟 |\n| `cron_add` | 设置周期性或一次性任务（LLM 可自行创建 cron 作业） |\n| `cron_list` | 列出所有已安排的 cron 作业 |\n| `cron_remove` | 根据 ID 删除一个 cron 作业 |\n\n要启用网页搜索功能，请通过 `MIMI_SECRET_TAVILY_KEY` 设置 [Tavily API 密钥]（https:\u002F\u002Fapp.tavily.com\u002Fhome），这是首选方式；或者通过 `MIMI_SECRET_SEARCH_KEY` 在 `mimi_secrets.h` 中设置 [Brave Search API 密钥]（https:\u002F\u002Fbrave.com\u002Fsearch\u002Fapi\u002F）。\n\n## Cron 任务\n\nMimiClaw 内置了一个 cron 定时器，允许 AI 自动安排自己的任务。LLM 可以通过 `cron_add` 工具创建周期性任务（“每隔 N 秒”）或一次性任务（“在某个 Unix 时间戳”）。当任务触发时，其消息会被注入到代理循环中——因此 AI 会醒来、处理任务并作出响应。\n\n这些任务会持久化到 SPIFFS（`cron.json`）中，即使重启也能保留。典型应用场景包括每日总结、定期提醒以及定时检查等。\n\n## 心跳机制\n\n心跳服务会定期从 SPIFFS 中读取 `HEARTBEAT.md` 文件，并检查其中是否有待办事项。如果发现未完成的任务（非空行、标题或已勾选的 `- [x]` 方框），它会向代理循环发送提示，让 AI 自主执行这些任务。\n\n这使得 MimiClaw 成为一个主动型助手——只需将任务写入 `HEARTBEAT.md`，机器人就会在下一次心跳周期（默认每 30 分钟）自动处理它们。\n\n## 其他功能\n\n- **WebSocket 网关**，位于端口 18789——可通过任何 WebSocket 客户端从您的局域网连接\n- **OTA 更新**——无需 USB，即可通过 WiFi 烧录新固件\n- **双核架构**——网络 I\u002FO 和 AI 处理分别运行在不同的 CPU 核心上\n- **HTTP 代理**——支持 CONNECT 隧道，适用于受限网络\n- **多提供商支持**——同时支持 Anthropic（Claude）和 OpenAI（GPT），可在运行时切换\n- **Cron 定时器**——AI 可以自主安排周期性和一次性任务，且重启后仍能保留\n- **心跳机制**——定期检查任务文件，并提示 AI 自主行动\n- **工具调用**——ReAct 代理循环，支持两家提供商的工具调用\n\n## 针对开发者\n\n技术细节请参阅 `docs\u002F` 文件夹：\n\n- **[docs\u002FARCHITECTURE.md](docs\u002FARCHITECTURE.md)**——系统设计、模块图、任务布局、内存预算、协议、闪存分区\n- **[docs\u002FTODO.md](docs\u002FTODO.md)**——功能差距跟踪与路线图\n- **[docs\u002FWIFI_ONBOARDING_AP.md](docs\u002FWIFI_ONBOARDING_AP.md)**——本地 `MimiClaw-XXXX` 入网\u002F管理 AP 流程的工作原理\n- **[docs\u002Ftool-setup\u002F](docs\u002Ftool-setup\u002FREADME.md)**——外部服务集成（如 Tavily 等）的配置指南\n\n## 贡献说明\n\n在提交问题或拉取请求之前，请先阅读 **[CONTRIBUTING.md](CONTRIBUTING.md)**。\n\n## 贡献者\n\n感谢所有为 MimiClaw 做出贡献的人。\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_5cabb15c62e4.png\" alt=\"MimiClaw 贡献者\" \u002F>\n\u003C\u002Fa>\n\n## 许可证\n\nMIT 许可证\n\n## 致谢\n\n受 [OpenClaw](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw) 和 [Nanobot](https:\u002F\u002Fgithub.com\u002FHKUDS\u002Fnanobot) 的启发。MimiClaw 重新实现了面向嵌入式硬件的核心 AI 代理架构——无需 Linux，无需服务器，仅需一块价值 5 美元的芯片。\n\n## 星标历史\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=memovai%2Fmimiclaw&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=memovai\u002Fmimiclaw&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_2515b910eca0.png\" \u002F>\n   \u003Cimg alt=\"星标历史图表\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_readme_2515b910eca0.png\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>","# MimiClaw 快速上手指南\n\nMimiClaw 是一款运行在廉价 ESP32-S3 芯片（约 5 美元）上的轻量级 AI 助手。它无需 Linux 或 Node.js，仅用纯 C 语言编写，通过 Telegram 与你交互，支持本地记忆和自主任务调度。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Ubuntu 22.04\u002F24.04 或 macOS 12\u002F13\u002F14\n- **Python**：>= 3.10\n- **ESP-IDF**：v5.5+ (Espressif IoT Development Framework)\n\n### 前置依赖安装\n\n**Ubuntu 用户：**\n```bash\nsudo apt-get update\nsudo apt-get install -y git wget flex bison gperf python3 python3-pip python3-venv \\\n  cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0\n```\n\n**macOS 用户：**\n```bash\nxcode-select --install\n\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\nbrew install cmake ninja dfu-util\n```\n\n> **注意**：请确保已正确安装 ESP-IDF v5.5+。如未安装，可参考官方文档：https:\u002F\u002Fdocs.espressif.com\u002Fprojects\u002Fesp-idf\u002Fen\u002Fv5.5.2\u002Fesp32s3\u002Fget-started\u002F\n\n## 安装步骤\n\n### 1. 克隆项目并配置目标\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw.git\ncd mimiclaw\nidf.py set-target esp32s3\n```\n\n### 2. 运行自动配置脚本\n根据系统选择对应脚本（会自动处理 ESP-IDF 环境变量）：\n\n**Ubuntu:**\n```bash\n.\u002Fscripts\u002Fsetup_idf_ubuntu.sh\n.\u002Fscripts\u002Fbuild_ubuntu.sh\n```\n\n**macOS:**\n```bash\n.\u002Fscripts\u002Fsetup_idf_macos.sh\n.\u002Fscripts\u002Fbuild_macos.sh\n```\n\n### 3. 配置密钥信息\n复制示例配置文件并编辑：\n```bash\ncp main\u002Fmimi_secrets.h.example main\u002Fmimi_secrets.h\n```\n\n使用文本编辑器打开 `main\u002Fmimi_secrets.h`，填入以下信息：\n```c\n#define MIMI_SECRET_WIFI_SSID       \"你的 WiFi 名称\"\n#define MIMI_SECRET_WIFI_PASS       \"你的 WiFi 密码\"\n#define MIMI_SECRET_TG_TOKEN        \"你的 Telegram Bot Token\"\n#define MIMI_SECRET_API_KEY         \"你的 Anthropic 或 OpenAI API Key\"\n#define MIMI_SECRET_MODEL_PROVIDER  \"anthropic\"     \u002F\u002F 可选：\"anthropic\" 或 \"openai\"\n#define MIMI_SECRET_TAVILY_KEY      \"\"              \u002F\u002F 可选：Tavily 搜索 API Key（推荐）\n```\n\n> **获取 Token 指引**：\n> - Telegram Bot Token: 在 Telegram 中联系 [@BotFather](https:\u002F\u002Ft.me\u002FBotFather) 创建。\n> - API Key: [Anthropic Console](https:\u002F\u002Fconsole.anthropic.com) 或 [OpenAI Platform](https:\u002F\u002Fplatform.openai.com)。\n\n### 4. 编译与烧录\n**重要提示**：ESP32-S3 开发板通常有两个 USB-C 接口。请务必连接到标记为 **USB** (Native USB\u002FJTAG) 的端口，**不要**连接到标记为 **COM** 的端口，否则烧录会失败。\n\n执行清洁构建并烧录：\n```bash\n# 修改过 mimi_secrets.h 后必须执行 fullclean\nidf.py fullclean && idf.py build\n\n# 查看串口设备名\nls \u002Fdev\u002Fcu.usb*          # macOS\nls \u002Fdev\u002FttyACM*          # Linux\n\n# 替换 PORT 为你的实际端口号进行烧录和监控\nidf.py -p PORT flash monitor\n```\n\n## 基本使用\n\n### 1. 运行时配置 (可选)\n如果不希望重新编译，可通过串口 CLI 动态修改配置。请使用标记为 **COM** (UART) 的端口连接串口终端（如 `screen`, `minicom` 或 IDE 自带终端），波特率 115200。\n\n常用命令示例：\n```text\nmimi> wifi_set MySSID MyPassword\nmimi> set_tg_token 123456:ABC...\nmimi> set_api_key sk-ant-api03-...\nmimi> set_model_provider openai\nmimi> config_show\n```\n\n### 2. 开始对话\n1. 确保设备已通电并连接 WiFi（串口日志显示连接成功）。\n2. 打开 Telegram，找到你创建的 Bot。\n3. 发送任意消息（例如：“你好，介绍一下你自己”）。\n4. Bot 将调用 LLM 进行处理并回复。\n\n### 3. 高级功能简述\n- **长期记忆**：Bot 会自动将重要信息存入 `MEMORY.md`，重启后依然记得。\n- **自主任务**：编辑设备文件系统中的 `HEARTBEAT.md` 添加待办事项，Bot 会定期检查并主动执行。\n- **联网搜索**：若配置了 `Tavily` 或 `Brave` API Key，Bot 可实时搜索网络信息回答最新问题。\n\n现在，你拥有一个运行在拇指大小芯片上的私人 AI 助手！","独居老人张大爷希望有一个能随时对话、记住往事且无需复杂操作的智能陪伴助手，但苦于现有方案门槛过高。\n\n### 没有 mimiclaw 时\n- **硬件成本高昂**：必须购买树莓派、Mac mini 或租用云服务器，初期投入数百至上千元，且每月需支付维护费。\n- **系统维护繁琐**：需要安装 Linux 操作系统、配置 Node.js 环境并处理各种依赖冲突，对非技术人员简直是噩梦。\n- **隐私与记忆缺失**：数据存储在云端或易失性内存中，断电后对话记忆清零，且个人谈话内容存在泄露风险。\n- **能耗与噪音问题**：传统设备需风扇散热且功耗较高，无法实现真正的 24 小时静音待机。\n\n### 使用 mimiclaw 后\n- **极致低成本**：仅需一块 5 美元的 ESP32-S3 芯片和 USB 供电，总成本不到一杯咖啡钱，即可拥有专属硬件。\n- **零系统负担**：基于纯 C 语言运行，无需 Linux 或 Node.js，刷入固件即插即用，彻底告别环境配置焦虑。\n- **本地持久记忆**：利用板载 Flash 存储对话历史，断电重启后依然记得张大爷的喜好和往事，数据完全本地化保障隐私。\n- **无感静音运行**：功耗仅 0.5W，无风扇设计完全静音，通过 Telegram 即可随时交互，真正融入日常生活。\n\nmimiclaw 将昂贵的云端 AI 能力压缩进拇指大小的芯片，让每个人都能以极低成本拥有私有化、长记忆的贴身智能助手。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmemovai_mimiclaw_765a6115.jpg","memovai","MemoV","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmemovai_f946b04a.jpg","Collaborative Memory Unifies People and AI Agents",null,"https:\u002F\u002Fgithub.com\u002Fmemovai",[80,84,87],{"name":81,"color":82,"percentage":83},"C","#555555",96.5,{"name":85,"color":86,"percentage":10},"Shell","#89e051",{"name":88,"color":89,"percentage":90},"CMake","#DA3434",0.4,5066,730,"2026-04-06T13:10:08","MIT",4,"Linux (Ubuntu 22.04\u002F24.04), macOS (12\u002F13\u002F14)","不需要 GPU，运行于 ESP32-S3 微控制器芯片","开发环境未明确说明；目标硬件需 8 MB PSRAM",{"notes":100,"python":101,"dependencies":102},"该项目是嵌入式项目，代码在 ESP32-S3 开发板上运行（纯 C 语言，无 Linux\u002FNode.js）。开发编译环境需安装 ESP-IDF v5.5+ 工具链。硬件要求：ESP32-S3 开发板（需 16MB Flash 和 8MB PSRAM），通过 USB-C 供电。不支持 Windows 作为开发主机（文档仅提供了 Ubuntu 和 macOS 的安装脚本）。需注意开发板有两个 USB-C 接口，烧录固件需使用标有'USB'(JTAG) 的端口，而命令行交互需使用标有'COM'(UART) 的端口。","3.10+",[103,104,105,106,107,108,109,110],"ESP-IDF v5.5+","CMake >= 3.16","Ninja >= 1.10","Git >= 2.34","flex >= 2.6","bison >= 3.8","gperf >= 3.1","dfu-util >= 0.11",[13,14,15],[113,114,6,115,116,117],"clawdbot","memory","ai","assistant","edge-ai-agents","2026-03-27T02:49:30.150509","2026-04-07T01:48:56.259753",[121,126,131,136,141,146],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},20693,"编译时遇到 'ninja failed with exit code 1' 错误怎么办？","ESP32-S3 芯片在烧录固件前需要手动进入下载模式（Boot Mode）。请按照以下步骤操作：\n1. 按住设备上的 BOOT 按钮；\n2. 点击 RESET 按钮；\n3. 松开 RESET 按钮；\n4. 再松开 BOOT 按钮；\n5. 立即运行烧录命令。这样通常可以解决构建停止的问题。","https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fissues\u002F51",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},20694,"定时任务无法在预定时间执行，提示时间戳错误？","这通常是因为大语言模型（LLM）没有调用获取时间的工具（get_time tool），导致它认为当前时间仍是旧时间（如 2023 年），从而计算出错误的下次运行时间戳。\n建议解决方案：\n1. 在指令中明确包含获取时间的动作，例如发送：“获取当前时间并创建一个 5 分钟后喝水的提醒”；\n2. 或者尝试使用能力更强的模型，以确保其能正确调用时间工具。","https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fissues\u002F157",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},20695,"ESP32-S3 没有公网 IP，飞书（Feishu）Webhook 该如何配置？","由于 ESP32-S3 只有内网 IP，无法通过公网接收回调，因此在配置飞书 Webhook 时，应选择“通过长连接接收事件”（Receive events through persistent connection）模式，而不是“向开发者服务器发送通知”。这种长连接模式允许设备主动保持连接以接收消息，适合无公网 IP 的 IoT 设备集成。","https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fissues\u002F129",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},20696,"使用 OpenRouter 等非官方 API 时报 'Failed to parse API response JSON' 错误？","该错误通常是因为 API 地址配置不完整或返回了非 JSON 格式的错误页面（如 HTML）。\n如果使用 OpenRouter，请确保将代码中的 API URL 修改为完整的端点：\n原代码：`#define MIMI_OPENAI_API_URL \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions\"`\n修改为：`#define MIMI_OPENAI_API_URL \"https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions\"`\n注意：必须包含 `\u002Fchat\u002Fcompletions` 后缀，且需检查 API Token 是否正确，避免残留旧的配置。","https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fissues\u002F163",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},20697,"设备连接代理服务器失败 (TCP connect to proxy failed) 如何解决？","如果在中国大陆地区使用，通常需要配置代理才能访问外部 AI 服务。\n解决方法：\n1. 在电脑上运行代理软件（如 Clash）；\n2. 确认代理软件的监听端口（例如 7897）；\n3. 在设备配置中填入电脑的局域网 IP 和代理端口；\n4. 确保电脑防火墙允许该端口通信，且设备与电脑在同一局域网内。","https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fissues\u002F31",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},20698,"Telegram 发送中文消息时报错 'Markdown rejected' 或编码错误？","此问题通常由 Telegram API 对 Markdown 格式解析严格或字符编码问题引起。虽然这是一个已知的偶发问题，不影响核心功能，但可以尝试以下方法缓解：\n1. 确保发送的文本内容符合 UTF-8 编码规范；\n2. 如果可能，暂时切换消息格式为纯文本（Plain Text）而非 Markdown；\n3. 社区已在相关 PR 中关注此问题，后续版本可能会优化对特殊字符和非英文内容的处理。","https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fissues\u002F143",[152,157],{"id":153,"version":154,"summary_zh":155,"released_at":156},126656,"v0.1.1","## 刷机指南\n\n### 1. 合并固件（最简单）\n\n下载 `mimiclaw-full-v0.1.1.bin`，并使用以下命令进行刷写：\n\n```bash\nesptool.py --chip esp32s3 -b 460800 write_flash 0x0 mimiclaw-full-v0.1.1.bin\n```\n\n### 2. 单独的二进制文件（高级）\n\n```bash\nesptool.py --chip esp32s3 -b 460800 write_flash \\\n  0x0      bootloader-v0.1.1.bin \\\n  0x8000   partition-table-v0.1.1.bin \\\n  0xf000   ota_data_initial-v0.1.1.bin \\\n  0x20000  mimiclaw-v0.1.1.bin \\\n  0x420000 spiffs-v0.1.1.bin\n```\n\n### 3. OTA 更新（适用于已运行 MimiClaw 的设备）\n\n通过 OTA 端点上传 `mimiclaw-v0.1.1.bin`。\n\n### 4. 首次设置\n\n刷机完成后，通过串口连接（115200 波特率），并进行如下配置：\n\n```\nwifi \u003Cssid> \u003Cpassword>\ntg_token \u003Cyour-telegram-bot-token>\napi_key \u003Cyour-anthropic-api-key>\nreboot\n```\n\n\n## 变更内容\n* 新增：在 UART 中添加 WiFi 扫描功能，并支持基础的 OpenAI API 端点。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F27 中实现。\n* 新增：添加交互式引导界面。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F28 中实现。\n* 新增：集成 tool_use 功能的日程任务服务。由 @crispyberry 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F4 中实现。\n* 新增：技能系统，包含天气、每日简报和技能创建工具。由 @crispyberry 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F7 中实现。\n* 新增：部署技能功能，附带构建\u002F刷写指南及辅助脚本。由 @crispyberry 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F6 中实现。\n* 修复：修复 Telegram 回复路由、Cron 消息 ID 处理以及 LLM 日志详细程度问题。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F55 中实现。\n* 修复：防止在未连接 USB 主机时设备卡死。由 @crispyberry 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F61 中实现。\n* 文档：新增贡献指南。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F66 中实现。\n* 文档：新增 Ubuntu 构建指南。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F65 中实现。\n* 重构：移除 LCD\u002FLED 依赖，并修复 Telegram 重复更新处理问题。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F64 中实现。\n* 将网络主机名从 'espressif' 更改为 'mimiclaw'。由 @mogenson 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F72 中实现。\n* 杂项：移除无用代码并修复不安全的编程模式。由 @crispyberry 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F73 中实现。\n* 新增：支持 Socks5 代理。由 @mdreamfly 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F39 中实现。\n* 文档：修复贡献链接，并优化本地化文案。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F83 中实现。\n* 修复（代理）：修复 CLI\u002FAPI 不一致问题，并添加代理类型默认值。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F86 中实现。\n* 修复 get_current_time 工具。由 @mogenson 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F71 中实现。\n* 修复：在 heartbeat.c 中添加缺失的 stdlib.h 头文件。由 @lbmeng 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F93 中实现。\n* 杂项：避免硬编码文件路径，使用 MIMI_SPIFFS_BASE 宏。由 @lbmeng 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F95 中实现。\n* 文档（README）：添加贡献者头像墙。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpu","2026-03-17T04:25:41",{"id":158,"version":159,"summary_zh":160,"released_at":161},126657,"v0.1.0","## 刷写指南\n\n### 1. 合并固件（最简单）\n\n下载 `mimiclaw-full-v0.1.0.bin`，并使用以下命令进行刷写：\n\n```bash\nesptool.py --chip esp32s3 -b 460800 write_flash 0x0 mimiclaw-full-v0.1.0.bin\n```\n\n### 2. 单独的二进制文件（高级）\n\n```bash\nesptool.py --chip esp32s3 -b 460800 write_flash \\\n  0x0     bootloader-v0.1.0.bin \\\n  0x8000  partition-table-v0.1.0.bin \\\n  0xf000  ota_data_initial-v0.1.0.bin \\\n  0x20000 mimiclaw-v0.1.0.bin\n```\n\n### 3. OTA 更新（适用于已运行 MimiClaw 的设备）\n\n通过 OTA 端点上传 `mimiclaw-v0.1.0.bin`。\n\n### 4. 首次设置\n\n刷写完成后，通过串口连接（115200 波特率）并进行配置：\n\n```\nwifi \u003Cssid> \u003Cpassword>\ntg_token \u003Cyour-telegram-bot-token>\napi_key \u003Cyour-anthropic-api-key>\nreboot\n```\n\n\n## 变更内容\n* 功能：添加 MimiClaw 架构。由 @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F8 中实现。\n\n## 新贡献者\n* @IRONICBo 在 https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fpull\u002F8 中完成了首次贡献。\n\n**完整更新日志**：https:\u002F\u002Fgithub.com\u002Fmemovai\u002Fmimiclaw\u002Fcommits\u002Fv0.1.0","2026-02-09T14:11:23"]