목록으로
뉴스2026년 4월 16일 PM 09:11

오픈소스 wacli 공개… whatsmeow 기반 WhatsApp CLI로 메시지 동기화·오프라인 검색 지원

@steipete가 WhatsApp CLI 오픈소스 도구 wacli를 공개했다. 이 도구는 whatsmeow 라이브러리를 기반으로 구축됐으며, 로컬 메시지 이력 동기화와 연속 캡처(베스트 에포트), 빠른 오프라인 검색, 메시지 발신, 연락처와 그룹 관리에 초점을 맞춘다. 현재는 @dinakars777이 유지보수를 맡고 있다.

wacli는 WhatsApp Web 프로토콜을 whatsmeow를 통해 사용하는 서드파티 도구로, WhatsApp 본사와는 직접 관련이 없다. 핵심 구현은 이미 완료된 상태이며 전체 설계 노트는 docs/spec.md에서 확인할 수 있다.

메시지 검색·목록 출력에는 리액션, 답장, 미디어 유형의 표시 텍스트가 포함된다. 파일 발신 시 wacli send file --filename 옵션으로 표시 이름을 재정의할 수 있고, 인증 단계에서는 WACLI_DEVICE_LABEL과 WACLI_DEVICE_PLATFORM 환경 변수로 연동된 기기 라벨과 플랫폼을 지정할 수 있다(미설정 시 CHROME으로 기본 설정).

설치는 Homebrew(brew install steipete/tap/wacli) 방식과 go build -tags sqlite_fts5로 직접 빌드하는 방식이 모두 지원된다. 기본 저장 디렉터리는 ~/.wacli이며 --store DIR로 변경할 수 있다. 첫 실행 시 wacli auth로 QR 코드를 표시하고 초기 동기화를 수행한 후, wacli sync --follow로 비대화형 동기화 루프를 유지한다.

메시지 작업으로는 messages search로 키워드 검색, history backfill로 과거 메시지 백필, media download로 메시지 미디어 다운로드가 가능하다. 발신 명령은 send text와 send file을 지원하며 캡션 추가도 가능하다. 그룹 관리에는 groups list로 목록 조회와 groups rename으로 이름 변경이 포함된다.

히스토리 백필은 베스트 에포트 방식으로, WhatsApp이 전체 이력을 반환하지 않을 수 있다. 사용자의 기본 디바이스(휴대폰)가 온라인 상태여야 하며, 요청은 채팅(DM 또는 그룹)별로 처리된다. wacli는 해당 채팅에서 가장 오래된 로컬 저장 메시지를 앵커로 사용하며 권장 --count는 요청당 50이다.

출력은 기본적으로 사람이 읽기 쉬운 형식이지만 --json 플래그로 기계 판독 가능한 형식으로 전환할 수 있다. 이를 활용해 chats list 결과를 jq로 파싱한 뒤 모든 채팅을 순회하며 backfill을 자동화하는 셸 스크립트 예시도 README에 제시되어 있다.

프로젝트는 Vicente Reig의 whatsapp-cli에서 영감을 받았다고 명시되어 있으며, 라이선스 정보는 LICENSE 파일에서 확인할 수 있다. 명령행 환경에서 WhatsApp 데이터를 검색·관리하려는 개발자와 자동화 사용자에게 적합한 도구다.

AI인사이트 편집팀

이 기사는 AI 기술을 활용해 작성되었으며, 편집팀이 검수했습니다.

관련 기사