자체 호스팅 및 저메모리 범용 AI 기반 WhatsApp CRM 구축기 (그리고 기여자 모집 중!)
요약
기존 WhatsApp SaaS의 높은 비용과 벤더 종속성 문제를 해결하기 위해 OpenWAB를 개발했습니다. 이는 Meta Cloud API에 직접 연결되는 경량의 자체 호스팅 CRM입니다. OpenAI, Anthropic 등 다양한 LLM을 BYOK 방식으로 통합하여 범용 AI 기능을 제공하며, 낮은 사양에서도 구동되도록 설계되었습니다.
핵심 포인트
- 자체 호스팅 기반으로 구독료 및 좌석당 비용이 발생하지 않습니다.
- 초저가 인프라(약 510MB RAM)에서 실행 가능하도록 경량화되었습니다.
- OpenAI, Anthropic 등 다중 공급자의 AI 엔진을 BYOK 방식으로 통합합니다.
- SSE 스트리밍과 Human-in-the-Loop 기능을 지원하는 협업 환경입니다.
👋 DEV 커뮤니티 여러분 안녕하세요!
혹시 스타트업, 에이전시 또는 개인 프로젝트를 위해 WhatsApp CRM을 설정해 본 경험이 있으신가요?
만약 경험이 있다면, 현재의 WhatsApp SaaS 생태계가 가진 암울한 현실에 부딪혔을 가능성이 높습니다:
- 💸 터무니없는 좌석 기반 가격 책정: 팀원 몇 명이 하나의 전화번호를 공유하는 것만으로도 에이전트당 월 $50에서 $150까지 지불해야 합니다.
- 🔒 공격적인 벤더 종속성 (Vendor Lock-In): 고객 대화 내용, 연락처, 사용자 지정 필드가 폐쇄적이고 독점적인 데이터베이스 안에 갇히게 됩니다.
- 🤖 제한된 AI 게이팅: 토큰에 대한 과도한 마크업과 자체 LLM을 선택할 수 없는 경직된 챗봇들입니다.
- 🏋️ 부풀려진 자체 호스팅 대안: 기본적인 웹훅 핸들러를 구동하기 위해서만 부피가 큰 2GB 이상의 RAM이 필요한 멀티 컨테이너 스택을 요구합니다.
저는 이러한 인위적인 장벽들에 지쳤습니다. 그래서 저는 OpenWAB — 즉, 범용 다중 공급자 AI 엔진(Universal Multi-Provider AI Engine)으로 구동되는 경량의 100% 자체 호스팅 가능한 WhatsApp CRM —을 구축하기로 결정했습니다.
가장 좋은 점은 무엇일까요? 소프트웨어 구독료 제로. 좌석당 가격 책정 없음. 중개자 없음. Meta에 직접 원시 API 비용만 지불하면 됩니다.
저는 OpenWAB를 최고의 오픈 소스 프로젝트로 출시할 준비를 하고 있으며, WhatsApp 자동화의 미래를 함께 만들어갈 열정적인 개발자, UI/UX 디자이너, 그리고 오픈 소스 기여자를 찾고 있습니다! 🤝
⚡ OpenWAB란 무엇인가?
OpenWAB는 처음부터 초저가 인프라(표준 월 $5 VPS에서 ~510 MB의 활성 RAM 예산 내에서 실행되도록 엄격하게 설계됨)에서 구동되도록 설계된, 프로덕션 등급의 자체 호스팅 WhatsApp CRM입니다.
이 시스템은 비공식적인 웹 스크래퍼, QR 코드 해킹, 위험성이 높은 리버스 엔지니어링된 프로토콜을 피하고 공식 Meta WhatsApp Cloud API에 직접 연결됩니다.
+----------------------------------------------------------------------------+
| OpenWAB Flow |
+----------------------------------------------------------------------------+
...
🔥 오늘날 구축되어 실행 중인 기능들
내부적으로 이미 구축되고 테스트되어 작동하는 기능들입니다:
1. 💬 실시간 공유 에이전트 인박스
- 다중 에이전트 협업 (Multi-Agent Collaboration): 전체 지원 또는 영업팀이 단일 공식 WhatsApp Business 번호에서 함께 작업할 수 있습니다.
- Server-Sent Events (SSE) 스트리밍: 메모리 내 Pub/Sub 브로커를 활용한 초경량, 폴링(polling) 없는 실시간 업데이트 — 무거운 WebSocket 서버가 필요하지 않습니다.
- Human-in-the-Loop 인계: 즉시 토글을 통해 에이전트가 AI 자동 응답을 현장에서 일시 중지하고 지연 시간 없이 수동 고객 대화로 재개할 수 있습니다.
- 스레드형 인용 답장 (Threaded Quoted Replies): 특정 고객 메시지를 원본 인용하여 아웃바운드 메시지를 보낼 수 있습니다.
2. 🧠 범용 다중 공급자 AI 엔진 (BYOK)
- Bring Your Own Key (BYOK): OpenAI, Anthropic Claude, Google Gemini, Groq, OpenRouter, Mistral, Ollama, DeepSeek 등 자체 API 키를 연결할 수 있습니다.
- 추론 토큰 제거 (Reasoning Token Suppression): 내부 Chain-of-Thought (
<think>...</think>) 추론 토큰을 제거하여 고객이 지저분한 내부 모델 사고 과정을 볼 일이 없도록 합니다. - 슬라이딩 윈도우 버스트 디바운싱 (Sliding-Window Burst Debouncing): 고객이 3~4개의 빠른 메시지("Hi", "I have a question", "Are you available?")를 보낼 경우, OpenWAB는 4초 동안 일시 정지하고, 이를 하나의 컨텍스트 페이로드로 결합한 후, 사려 깊은 단일 답변을 생성합니다.
- 동적 장애 조치 (Dynamic Failover): 기본 모델이 속도 제한(rate limits)에 도달하거나 서비스 장애가 발생하면, 구성된 보조 모델로 원활하게 전환됩니다.
3. 🛡️ 군사용급 보안 및 볼트 아키텍처
- 하드웨어 등급 AES-256-GCM 볼트: Meta 액세스 토큰, 앱 시크릿, AI 공급자 키는 인증된 암호화(authenticated encryption)를 사용하여 저장 상태에서 암호화됩니다.
- 웹훅 HMAC-SHA256 검증: 웹훅 HMAC-SHA256 검증은 사전 역직렬화 단계에서 DoS 및 메모리 고갈 공격을 방어합니다.
- 클라이언트 누출 제로 (Zero Client Leaks): 암호화된 시크릿은 브라우저 번들(browser bundle)이나 클라이언트 측 원격 측정(client-side telemetry)에 절대 노출되지 않습니다.
4. ⚙️ 견고한 WhatsApp Cloud API 엔지니어링
- 단조로운 메시지 상태 계층(Monotonic Message Status Ladder): 순서가 맞지 않는 웹훅 전송(
delivered보다 먼저 도착하는read)으로 인해 메시지 체크 표시가 뒤로 돌아가는 것을 방지합니다. - 24시간 메시징 창 가드(24-Hour Messaging Window Guard): Meta의 24시간 고객 지원 기간이 경과했을 때 에이전트에게 경고하여 사전 승인된 템플릿 메시지를 사용하도록 유도합니다.
- 비동기 미디어 미러링(Asynchronous Media Mirroring): 수신된 사진, 음성 메모, 문서 및 동영상은 Meta의 단명하는 CDN URL이 만료되기 전에 암호화된 스토리지로 자동으로 다운로드됩니다.
- 인터랙티브 메시지(Interactive Messages): WhatsApp 답장 버튼(1~3개 버튼) 및 인터랙티브 목록 메뉴를 위한 내장 검증기입니다.
5. 🗃️ 경량 데이터 계층(Lightweight Data Layer)
- Drizzle ORM + PostgreSQL: 무거운 ORM과 비교하여 최소한의 메모리 오버헤드로 매우 빠르고 타입 안전한 쿼리를 제공합니다.
- Better-Auth: 역할 기반 접근 제어(role-based access)가 적용된 보안 세션 기반 인증입니다.
- BullMQ & Redis: 분산 백그라운드 워커(distributed background workers)(
message,ai,media,broadcast,outbound)를 통해 트래픽 급증 시 웹훅 손실이 0임을 보장합니다.
🛠️ 기술 스택(The Tech Stack)
저희는 의도적으로 현대적이고 개발자 친화적이며 경량의 스택을 선택했습니다:
| 계층 | 기술 |
|---|---|
| 프레임워크 | Next.js 16 (App Router + Turbopack Standalone) |
| ... |
🗺️ 다음으로 구축할 기능(로드맵, Roadmap)
바로 여기서 당신이 필요합니다! 저희의 다가오는 개발 로드맵에 있는 주요 기능들은 다음과 같습니다:
- 🤖 모델 컨텍스트 프로토콜(Model Context Protocol, MCP) 서버: 외부 AI 에이전트(예: Claude Desktop, Cursor, Antigravity)가 표준 MCP 도구를 통해 연락처를 조회하고 메시지를 트리거할 수 있도록 합니다.
- 📊 칸반 영업 거래 파이프라인(Kanban Sales Deals Pipeline): WhatsApp 채팅 스레드에 직접 연결되는 드래그 앤 드롭 방식의 영업 파이프라인 단계를 제공합니다.
- 🏢 다중 WABA 및 다중 전화기 지원(Multi-WABA & Multi-Phone Support): 여러 내부 작업 공간에 걸쳐 여러 WhatsApp 전화번호를 라우팅할 수 있습니다.
- 🔑 범위 지정 공개 REST API (
/api/v1): 외부 웹훅, Zapier, n8n 통합을 위한 세분화된 권한이 있는 보안 API 키를 제공합니다. - 🦾 그리고 훨씬 더 많은 기능.
💡 기여해야 하는 이유?
OpenWAB에 기여함으로써 얻을 수 있는 것:
- 현대 기술 사용 경험: 프로덕션 환경의 Next.js 16, BullMQ 동시성(concurrency), Drizzle ORM, 고성능 AI 스트리밍 처리 등 최신 기술과 함께 작업할 수 있습니다.
- 실제 분산 시스템 문제 해결 경험: 웹훅 중복 제거(Webhook deduplication), HMAC 암호화(HMAC cryptography), 슬라이딩 윈도우 디바운싱(sliding-window debouncing), 단조 상태 기계(monotonic state machines) 등 실제 분산 환경의 문제를 해결할 수 있습니다.
- 오픈 소스 대안 구축 참여: 값비싼 SaaS WhatsApp 플랫폼의 독점을 깨고 전 세계 인디 해커(indie hackers), 소규모 비즈니스, 에이전시가 힘을 얻도록 돕는 오픈 소스 대안을 만드는 데 기여할 수 있습니다.
🙋 어떻게 참여할 수 있나요?
프론트엔드 전문가, 백엔드 전문 개발자, DevOps 애호가, 기술 작가 등 어떤 분야에 계시든 여러분의 도움이 필요합니다!
다음 분야에서 기여자를 찾고 있습니다:
- 프론트엔드/UI: 메시지 작성기(message composer), 채팅 버블, 오디오 플레이어 파형, 반응형 모바일 뷰 개선.
- 자동화(Automations): 시각적 자동화를 위한 React Flow 캔버스 구축.
- DevOps: Docker Compose, Coolify, Railway, Dokploy를 위한 원클릭 배포 템플릿 생성.
- 통합(Integrations): Shopify, WooCommerce, Supabase 및 웹훅용 커넥터 추가.
💬 댓글에서 논의해 봅시다!
- 기존 WhatsApp CRM에서 가장 아쉬운 기능은 무엇인가요?
- 자동화된 고객 응답에 어떤 AI 모델을 사용하시겠어요?
- 다가오는 오픈 소스 릴리스에 기여하는 것에 관심이 있으신가요?
아래에 댓글을 남기거나 피드백을 주시거나 추가되었으면 하는 기능을 공유해 주세요. 함께 놀라운 것을 만들어 봅시다! 🚀🔥
참고: 제가 게으른 개발자라서 이 프로젝트 전체를 '바이브 코딩(vibe coded)'했지만, 모든 트윅과 수정 사항에 대해 코드를 검토했습니다. 놀랍게도 AI가 더 효율적이고 최적으로 코드를 작성했습니다. 따라서 향후 개발을 위해서는 이 플랫폼을 더욱 효과적으로 만들기 위한 다른 개발자들의 지원과 기여가 필요합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기