zclaw  by tnm

Ultra-compact AI assistant for embedded systems

Created 1 week ago

New!

1,315 stars

Top 30.1% on SourcePulse

GitHubView on GitHub
Project Summary

This project addresses the challenge of running advanced AI functionalities on highly resource-constrained embedded systems. It provides a personal AI assistant, zclaw, specifically designed for ESP32 microcontrollers, offering a suite of features within a remarkably small firmware footprint. The target audience includes embedded systems engineers, IoT developers, and hobbyists seeking to integrate intelligent, interactive capabilities into low-power devices, benefiting from a powerful assistant that requires minimal hardware resources.

How It Works

zclaw is implemented in C, adhering to a strict <= 888 KiB all-in firmware size target. This constraint encompasses not only the zclaw logic but also the ESP-IDF/FreeRTOS runtime, Wi-Fi/networking stack, TLS/crypto libraries, and certificate bundles. Its core approach leverages efficient C programming and careful resource management to deliver AI capabilities on microcontrollers. A key design element is its ability to compose custom tools through natural language commands, allowing users to extend its functionality dynamically.

Quick Start & Requirements

  • Primary install: bash <(curl -fsSL https://raw.githubusercontent.com/tnm/zclaw/main/scripts/bootstrap.sh) or ./install.sh if cloned.
  • Prerequisites: ESP32 board (tested: C3, S3, C6; others likely compatible), Wi-Fi connectivity, LLM backend/API key (Anthropic, OpenAI, OpenRouter, Ollama), and a Telegram token/chat ID. Secure flash mode requires --flash-mode secure.
  • Setup: bootstrap.sh clones/updates and runs install.sh. Post-flashing, credentials are provisioned via ./scripts/provision.sh or ./scripts/provision-dev.sh. Runtime credentials can be updated without reflashing.
  • Links: Full Docs: zclaw.dev, Getting Started: zclaw.dev/getting-started.html.

Highlighted Details

  • Chat via Telegram or hosted web relay.
  • Timezone-aware scheduling (daily, periodic, one-shot).
  • Built-in and user-defined tools, including GPIO read/write control.
  • Persistent memory across reboots.
  • Persona options: neutral, friendly, technical, witty.
  • Provider support: Anthropic, OpenAI, OpenRouter, Ollama.
  • Tested hardware: ESP32-C3, ESP32-S3, ESP32-C6.

Maintenance & Community

No specific details on contributors, sponsorships, or community channels (e.g., Discord, Slack) were found in the provided README text.

Licensing & Compatibility

The project is licensed under the MIT license. This permissive license generally allows for commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

The primary limitation is the strict hardware dependency on ESP32 microcontrollers. The <= 888 KiB firmware size target is aggressive and includes the entire runtime, networking, and crypto stacks, demanding careful optimization. Initial setup requires provisioning of network and LLM credentials.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
5
Issues (30d)
7
Star History
1,338 stars in the last 9 days

Explore Similar Projects

Starred by Sourabh Bajaj Sourabh Bajaj(Cofounder of Uplimit), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
3 more.

NextChat by ChatGPTNextWeb

0.1%
87k
AI assistant for web, iOS, MacOS, Android, Linux, and Windows
Created 3 years ago
Updated 2 months ago
Feedback? Help us improve.