OpenClaw BlueBubbles 채널
BlueBubbles REST API를 통해 OpenClaw를 iMessage에 연결합니다. 이 통합은 Mac을 iMessage 게이트웨이로 전환합니다 — BlueBubbles 서버 앱을 설치하고 Web API를 활성화하면 AI 어시스턴트가 iMessage 메시지, tapback 리액션 및 미디어 첨부 파일을 주고받을 수 있습니다. BlueBubbles는 레거시 imsg CLI를 대체하는 권장 iMessage 채널입니다.
BlueBubbles 지원 기능
텍스트 메시지
지원
미디어 및 파일
지원
리액션
지원
스레드
미지원
음성 메시지
미지원
그룹 채팅
지원
BlueBubbles 사전 요구사항
- macOS High Sierra (10.13) 이상을 실행하는 Mac (전체 기능을 위해 Ventura 13+ 권장; Tahoe 26은 일부 제한 있음)
- BlueBubbles 서버 앱 설치됨 (bluebubbles.app에서 다운로드)
- BlueBubbles 설정에서 Web API 활성화 및 비밀번호 설정 완료
- OpenClaw Gateway 실행 및 구성 완료
BlueBubbles 빠른 설정
Mac에 BlueBubbles 서버 설치
bluebubbles.app/install에서 BlueBubbles 서버 앱을 다운로드하여 설치합니다. 앱을 실행하고 Apple ID로 로그인한 후 초기 설정을 완료합니다. Mac에서 iMessage가 정상적으로 작동하는지 확인하세요.
Web API 활성화
BlueBubbles 서버 설정에서 Web/REST API를 활성화하고 강력한 비밀번호를 설정합니다. 서버 URL(예: http://localhost:1234)을 기록해 두세요 — OpenClaw 설정에서 사용합니다.
BlueBubbles 채널 구성 추가
'openclaw onboard'를 실행하고 BlueBubbles를 선택하거나, ~/.openclaw/openclaw.json에 serverUrl과 password를 수동으로 추가합니다. 필요에 따라 webhookPath도 설정할 수 있습니다.
Webhook 설정 및 테스트
BlueBubbles Webhook을 Gateway로 지정합니다: https://your-gateway-host:3000/bluebubbles-webhook?password=<password>. Gateway를 시작하고 테스트 iMessage를 보내 연결을 확인합니다. pairing 정책을 사용하는 경우 'openclaw pairing approve bluebubbles <code>'로 발신자를 승인합니다.
BlueBubbles 구성 예시
{
"channels": {
"bluebubbles": {
"enabled": true,
"serverUrl": "http://localhost:1234",
"password": "YOUR_BLUEBUBBLES_PASSWORD",
"webhookPath": "/bluebubbles-webhook",
"dmPolicy": "pairing"
}
}
}BlueBubbles 상세 문서
아키텍처 개요
BlueBubbles 서버 설정
# Gateway용 Webhook URL 형식
https://your-gateway-host:3000/bluebubbles-webhook?password=YOUR_PASSWORDDM 정책
{
"channels": {
"bluebubbles": {
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567", "user@example.com"]
}
}
}그룹 채팅 관리
{
"channels": {
"bluebubbles": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["+15551234567"],
"groups": {
"iMessage;+;chat123456": {
"requireMention": false
}
}
}
}
}iMessage 액션 및 효과
{
"channels": {
"bluebubbles": {
"actions": {
"reactions": true,
"edit": true,
"unsend": true,
"reply": true,
"sendWithEffect": true,
"sendAttachment": true
}
}
}
}메시지 전달 및 청킹
{
"channels": {
"bluebubbles": {
"textChunkLimit": 4000,
"chunkMode": "newline",
"blockStreaming": false,
"sendReadReceipts": true
}
}
}미디어 및 첨부 파일
메시지 ID 처리
주소 지정 및 라우팅
보안 및 Webhook 인증
Messages.app 킵얼라이브 (헤드리스/VM)
BlueBubbles 구성 참조
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | false | BlueBubbles 채널 활성화/비활성화 |
| serverUrl | string | "" | BlueBubbles REST API 기본 URL (예: http://localhost:1234) |
| password | string | "" | 인증용 BlueBubbles API 비밀번호 |
| webhookPath | string | "/bluebubbles-webhook" | 수신 메시지용 Webhook 엔드포인트 경로 |
| dmPolicy | string | "pairing" | 봇에 DM할 수 있는 사용자 제어. 옵션: pairing, allowlist, open, disabled |
| allowFrom | string[] | [] | 메시지 전송이 허용된 전화번호 및 이메일 (전화번호는 E.164 형식) |
| groupPolicy | string | "allowlist" | 그룹 채팅 정책. 옵션: open, allowlist, disabled |
| groupAllowFrom | string[] | [] | 그룹 채팅에서 봇을 트리거할 권한이 있는 발신자 주소 |
| sendReadReceipts | boolean | true | 메시지 처리 시 읽음 확인 전송 |
| blockStreaming | boolean | false | 완전한 응답 대기 대신 블록 기반 응답 스트리밍 활성화 |
| textChunkLimit | number | 4000 | 발신 텍스트 메시지 청크당 최대 문자 수 |
| chunkMode | string | "length" | 텍스트 분할 모드. 옵션: length (크기 기반), newline (단락 기반) |
| mediaMaxMb | number | 8 | 수신 첨부 파일의 최대 파일 크기 (MB) |
| historyLimit | number | - | AI 컨텍스트로 포함할 최대 그룹 메시지 수 (0은 비활성화) |
| dmHistoryLimit | number | - | AI 컨텍스트의 DM 대화 기록 제한 |
| actions.reactions | boolean | true | tapback 리액션 활성화 (Private API 필요) |
| actions.edit | boolean | true | 메시지 편집 활성화 (macOS 13+ 필요; Tahoe에서 사용 불가) |
| actions.unsend | boolean | true | 메시지 취소 활성화 (macOS 13+ 필요) |
| actions.reply | boolean | true | GUID를 통한 메시지 스레딩 활성화 |
| actions.sendWithEffect | boolean | true | iMessage 버블 효과 활성화 (슬램, 라우드, 젠틀 등) |
| actions.sendAttachment | boolean | true | 미디어 및 음성 메모 전달 활성화 |
BlueBubbles 채널 활성화/비활성화
BlueBubbles REST API 기본 URL (예: http://localhost:1234)
인증용 BlueBubbles API 비밀번호
수신 메시지용 Webhook 엔드포인트 경로
봇에 DM할 수 있는 사용자 제어. 옵션: pairing, allowlist, open, disabled
메시지 전송이 허용된 전화번호 및 이메일 (전화번호는 E.164 형식)
그룹 채팅 정책. 옵션: open, allowlist, disabled
그룹 채팅에서 봇을 트리거할 권한이 있는 발신자 주소
메시지 처리 시 읽음 확인 전송
완전한 응답 대기 대신 블록 기반 응답 스트리밍 활성화
발신 텍스트 메시지 청크당 최대 문자 수
텍스트 분할 모드. 옵션: length (크기 기반), newline (단락 기반)
수신 첨부 파일의 최대 파일 크기 (MB)
AI 컨텍스트로 포함할 최대 그룹 메시지 수 (0은 비활성화)
AI 컨텍스트의 DM 대화 기록 제한
tapback 리액션 활성화 (Private API 필요)
메시지 편집 활성화 (macOS 13+ 필요; Tahoe에서 사용 불가)
메시지 취소 활성화 (macOS 13+ 필요)
GUID를 통한 메시지 스레딩 활성화
iMessage 버블 효과 활성화 (슬램, 라우드, 젠틀 등)
미디어 및 음성 메모 전달 활성화
BlueBubbles 자주 묻는 질문
BlueBubbles 문제 해결
BlueBubbles의 Webhook URL이 Gateway 엔드포인트와 일치하지 않거나 비밀번호 매개변수가 올바르지 않음.
BlueBubbles Private API가 활성화되지 않았거나 서버 버전이 필요한 API 엔드포인트를 지원하지 않음.
Messages.app가 헤드리스/VM 환경에서 유휴 상태가 되어 스크립팅 인터페이스 처리를 중단.
수신자의 전화번호나 이메일이 iMessage에 등록되지 않았거나 Mac의 Apple ID에서 iMessage가 비활성화됨.
알려진 문제 — macOS Tahoe (26)가 메시지 편집의 Private API 엔드포인트를 손상.