zclaw - ESP32에서 888KB로 구동되는 개인용 AI 비서
(github.com/tnm)- ESP32 보드에서 동작하는 초경량 AI 비서로, 전체 펌웨어 크기가 888KiB 이하로 제한
- C 언어로 작성되었으며, GPIO 제어·스케줄링(cron)·지속 메모리·사용자 정의 도구를 자연어로 조합 가능
- Wi-Fi, TLS/암호화, 인증서 번들까지 포함된 전체 이미지가 888KiB 내에 들어가며, 앱 코드 자체는 약 25KB 수준
- Telegram 및 웹 릴레이 채팅, Anthropic·OpenAI·OpenRouter 등 주요 LLM 제공자와 연동 지원
- ESP32-C3/S3/C6 보드에서 테스트 완료, 오픈소스(MIT 라이선스)로 공개되어 임베디드 AI 실험 및 확장성 확보
프로젝트 개요
- zclaw는 ESP32용 개인 AI 비서로, 전체 펌웨어 크기를 888KiB 이하로 유지하는 것을 목표로 설계
- 펌웨어에는 zclaw 로직, ESP-IDF/FreeRTOS 런타임, Wi-Fi·TLS·인증서 번들이 모두 포함
- 앱 코드 자체는 약 25KB 수준으로, 전체 이미지의 약 4%만 차지
- C 언어 기반으로 작성되어 있으며, 자연어 명령을 통한 도구 조합과 GPIO 제어, 스케줄링 기능을 지원
- “Fun to use, fun to hack on”이라는 문구로, 개발자 실험과 확장성을 강조
주요 기능
- Telegram 또는 웹 릴레이를 통한 채팅 인터페이스 제공
-
시간대 인식 스케줄링 지원:
daily,periodic,once등 반복·단일 작업 설정 가능 - 내장 및 사용자 정의 도구를 통한 기능 확장
-
GPIO 읽기/쓰기 제어 및
gpio_read_all등 보호 장치 내장 - 재부팅 후에도 유지되는 메모리 기능 제공
-
페르소나 선택 가능:
neutral,friendly,technical,witty - LLM 제공자 연동: Anthropic, OpenAI, OpenRouter
하드웨어 지원
- 테스트 완료 대상: ESP32-C3, ESP32-S3, ESP32-C6
- 다른 ESP32 변형도 수동 설정 시 동작 가능
- 권장 보드: Seeed XIAO ESP32-C3
-
로컬 개발 및 해킹 루프를 위한 스크립트 제공
-
build.sh,flash.sh,provision-dev.sh,monitor.sh등
-
설치 및 설정
-
macOS/Linux용 원라인 부트스트랩 명령 제공
-
bootstrap.sh가 저장소를 클론 후install.sh실행
-
-
보안 모드 플래시(
--flash-mode secure)로 암호화된 자격 증명 저장 가능 -
Wi-Fi 및 LLM 자격 증명은
provision.sh로 설정 - 기본 LLM 호출 제한: 시간당 100회, 하루 1000회 (컴파일 시 변경 가능)
-
테스트 스크립트(
web-relay.sh)로 장치 응답 검증 가능
라이선스 및 저장소 정보
- MIT 라이선스
- 공식 문서 사이트: zclaw.dev
Hacker News 의견들
-
혹시 내가 잘못 이해한 걸 수도 있는데, 이건 작은 LLM이 내장된 건지, 아니면 단순히 인터넷 연결이 필요한 래퍼(wrapper) 인지 궁금함
- 래퍼임. 기본적으로 OpenAI API를 사용함. 코드 링크 참고
- 대부분의 claw 프로젝트들이 이런 식의 래퍼 구조를 가짐
-
ESP32에서 claw를 돌리는 게 흥미로운 이유는 연산 성능이 아니라, 항상 켜져 있고 유지보수가 거의 필요 없는 점임
나는 리눅스 서버에서 자동화 파이프라인을 돌리는데, 가장 큰 문제는 AI 로직이 아니라 호스트 관리임. 업데이트, OOM, 재부팅 등
ESP32가 클라우드 API를 프록시하고 로컬에서 도구 오케스트레이션을 처리하면, 단순한 에이전트 루프에는 오히려 더 안정적인 배포 대상이 됨- 어떤 OS가 설치되어 있는지, 그리고 업데이트는 어떻게 되는지 궁금함
- 완전 공감함. 마이크로컨트롤러는 사실상 자기 복구형 호스트임 — 패키지 매니저도, 커널 업그레이드도, cgroup 설정도 없음. 리셋되면 항상 동일한 상태로 돌아옴. 반면 리눅스는 “정기 apt 업그레이드 후 문제 발생”이 디버깅의 일상임
- 리눅스에서도 단순하게 만들 수 있지 않음? 나는 Apache 서버 여러 대를 운영하지만, EOL 때만 손대도 잘 돌아감
- 하지만 이렇게 하면 실패 지점이 더 많아짐. 클라우드 서버, 인터넷, 무선 연결 등 어느 하나만 끊겨도 문제 생김. 나쁜 접근은 아니지만, 문제를 줄이는 건 아님
-
ESP SoC의 ADC(아날로그-디지털 변환기) 에 대해 엔지니어 관점에서 설명해줄 사람 있음?
경험자들은 까다롭다고 하지만, 잘 다루면 STM 칩 수준으로 쓸 수 있다고 들었음
ESP32는 자체 ISA를 쓰던 유일한 주요 칩 중 하나였고, 이후 RISC-V로 전환했음- ESP32의 ADC는 스펙이 매우 느슨하게 정의되어 있음. 만약 “노하우”가 정밀 보정이나 특성 측정처럼 생산 환경에서 하기 어려운 작업을 포함한다면, 그게 답일 것임
- ESP32의 이전 ISA는 Tensilica에서 인수한 IP 기반임
- ESP32의 ADC는 고정밀 오디오용이 아니라, 간단한 입력 제어용임. 포텐셔미터 연결해 물리 입력을 받는 수준. 안정적인 값을 얻으려면 여러 샘플을 평균내야 함. 느리게 변하는 전압 모니터링에는 충분히 쓸 만함
-
이런 claw의 협업 버전이 있을까? 예를 들어 가족이 함께 쓸 수 있는 self-hosted 버전 같은 것
OpenClaw에 프로필 기능이 있다고 들었는데, 개인 채팅과 공유 채팅을 동시에 지원하는지 궁금함- 나도 비슷한 걸 직접 만들어봤음. Signal 기반 self-hosted 봇으로, 그룹 채팅을 지원함
최근엔 식료품 자동화 기능을 붙였음 — 과거 주문 내역을 기반으로 초안 리스트를 만들고, 가족 구성원이 수정하면, 에이전트가 브라우저 도구로 장바구니를 생성함. 결제는 아직 수동으로 하지만 거의 완성 단계임. 이런 프로젝트는 곧 오픈소스로 나올 것 같음
- 나도 비슷한 걸 직접 만들어봤음. Signal 기반 self-hosted 봇으로, 그룹 채팅을 지원함
-
ESP32와 작은 OLED 디스플레이가 몇 개 있는데, 이걸로 지능형 다마고치를 만들어볼까 생각 중임. 다른 아이디어 있을까?
- 나도 비슷한 걸 해봤는데, 결국 상태 머신을 짜는 일로 귀결됨. LLM이 스스로 “언제 밥을 먹어야 하는지” 같은 걸 잘 못 판단함. 결국 변수와 규칙을 계속 추가하다 보면 방향을 잃게 됨
- 그거 멋짐. 혹시 0.46인치 초소형 디스플레이 버전임? 그거 여러 용도로 재밌게 쓸 수 있음
-
생각해보면 OpenClaw는 AI 에이전트 세계의 ROS(로봇 운영체제) 같음
분산 노드 간 상호작용 방식을 정의하고, 여러 기능 노드를 조합해 더 큰 시스템을 만드는 구조임- 그런데 실제로 그런 명세나 프로토콜이 존재하나? 내가 보기엔 그냥 여러 통합 기능을 얹은 플랫폼에 가까움. 일주일 정도 써보고 그렇게 느꼈음
-
단순한 사람임. ESP32만 봐도 바로 업보트 누름
-
리눅스용으로 가벼운 claw 스타일 에이전트 추천 있음? 컨테이너나 샌드박스는 필요 없음
-
오랜만에 보는 패턴임
bash <(curl foo.sh)보통은
curl foo.sh | bash를 쓰는데, 둘 다 보안상 위험함. 대신 아래 방법을 추천함
curl foo.sh | tee /tmp/foo.sh | bash bash -c "$(curl foo.sh)" curl foo.sh -o /tmp/foo.sh && bash $_나는 마지막 방식을 선호함
- “curl을 바로 bash로 파이프”하는 것보다 임시 파일에 저장 후 실행하는 게 낫다고 들었음. 하지만 결국 신뢰 문제는 동일함. 코드를 직접 읽지 않는 이상 완전한 안전은 없음
- 좀 더 안전하게 하려면
식으로 해시 검증을 추가하는 게 좋음t=$(mktemp) && [ -w $t ] && curl foo.sh -o $t && echo "$t ..." | sha256sum -c - && bash $t - 완벽을 기하려면 셸 독립적으로 작성하는 것도 방법임
-
이런 claw 프로젝트들은 사실 별거 없는 구조임. LLM에 API 호출 권한만 주면 다 되는 수준임
- 나를 놀라게 한 건 OpenClaw 열풍 속에서 기본적인 컴퓨터 개념조차 모르는 사람들이 많다는 점임. 마치 node_modules 폴더 밖을 본 적이 없는 것처럼 보임
- 나는 최근 직접 claw를 개발 중인데, “별거 없다”는 말은 마치 합판에 바퀴 네 개 붙인 걸 보고 자동차가 별거 없다고 하는 것 같음. 제대로 된 개인 비서를 만들려면 훨씬 복잡함
- 만약 모두가 24/7 개인 에이전트를 돌리게 된다면, 예상보다 훨씬 많은 컴퓨팅 자원이 필요해질 수도 있음. 물론 그게 실제로 일어날지는 미지수지만
- 프로그래밍도 마찬가지임. “그냥 키보드로 타이핑하는 거잖아”라고 말하는 수준임
- 결국, 쥐에게 쿠키를 주면 어떤 일이 벌어지는지 곧 알게 될 것임