7P by GN⁺ 1일전 | ★ favorite | 댓글 1개
  • 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 봇으로, 그룹 채팅을 지원함
      최근엔 식료품 자동화 기능을 붙였음 — 과거 주문 내역을 기반으로 초안 리스트를 만들고, 가족 구성원이 수정하면, 에이전트가 브라우저 도구로 장바구니를 생성함. 결제는 아직 수동으로 하지만 거의 완성 단계임. 이런 프로젝트는 곧 오픈소스로 나올 것 같음
  • ESP32와 작은 OLED 디스플레이가 몇 개 있는데, 이걸로 지능형 다마고치를 만들어볼까 생각 중임. 다른 아이디어 있을까?

    • 나도 비슷한 걸 해봤는데, 결국 상태 머신을 짜는 일로 귀결됨. LLM이 스스로 “언제 밥을 먹어야 하는지” 같은 걸 잘 못 판단함. 결국 변수와 규칙을 계속 추가하다 보면 방향을 잃게 됨
    • 그거 멋짐. 혹시 0.46인치 초소형 디스플레이 버전임? 그거 여러 용도로 재밌게 쓸 수 있음
  • 생각해보면 OpenClaw는 AI 에이전트 세계의 ROS(로봇 운영체제) 같음
    분산 노드 간 상호작용 방식을 정의하고, 여러 기능 노드를 조합해 더 큰 시스템을 만드는 구조임

    • 그런데 실제로 그런 명세나 프로토콜이 존재하나? 내가 보기엔 그냥 여러 통합 기능을 얹은 플랫폼에 가까움. 일주일 정도 써보고 그렇게 느꼈음
  • 단순한 사람임. ESP32만 봐도 바로 업보트 누름

  • 리눅스용으로 가벼운 claw 스타일 에이전트 추천 있음? 컨테이너나 샌드박스는 필요 없음

    • 나는 picoclaw를 사용 중임
    • 단순히 WhatsApp과 웹챗만 원한다면, piclaw를 기반으로 내 웹 프론트엔드를 붙여서 쓰고 있음. Tailscale로 접근 가능한 웹앱 형태임
    • zeroclaw도 고려해볼 만함
  • 오랜만에 보는 패턴임

    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 개인 에이전트를 돌리게 된다면, 예상보다 훨씬 많은 컴퓨팅 자원이 필요해질 수도 있음. 물론 그게 실제로 일어날지는 미지수지만
    • 프로그래밍도 마찬가지임. “그냥 키보드로 타이핑하는 거잖아”라고 말하는 수준임
    • 결국, 쥐에게 쿠키를 주면 어떤 일이 벌어지는지 곧 알게 될 것임