iMessage 기반 개인 에이전트 템플릿, Claude/Codex 런타임과 Composio 통합
iMessage를 인터페이스로 사용하고 Sendblue, Composio, Convex를 연계하여 서브에이전트·메모리·자동화·디버깅 대시보드를 제공하는 개인 에이전트 템플릿이다.
TL;DR
Boop은 iMessage를 프론트엔드로 삼아 Claude Code 또는 Codex 런타임을 로컬 세션으로 재사용하고 Sendblue를 통해 메시지를 송수신하며 Convex에 메모리와 로그를 저장하는 개인 에이전트 템플릿이다. 핵심 구조는 간단한 디스패처가 요청을 판별하고 필요한 통합만 로드하는 실행 에이전트를 스폰하는 방식이며 Composio를 통해 수백 개 툴킷을 계정 별로 안전하게 연결할 수 있다. 디버그 대시보드와 자동 웹후크 등록, 메모리의 일간 정리 파이프라인이 포함되어 빠른 로컬 프로토타이핑과 운영이 가능하지만 README가 명시하듯 비용·보안 최적화는 별도 검토가 필요하다.
주요 기능
- iMessage 입·출력을 Sendblue 웹후크와 연동하여 처리하며 서명된 인바운드 요청과 타이핑 인디케이터, 웹후크 중복 방지 기능을 포함한다. Sendblue CLI 통합으로 로컬 개발 시 ngrok와 연동된 웹후크를 자동으로 등록하거나 갱신할 수 있다. 이로 인해 개발자가 매번 대시보드에 URL을 붙여넣을 필요 없이 로컬에서 대화를 주고받을 수 있다.
- 디스패처(Interaction agent)와 포커스된 실행 에이전트(Execution agent)를 분리한 패턴을 사용하여 각 요청을 가볍게 라우팅하고 필요한 통합만 스폰하여 작업을 수행한다. 디스패처는 메모리·스폰·자동화·드래프트 툴만 보유하고 실제 웹 접근이나 통합 호출은 스폰된 서브에이전트가 담당한다. 이 구조는 권한을 최소화하고 작업별 컨텍스트를 좁혀 예측 가능한 실행을 보장한다.
- Convex를 영속성·실시간 스트리밍 레이어로 사용하여 메시지, 실행 에이전트 로그, 메모리 이벤트, 사용량 레코드를 저장하고 디버그 대시보드와 실시간으로 동기화한다. 메모리는 단기·중기·영구 계층으로 구분되며 포스트턴 추출과 감쇠 및 정리(cleaning) 프로세스가 포함된다. 또한 벡터 검색을 위해 로컬 BGE-large fallback 또는 외부 임베딩 제공자를 선택할 수 있다.
- Composio 통합을 통해 단일 API 키로 수백 개 툴킷을 연결하고 각 스폰 호출 시 해당 툴킷만 세션으로 불러와 실행 에이전트에 노출한다. 서버는 사용자 OAuth 토큰을 저장하지 않고 Composio 프록시로 도구 호출을 전달하므로 토큰 유출 위험을 줄인다. 다계정 지원과 연결별 별칭 기능으로 복수 계정 관리를 간편하게 한다.
어떻게 동작하는가
Boop는 iMessage → Sendblue 웹후크를 통해 들어온 메시지를 Interaction agent가 수신하고, 최근 히스토리와 메모리를 참조한 뒤 직접 응답할지 또는 spawn_agent로 실행 에이전트를 생성할지 결정한다. 실행 에이전트는 spawn 호출로 전달된 통합 목록만 열어 해당 통합에 접근하여 작업을 수행하고 결과를 Convex에 기록한 뒤 사용자에게 드래프트 형태로 돌려준다. Composio는 통합 툴킷을 호스팅하고 툴 호출을 프록시하여 Boop 서버가 OAuth 토큰을 보유하지 않도록 하며 디버그 대시보드는 Convex의 실시간 데이터를 시각화한다.
해결 문제
개인용 iMessage 인터페이스로 자연어 기반의 작업 자동화를 수행하려는 목적을 해결한다. 복잡한 OAuth 통합을 중앙 집중형으로 처리하는 대신 Composio를 통해 수백 개의 툴킷을 단일키로 연결하고 실행 시 범위를 좁힌다. 또한 로컬 개발 환경에서 ngrok 자동 등록, 디버그 대시보드, 메모리 계층과 일일 정리 파이프라인을 제공하여 개인 에이전트 운영의 반복 작업과 상태 추적 부담을 줄였다.
지금 주목받는 이유
저자가 개인적으로 사용하던 아키텍처를 템플릿으로 공개하여 iMessage 기반 개인 에이전트를 빠르게 구성할 수 있다는 점에서 주목을 받았다. 레포는 완성된 디버그 대시보드, 다중 런타임 지원(Claude Code 또는 Codex), 그리고 Composio를 통한 광범위한 통합 지원이라는 실용적 조합을 제공한다. 공개 저장소로서 스타와 포크가 누적된 점도 관심 확산에 기여했다.
차별점
- 런타임 선택에서 Claude Code 구독 또는 Codex/ChatGPT 구독의 로컬 세션 인증을 활용하여 별도의 Anthropic/OpenAI API 키 없이 에이전트를 실행할 수 있다. 이 접근은 사용자가 자신의 구독 자격 증명을 로컬에서 재사용하도록 설계되어 별도 API 키 관리를 줄인다. 결과적으로 개인 단위의 운영에서 간편한 인증 경로를 제공한다.
- Sendblue CLI와 ngrok 자동 동기화를 통해 퍼블릭 터널 URL이 바뀔 때마다 인바운드 웹후크를 자동으로 등록하고 서명 비밀을 동기화한다. 이 자동 등록 기능은 무료 ngrok의 가변 URL 환경에 맞춰 개발자의 반복적인 대시보드 설정 작업을 제거한다. 수동으로 구성하려는 경우 관련 npm 스크립트로 확인·동기화 작업을 수행할 수 있다.
- 메모리 정리 작업을 3단계 적대적 파이프라인(제안자 → 적수 → 판정자)으로 설계하여 중복 병합, 모순 해결, 잡음 제거를 자동화한다. 이 파이프라인은 매일 기본 스케줄로 실행되며 수동으로도 트리거할 수 있어 장기 메모리 유지 관리 부담을 줄인다. 구현상 각 단계는 구성된 런타임과 모델 기본값을 사용하도록 설계되었다.
사용 사례
- 일상적인 알림과 요약을 iMessage를 통해 자동으로 푸시하도록 설정할 때 유용하다. 사용자는 자연어로 "매일 아침 일정 요약해줘" 같은 문장을 보내면 Automations가 정기 작업을 스폰하고 결과를 다시 iMessage로 전송한다. 이 흐름은 캘린더 요약, 긴급 업데이트, 반복 작업의 자동화에 적합하다.
- 이메일·티켓·메시지 인박스를 정기적으로 스캔해 Notion 같은 추적기나 드래프트로 저장하는 고객 지원 동기화 파이프라인을 구성할 때 적용될 수 있다. README에 나온 Support Email Sync 예시는 인박스 스캔 후 Notion Support Email Tracker로 새로운 지원 메일을 추가하는 자동화 루틴을 보여준다. 통합은 Composio를 통해 연결된 툴킷으로 처리되어 별도 토큰 관리를 요구하지 않는다.
- 로컬에서 로그인 필요하거나 시각적 워크플로를 요구하는 서비스에 대해 에이전트가 브라우저를 사용해 작업을 수행해야 할 때 Local browser use를 활성화하여 Persistent Chrome 프로필을 통해 자동화를 진행할 수 있다. 이 기능은 일반 API 호출로는 접근이 어려운 포털의 자동 로그인이나 MFA 연계 시나리오에서 유용하다. 브라우저 제어 경로는 로컬로 제한되어 퍼블릭 터널을 통해 원격으로 브라우저를 제어할 수 없다.
시작하기
레포를 클론한 뒤 npm install로 의존성을 설치하고, 사용하려는 런타임에 따라 `npm install -g @anthropic-ai/claude-code` 또는 `npm install -g @openai/codex` 를 한 번만 수행하여 세션 로그인을 진행한다. 그 후 `npm run setup`을 실행하면 .env.local 설정, Convex 배포 파일 생성, Sendblue 구성 등의 인터랙티브 설정이 이루어지고 마지막으로 `npm run dev`로 서버·Convex·디버그 UI·ngrok를 동시에 실행하여 즉시 로컬에서 iMessage로 텍스트를 주고받을 수 있다. 데스크톱 앱을 사용하려면 `npm run desktop:setup`으로 앱 런타임을 준비하고 `npm run desktop:dev`로 실험적 실행이 가능하다.
요구사항
- Claude Code 혹은 Codex/ChatGPT 구독 계정이 필요하며 해당 런타임의 CLI를 로컬에 설치하고 한 번 로그인해야 한다. Sendblue 계정과 프로비저닝된 전화번호가 필요하며 Sendblue CLI를 이용해 API 키와 웹후크를 관리한다. Convex 계정은 실시간 데이터·스키마 관리에 사용되며 로컬 개발의 경우 무료 티어로 동작 가능하고 ngrok 또는 동등한 터널 툴이 필요하다.
이미지 분석



1k
Stars
239
Forks
+212
Trending
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.