GitHub Trending오픈소스 · 도구오늘의 주요

rmyndharis/OpenWA

WhatsApp 비공식 API 게이트웨이 오픈소스로 공개

원제 rmyndharis/OpenWA

스타 16,088당일 +155TypeScript
Key Point

WhatsApp 공식 API의 비용과 제약을 피하되 계정 제한 위험을 관리하며 자체 메시징 인프라를 구축하려는 개발자에게, 세션/채팅 단위 권한 제한으로 공유 계정 운영이 가능한 점이 중요하다.

핵심 요약

  • OpenWA는 TypeScript 기반의 무료 오픈소스 WhatsApp API 게이트웨이로, 개발자가 메시징 인프라를 완전히 제어할 수 있도록 설계됐다.
  • 플러그인 아키텍처를 통해 데이터베이스(SQLite/PostgreSQL), 저장소(로컬/S3), 캐시(Redis) 등을 설정으로 자유롭게 선택할 수 있다.
  • REST API, 웹훅, 웹 대시보드, API 키 인증, 다중 세션 관리, 그룹 관리, 채널 지원, 감사 로깅 등의 기능을 제공한다.
  • 세션 범위와 채팅 범위로 API 키 권한을 제한할 수 있어, 공유 계정에서 특정 에이전트가 자신에게 할당된 그룹/연락처만 접근하도록 할 수 있다.
  • whatsapp-web.js와 Baileys 두 역엔지니어링 클라이언트를 지원하며, 전자는 계정 제한 위험이 낮고 메모리 사용이 높고(세션당 300~500MB), 후자는 위험이 높지만 경량(세션당 30~80MB)이다.
  • WhatsApp 비공식 게이트웨이이므로 계정 제한이나 차단의 위험이 항상 존재하며, 개발사는 규제 환경(금융, 의료, EU 내 대규모 상용)에서는 공식 Cloud API 사용을 권장한다.
  • 새 번호 사용 초기에 정상 사용자처럼 행동하기, 대량 첫 메시지 발송 피하기, SEND_PACING_ENABLED로 일일 한도 설정, 기존 대화자에게만 메시지 전송 등의 안전 가이드라인을 제시한다.
  • Docker 기반 배포를 권장하며, 개발용 docker-compose.dev.yml은 SQLite와 로컬 저장소를 사용하고, 프로덕션 docker-compose.yml은 PostgreSQL, Redis, MinIO 같은 선택적 서비스 프로필을 지원한다.
  • Docker 소켓 프록시를 통해 애플리케이션 컨테이너가 Docker 데몬에 직접 접근하지 않으며, 루트가 아닌 openwa 사용자로 실행되어 보안을 강화했다.
  • AI 에이전트(Claude, Cursor 등)를 위해 Model Context Protocol(MCP) 서버를 지원하며, 기본적으로 읽기 전용 25개 도구를 마운트하고 MCP_READONLY=false로 쓰기 포함 51개 도구를 활성화할 수 있다.
  • MCP를 사용할 때는 비관리자, 세션 범위 제한 API 키로 전용 키를 생성하고 에이전트에 할당하는 최소 권한 원칙을 따를 것을 권장한다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗