# zclaw - ESP32에서 888KB로 구동되는 개인용 AI 비서

> Clean Markdown view of GeekNews topic #26902. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=26902](https://news.hada.io/topic?id=26902)
- GeekNews Markdown: [https://news.hada.io/topic/26902.md](https://news.hada.io/topic/26902.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-02-23T05:35:22+09:00
- Updated: 2026-02-23T05:35:22+09:00
- Original source: [github.com/tnm](https://github.com/tnm/zclaw)
- Points: 10
- Comments: 1

## Topic Body

- **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](https://zclaw.dev)

## Comments



### Comment 51595

- Author: neo
- Created: 2026-02-23T05:35:23+09:00
- Points: 2

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47100232) 
- 혹시 내가 잘못 이해한 걸 수도 있는데, 이건 작은 **LLM**이 내장된 건지, 아니면 단순히 인터넷 연결이 필요한 **래퍼(wrapper)** 인지 궁금함  
  - 래퍼임. 기본적으로 **OpenAI API**를 사용함. [코드 링크](https://github.com/tnm/zclaw/blob/9ed4dc66ffa611f90f0745d90b3ebc396ffd382c/main/llm.c#L423) 참고  
  - 대부분의 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 봇**으로, 그룹 채팅을 지원함  
    최근엔 **식료품 자동화** 기능을 붙였음 — 과거 주문 내역을 기반으로 초안 리스트를 만들고, 가족 구성원이 수정하면, 에이전트가 브라우저 도구로 장바구니를 생성함. 결제는 아직 수동으로 하지만 거의 완성 단계임. 이런 프로젝트는 곧 오픈소스로 나올 것 같음  

- ESP32와 작은 OLED 디스플레이가 몇 개 있는데, 이걸로 **지능형 다마고치**를 만들어볼까 생각 중임. 다른 아이디어 있을까?  
  - 나도 비슷한 걸 해봤는데, 결국 **상태 머신**을 짜는 일로 귀결됨. LLM이 스스로 “언제 밥을 먹어야 하는지” 같은 걸 잘 못 판단함. 결국 변수와 규칙을 계속 추가하다 보면 방향을 잃게 됨  
  - 그거 멋짐. 혹시 **0.46인치 초소형 디스플레이** 버전임? 그거 여러 용도로 재밌게 쓸 수 있음  

- 생각해보면 **OpenClaw**는 AI 에이전트 세계의 **ROS(로봇 운영체제)** 같음  
  분산 노드 간 상호작용 방식을 정의하고, 여러 기능 노드를 조합해 더 큰 시스템을 만드는 구조임  
  - 그런데 실제로 그런 **명세나 프로토콜**이 존재하나? 내가 보기엔 그냥 여러 통합 기능을 얹은 플랫폼에 가까움. 일주일 정도 써보고 그렇게 느꼈음  

- 단순한 사람임. **ESP32**만 봐도 바로 업보트 누름  

- 리눅스용으로 가벼운 **claw 스타일 에이전트** 추천 있음? 컨테이너나 샌드박스는 필요 없음  
  - 나는 [picoclaw](https://github.com/sipeed/picoclaw)를 사용 중임  
  - 단순히 **WhatsApp**과 웹챗만 원한다면, [piclaw](https://github.com/rcarmo/piclaw)를 기반으로 내 웹 프론트엔드를 붙여서 쓰고 있음. **Tailscale**로 접근 가능한 웹앱 형태임  
  - **zeroclaw**도 고려해볼 만함  

- 오랜만에 보는 패턴임  
  ```bash
  bash <(curl foo.sh)
  ```  
  보통은  
  ```bash
  curl foo.sh | bash
  ```  
  를 쓰는데, 둘 다 **보안상 위험**함. 대신 아래 방법을 추천함  
  ```bash
  curl foo.sh | tee /tmp/foo.sh | bash
  bash -c "$(curl foo.sh)"
  curl foo.sh -o /tmp/foo.sh && bash $_
  ```  
  나는 마지막 방식을 선호함  
  - “curl을 바로 bash로 파이프”하는 것보다 임시 파일에 저장 후 실행하는 게 낫다고 들었음. 하지만 결국 **신뢰 문제**는 동일함. 코드를 직접 읽지 않는 이상 완전한 안전은 없음  
  - 좀 더 안전하게 하려면  
    ```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 개인 에이전트를 돌리게 된다면, 예상보다 훨씬 많은 **컴퓨팅 자원**이 필요해질 수도 있음. 물론 그게 실제로 일어날지는 미지수지만  
  - 프로그래밍도 마찬가지임. “그냥 키보드로 타이핑하는 거잖아”라고 말하는 수준임  
  - 결국, **쥐에게 쿠키를 주면 어떤 일이 벌어지는지** 곧 알게 될 것임
