2026년 OpenClaw는 공식 설치 스크립트·openclaw onboard·openclaw doctor로 경로가 정리된 편이라, 원격 Mac에서 게이트웨이를 띄운 뒤 Telegram·Slack으로 알림·CI 결과를 붙이는 일이 빈번합니다. 이 글은 개념 설명이 아니라 명령·설정 키·검증 단계 위주입니다. 연관 읽기: 게이트웨이 보안, 헬스·LaunchAgent, Git·미러 국경 간 풀 가속. 공개 고객 지원·도움말·은 로그인 없이 이용할 수 있습니다.

① 사전 점검: 버전·포트·로컬 바인딩 vs 리버스 프록시

Node는 2026년 기준 팀 표준으로 22 LTS 이상을 고정합니다. 설치 경로는 공식 인스톨러·npm i -g openclaw 등 조직 Runbook에 맞춰 하나만 택하세요.

node -v
which openclaw
openclaw doctor
openclaw onboard --help

게이트웨이 listen.host127.0.0.1이면 외부 Webhook은 리버스 프록시(Caddy·nginx)로 TLS 종료 후 백엔드로 전달하는 패턴이 안전합니다. 공인 인터페이스에 직접 바인딩할 경우 방화벽·소스 IP 제한·강한 인증을 동시에 적용하세요. 공식 문서에 안내된 설치 경로로 CLI를 맞춘 뒤 openclaw onboard로 워크스페이스·게이트웨이 초기값을 생성하고, 이상 징후는 openclaw doctor 출력을 Runbook에 붙여 두면 재현이 빨라집니다.

# 예: 게이트웨이 포트(문서·openclaw.json 기준 값으로 교체)
lsof -nP -iTCP:18765 -sTCP:LISTEN
curl -sf -H "Authorization: Bearer $OPENCLAW_GATEWAY_TOKEN" \
  http://127.0.0.1:18765/health
모드점검 명령·설정메모
본机 바인딩openclaw.jsongateway.listen.host = 127.0.0.1프록시 뒤에 두기 쉬움.
리버스 프록시프록시 proxy_pass·read_timeout·실제 Upstream 포트 일치Webhook 본문이 잘리지 않게 타임아웃 정렬.
SSH 터널ssh -L 18765:127.0.0.1:18765 user@remote-mac임시 검증용; 상시 운영엔 프록시 권장.

② Telegram 봇: 생성·토큰·환경 분리·최소 권한

BotFather로 봇을 만들고 HTTP API 토큰을 발급합니다. 토큰은 레포에 넣지 말고 전용 env(권한 chmod 600) 또는 시크릿 저장소에만 둡니다.

install -m 600 /dev/null ~/.config/openclaw/telegram.env
# 예시 키 이름은 사용 중인 OpenClaw 채널 플러그인 문서에 맞게 조정
# TELEGRAM_BOT_TOKEN=...
# TELEGRAM_DEFAULT_CHAT_ID=...

최소 권한 체크리스트: 그룹·채널에 넣을 때는 봇에게 필요한 명령만 허용하고, 관리자 권한은 주지 않습니다. Webhook을 쓸 경우 secret_token을 설정해 수신 시 X-Telegram-Bot-Api-Secret-Token 일치를 강제합니다.

  • 설정 파일 후보: openclaw.jsonchannels·telegram 계열 블록(버전별 키명 상이)
  • 런타임 주입: launchd EnvironmentVariables 또는 ProgramArguments 전에 source하는 래퍼 스크립트
  • 검증: 봇으로 자기 자신에게 /start 후 chat id 확인·로그에 토큰 미출력

③ Slack: Incoming Webhook vs 앱(Bot) 방식 비교

항목Incoming WebhookSlack 앱·Bot 토큰
보안 면URL만 알면 POST 가능 → URL 유출 시 위험Signing Secret·OAuth 스코프로 축소 가능
감사·추적채널 단위 고정 메시지 위주앱 설치·토큰 범위가 워크스페이스 감사에 남기 쉬움
레이트 리밋워크스페이스 정책에 종속, 버스트 시 429동일; 큐·백오프를 게이트웨이 측에 둠
운영 난이도가장 빠른 스모크 테스트스코프 설계·재승인 필요

프로덕션 알림은 가능하면 Signing Secret 검증(X-Slack-Signature, X-Slack-Request-Timestamp)이 있는 앱 엔드포인트를 권장합니다. Incoming Webhook만 쓸 때는 URL을 시크릿 등급으로 취급하고 로그·티켓에 붙이지 마세요.

④ 단계별 재현: openclaw에서 첫 테스트 메시지까지

아래는 팀 Runbook에 붙여 넣기 좋은 최소 뼈대입니다. 실제 서브커맨드 이름은 설치된 CLI 버전에 맞게 조정하세요.

# 1) 원격 Mac에서 게이트웨이 사용자로 로그인
openclaw doctor

# 2) 채널용 env 준비(텔레그램·슬랙 각각)
chmod 600 ~/.config/openclaw/*.env

# 3) openclaw.json에 gateway.listen + channels.* 반영 후 기동
# (launchd plist 또는 터미널에서 포그라운드로 먼저 검증)

# 4) 로컬 헬스
curl -sf -H "Authorization: Bearer $OPENCLAW_GATEWAY_TOKEN" \
  http://127.0.0.1:18765/health

# 5) 공인 Webhook 경로가 프록시 뒤로 도달하는지(예시 URL은 교체)
curl -v -X POST "https://gw.example.com/openclaw/hooks/telegram" \
  -H "Content-Type: application/json" \
  -d '{"ping":true}'

첫 메시지는 스테이징 채널·mute 알림으로 보내 잡음을 줄입니다. 성공 후에만 프로덕션 채널 ID로 바꿉니다. 프록시가 요청 본문 크기를 제한하면 대형 CI 아티팩트 링크가 잘리므로 client_max_body_size 등 상한을 게이트웨이 문서 권장치와 맞춥니다. OpenClaw 쪽에서 채널별 큐나 rate limit 키를 노출한다면 키 이름을 팀 위키에 고정해 두고, 장애 시 grep 한 번으로 설정 파일을 교차 확인할 수 있게 합니다.

⑤ FAQ: 수신 실패·리플레이·토큰 로테이션·CI 콜백

비교 축자체 게이트웨이(원격 Mac)호스팅형·패널 일체 솔루션(개념)
데이터 주권토큰·로그가 우리 디스크벤더 정책·리전에 종속
운영 부담launchd·프록시·패치 직접업데이트·가용성 일부 위임
Webhook 검증직접 구현·미들웨어 선택 자유플랫폼이 정한 헤더·경로
비용 모델Mac·대역만좌석·메시지 과금 가능
Q

메시지가 전혀 안 옵니다. lsof로 LISTEN 확인 → 프록시 오류 로그 → Telegram getUpdates(폴링 잔존 시)·Slack Delivery 로그 순으로 좁힙니다. 방화벽에서 업스트림이 ESTABLISHED만 허용되는지도 봅니다.

Q

리플레이 공격. Telegram secret_token 헤더 검증, Slack 서명·타임스탬프 윈도(예: 5분) 거부, Idempotency-Key 헤더를 CI에서 한 번만 소비하도록 게이트웨이에 캐시합니다.

Q

토큰 로테이션. 새 토큰 발급 → env·plist 동시 갱신 → launchctl kickstart 또는 서비스 재시작 → 스테이징 채널로 테스트 → 구 토큰 폐기.

Q

CI 콜백. GitHub Actions·GitLab 등에서는 시크릿 이름을 OPENCLAW_GATEWAY_TOKEN과 채널 토큰으로 분리하고, curl·jq 출력에 URL이 섞이지 않게 -sS·마스킹 스텝을 둡니다. 재시도 정책은 슬랙 429·텔레그램 429 응답에 지수 백오프를 겁니다.

요약 및 원격 Mac 노드 선택

OpenClaw 게이트웨이는 Node·openclaw doctor로 기준선을 맞춘 뒤, 127.0.0.1 + 리버스 프록시·Webhook 시크릿 검증·채널별 최소 권한만으로도 운영 품질이 크게 달라집니다. 알림은 스테이징에서 먼저 끝내고 프로덕션 채널로 승격하세요.

안정적인 출구·전용 Apple Silicon·SSH 브레이크 글래스가 있는 원격 Mac을 쓰면 동일 Runbook을 여러 프로젝트에 재사용하기 쉽습니다. 구매·요금·OpenClaw 블로그 모음·Docker·CI 배포 글을 이어서 보세요.

알림·CI를 원격 Mac 게이트웨이에서 일관되게

MacPull로 전용 노드를 잡고 OpenClaw·Git 미러·캐시 글의 절차를 그대로 옮겨 적으세요. 아래 링크는 로그인 없이 열립니다.