mimiclaw  by memovai

Pocket AI assistant for embedded systems

Created 1 week ago

New!

1,628 stars

Top 25.7% on SourcePulse

GitHubView on GitHub
Project Summary

MimiClaw offers a novel approach to deploying AI assistants on ultra-low-cost hardware, specifically targeting the ESP32-S3 microcontroller. It enables a portable, privacy-first AI experience without relying on traditional operating systems, cloud services, or even a Raspberry Pi. The project's benefit lies in making a capable AI assistant accessible on a $5 chip, ideal for embedded applications and users prioritizing local data control.

How It Works

MimiClaw runs a complete AI agent loop written in pure C on an ESP32-S3 board, eliminating the need for Linux or Node.js. User interactions are received via Telegram over WiFi. The ESP32-S3 processes these messages using an agent architecture inspired by Claude's ReAct pattern, enabling it to think, call tools, and access local memory. All data, including personality, user information, and conversation history, is stored locally on the chip's flash memory as plain text files, ensuring data privacy and persistence across reboots.

Quick Start & Requirements

  • Hardware: ESP32-S3 development board with 16MB flash and 8MB PSRAM (e.g., Xiaozhi AI board), USB Type-C cable.
  • Software/Keys: ESP-IDF v5.5+ installed (https://docs.espressif.com/projects/esp-idf/en/v5.5.2/esp32s3/get-started/), Telegram bot token, Anthropic API key. Optional: Brave Search API key.
  • Install: Clone the repository (git clone https://github.com/memovai/mimiclaw.git), navigate into it (cd mimiclaw), and set the target (idf.py set-target esp32s3).
  • Configure: Copy main/mimi_secrets.h.example to main/mimi_secrets.h and fill in WiFi credentials, Telegram token, and Anthropic API key.
  • Build & Flash: Run idf.py fullclean && idf.py build, then idf.py -p PORT flash monitor (replace PORT with your serial port).
  • Runtime Configuration: Settings can be modified via the serial CLI without recompiling.

Highlighted Details

  • Operates on a single ESP32-S3 chip consuming minimal power (0.5W).
  • Local memory is managed via plain text files: SOUL.md (personality), USER.md (user info), MEMORY.md (long-term memory), and daily notes.
  • Supports Over-The-Air (OTA) firmware updates via WiFi.
  • Utilizes dual-core processing, dedicating one core to network I/O and the other to AI tasks.
  • Integrates Anthropic's tool-use protocol, allowing the agent to call external functions.
  • Includes optional HTTP proxy support for network-restricted environments.

Maintenance & Community

The provided README does not detail specific contributors, sponsorships, or community channels like Discord or Slack.

Licensing & Compatibility

MimiClaw is released under the MIT License, permitting commercial use and integration into closed-source projects.

Limitations & Caveats

The project requires specific ESP32-S3 hardware with adequate flash and PSRAM. Functionality is dependent on external APIs from Anthropic and optionally Brave Search. Initial setup involves firmware compilation and secure management of API keys.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
19
Issues (30d)
22
Star History
1,691 stars in the last 10 days

Explore Similar Projects

Feedback? Help us improve.