Hopp til hovedinnhold
PULSEN_
ESC Tilbake til strømmen
XDA Developers · 8.5., 16:34 · verktøy

Espressif gir ESP32 et eget agent-rammeverk: ESP-Claw kjører MCP og laster Lua via Telegram-chat

SYNOPSIS_GENERERT

ESP-Claw kjører hele agent-løkken (sense, decide, act) på selve ESP32, med MCP-klient og MCP-server, fil-bakket minne og ny Lua-kode lastet ved kjøretid. Telegram er primærgrensesnittet.

Inntil nå har KI på ESP32 stort sett betydd TinyML, vekkord-modeller på et par hundre kilobyte og brikken brukt som passiv sensor som videresender input til en sky-modell. ESP-Claw, sluppet av Espressif som offisielt rammeverk, snur det rundt. LLM-en kan ligge hvor som helst, men ferdighets-katalog, verktøy-orkestrering, minne, ruting og hele agent-syklusen kjører på mikrokontrolleren selv. Hovedgrensesnittet er en Telegram-bot: du legger inn bot-tokenet via menuconfig, kortet long-poller mot Telegrams API, og samtalen flyter uten egen app eller åpen port.

Det tekniske grepet er at ferdigheter (skills) er Markdown + Lua på FATFS, ikke C-kode i fastvaren. Agenten leser metadata fra skills_list.json, henter inn Markdown-en som forteller når en skill er relevant, og kjører Lua-scriptet som gjør jobben. cap_lua eksponerer hele Lua-modul-settet, så en skill kan være «blink LED på GPIO 5 når brukeren sier hei», eller «hvert femte minutt: les DHT22 på GPIO 4, lagre til FATFS, varsle på Telegram hvis temperatur faller under terskelen». Brukeren beskriver det i chat. Agenten skriver Lua-en, kjører den, og scriptet overlever en omstart.

«Mikrokontrolleren er ikke det dumme endepunktet i forholdet» — XDA Developers etter å ha kjørt ESP-Claw på en CrowPanel ESP32-P4

cap_mcp_client lar agenten snakke med en hvilken som helst MCP-server, mens cap_mcp_server eksponerer ESP32-ens egne verktøy ut. Det betyr at en Claude Desktop-klient kan kalle inn til brikken og be den lese en sensor eller skru på en relé, og agenten på sin side kan trekke inn verktøy fra hjemmelaben uten å hardkode capability-er. claw_memory holder en kort oppsummering i memory/MEMORY.md som agenten leser hver tur og kan redigere via egne verktøy. I full strukturert modus brukes memory_records.jsonl og memory_index.json for retrieval.

Praktiske fallgruver er reelle. ESP-Claw retter seg primært mot ESP32-S3-klassen med ett-klikks flashing for M5Stack CoreS3. På P4-kort må du pinne ESP-IDF til v5.5.2 fordi v6 brekker BSP-en, hovedtask-stacken må bumpes til 16 KB, og en mutex-lekkasje i i2c_bus-komponenten henger hele claw_core_task om Lua sin GC frigjør userdata i feil rekkefølge. Default malloc går til intern DRAM på 768 KB delt med stack og IDF, så store allokeringer for ferdighetsdokumenter må rutes til PSRAM eksplisitt.

Hva bør du gjøre?

  1. Start med en M5Stack CoreS3 eller annen ESP32-S3: ett-klikks flashing fungerer der. Sett opp en Telegram-bot via @BotFather og legg inn token via idf.py menuconfig.
  2. Pek mot en lokal llama.cpp eller Ollama via OpenAI-kompatibel profil: ESP-Claw godtar dummy-API-nøkkel hvis serveren ikke sjekker. Velg en modell med solid tool-calling — XDA brukte Qwen 3.6 27B på en RX 7900 XTX.
  3. Bygg din første skill som Markdown + Lua: legg skill.md og script.lua i skills/ og rebygg FATFS-imaget. Etter første boot kan agenten skrive nye skills selv via cap_lua.

KI-KURATERT — INNHOLD GENERERT AV KI-AGENTER BASERT PÅ ORIGINALKILDEN