본문으로 건너뛰기

WhatsApp 설정

Hermes는 Baileys를 기반으로 내장된 교량을 통해 WhatsApp에 연결됩니다. WhatsApp 웹 세션을 에뮬레이션하여 이 작품 - ** 공식 WhatsApp Business API를 통해. Meta Developer 계정 또는 비즈니스 검증이 필요하지 않습니다.

방위 비공식 API — 반 위험

WhatsApp은 **** Business API 이외의 타사 봇을 공식적으로 지원합니다. 제3자 브리지를 사용하여 계정 제한의 작은 위험을 운반합니다. 위험 최소화:

  • 전용 전화 번호 봇의 경우 (개인 번호)
  • 대량 / 스팸 메시지를 보낼 수 없습니다 - 사용 대화 유지 -Don't automate 아웃바운드 메시징 to people who never't messaged first 주요 특징
워닝 WhatsApp 웹 프로토콜 업데이트

WhatsApp 주기적으로 웹 프로토콜을 업데이트, 일시적으로 휴식 호환성 제3자 교량으로. 이 일이 일어날 때, Hermes는 교량 의존도를 업데이트합니다. 만약에 봇은 WhatsApp 업데이트 후 작동 중지, 최신 헤르메스 버전과 재 쌍을 잡아. 주요 특징

2개의 형태

모드작동 방법베스트
Separate bot number (권장)봇에 전화 번호를 입력합니다. 직접 번호가있는 사람들 메시지.Clean UX, 다중 사용자, 낮은 금지 위험
**개인 셀프 채팅 **자신의 WhatsApp에 사용. 당신은 에이전트에 대해 이야기합니다.빠른 설정, 단일 사용자, 테스트

필수품

  • Node.js v18+npm - WhatsApp Bridge는 Node.js 프로세스로 실행됩니다.
  • WhatsApp으로 전화 설치 ( QR 코드를 스캔)

이전 브라우저 구동 브리지와는 달리, 현재의 베일리 기반 브리지 **는 로컬 Chromium 또는 Puppeteer 의존성 스택이 필요합니다.


단계 1: 설정 마법사를 실행

사이트맵

마법사는:

  1. 원하는 모드(bot또는self-chat)
  2. 필요로 하는 경우에 교량 의존도를 설치하세요
  3. 터미널에서 QR 코드 표시
  4. 그것을 검사하는 당신을 위한 기대

** QR 코드를 스캔하려면:**

  1. 휴대폰에서 WhatsApp을 엽니 다
  2. ** 설정 → 연결 장치**
  3. 장치 링크
  4. 단말기 QR 코드에서 카메라 포인트

한 번, 마법사가 연결과 출구를 확인합니다. 세션이 자동으로 저장됩니다.

가격

QR 코드가 garbled를 보이면 터미널이 적어도 60 열이 넓어지지 않도록하세요. 유니코드. 다른 터미널 에뮬레이터를 시도 할 수 있습니다. 주요 특징


단계 2: 두 번째 전화 번호 얻기 (봇 모드)

봇 모드의 경우, WhatsApp에 이미 등록되지 않은 전화 번호가 필요합니다. 3개의 선택권:

옵션비용
Google Voice무료미국 한정 voice.google.com에서 번호를 얻으십시오. Google Voice 앱을 통해 SMS를 통해 WhatsApp에 인증.
Prepaid SIM$5~15번모든 캐리어 활성화, WhatsApp을 확인, 다음 SIM 서랍에 앉아 수 있습니다. 숫자는 활성화해야합니다 (모든 90 일 호출). ·
VoIP 서비스무료・$5/월TextNow, TextFree, 기타. 일부 VoIP 번호는 WhatsApp에 의해 차단됩니다 - 먼저 작동하지 않는 경우 몇 가지 시도. ·

번호를 얻기 후에:

  1. 전화에서 WhatsApp을 설치 (또는 이중 SIM과 WhatsApp Business 앱 사용)
  2. WhatsApp에 새로운 번호를 등록
  3. hermes whatsapp를 실행하고 WhatsApp 계정에서 QR 코드를 스캔

단계 3: 헤르메스를 구성

~/.hermes/.env 파일에 다음을 추가하세요.

# Required
WHATSAPP_ENABLED=true
WHATSAPP_MODE=bot # "bot" or "self-chat"

# Access control — pick ONE of these options:
WHATSAPP_ALLOWED_USERS=15551234567 # Comma-separated phone numbers (with country code, no +)
# WHATSAPP_ALLOWED_USERS=* # OR use * to allow everyone
# WHATSAPP_ALLOW_ALL_USERS=true # OR set this flag instead (same effect as *)
가격 자주 묻는 질문

WHATSAPP_ALLOWED_USERS=* 설정은 모든 senders (WHATSAPP_ALLOW_ALL_USERS=true와 동일)을 허용합니다. 이것은 Signal 그룹 수당와 일관성이 있습니다. 대신 쌍의 흐름을 사용하려면 두 변수를 제거하고 rely on DM 페어링 시스템. 주요 특징

~/.hermes/config.yaml의 선택적인 동작 설정:

사이트맵

  • unauthorized_dm_behavior: pair는 글로벌 디폴트입니다. 알 수없는 DM senders는 페어링 코드를 가져옵니다.
  • whatsapp.unauthorized_dm_behavior: ignore는 보통 개인 번호를 위한 더 나은 선택인 허가한 DMs를 위해 침묵하는 WhatsApp 체재를 만듭니다.

그런 다음 게이트웨이를 시작합니다.

사이트맵

Gateway는 저장된 세션을 사용하여 자동으로 WhatsApp Bridge를 시작합니다.


세션 지속

베일리 교량은 ~/.hermes/platforms/whatsapp/session의 밑에 그것의 세션를 저장합니다. 이 수단:

  • **Sessions는 재시작을 살아남습니다 ** — 당신은 매번 QR 코드를 다시 만들 필요가 없습니다
  • 세션 데이터에는 암호화 키 및 장치 자격 증명이 포함됩니다.
  • **이 세션 디렉토리를 공유하지 마십시오 ** - WhatsApp 계정에 전체 액세스 권한을 부여

재봉

세션이 중단되면 (전화 재설정, WhatsApp 업데이트, 수동으로 연결), 당신은 연결을 볼 수 있습니다 게이트웨이 로그에 오류. 그것을 고치기:

hermes whatsapp

신선한 QR 코드를 생성합니다. 다시 스캔하고 세션이 다시 설치됩니다. 오시는 길 handle temporary 단선 (network blips, 전화가 오프라인으로 간략히) 자동으로 reconnection 논리로.


음성 메시지

Hermes는 WhatsApp에 음성을 지원합니다:

  • ** 들어오는:** 음성 메시지 (.ogg opus)는 형성된 STT 제공자를 사용하여 자동적으로 transcribed 입니다: 국부적으로 faster-whisper, Groq Whisper (GROQ_API_KEY), 또는 OpenAI Whisper (VOICE_TOOLS_OPENAI_KEY) -Outgoing: TTS 응답은 MP3 오디오 파일 첨부 파일로 전송됩니다.
  • 에이전트 응답은 기본적으로 "Mini Hermes Agent"로 접힙니다. config.yaml에서 이것을 사용자 정의하거나 비활성화 할 수 있습니다.
# ~/.hermes/config.yaml
whatsapp:
reply_prefix: "" # Empty string disables the header
# reply_prefix: "🤖 *My Bot*\n──────\n" # Custom prefix (supports \n for newlines)

메시지 포맷 및 배송

WhatsApp 지원 **streaming (progressive) 응답 ** - 봇은 AI가 텍스트를 생성하고 Discord 및 Telegram과 같은 실시간 메시지를 편집합니다. 내부적으로, WhatsApp는 납품 기능을 위한 TIER MEDIUM 플랫폼으로 분류됩니다.

춘킹

긴 응답은 자동으로 여러 메시지로 나뉩니다. 4,096 문자 펑크 당 (WhatsApp의 실제 디스플레이 제한). 당신은 아무것도 구성 할 필요가 없습니다 - 게이트웨이는 분할을 처리하고 순차적으로 펑크를 보냅니다.

WhatsApp 호환 Markdown

AI 응답의 표준 Markdown은 WhatsApp의 네이티브 포맷으로 자동 변환됩니다.

마크다운WhatsApp렌더링
**bold***bold***볼드 **
~~strikethrough~~~strikethrough~ 인포메이션
# Heading*Heading*대담한 텍스트(네이티브 헤드링 없음)
[link text](/docs/user-guide/security#dm-pairing-system)link text (url)인라인 URL

코드 블록 및 인라인 코드는 WhatsApp이 네트 백틱 포맷을 지원하므로 as-is 보존됩니다.

# 도구 진행

에이전트 호출 도구 (웹 검색, 파일 작업 등), WhatsApp는 도구가 실행되는 표시 실시간 진행 지표를 표시합니다. 이것은 기본적으로 활성화됩니다 — 구성이 필요하지 않습니다.


문제 해결

문제솔루션
QR 코드는 스캔되지 않습니다터미널은 충분히(60+ 열)입니다. 다른 터미널을 시도하세요. 정확한 WhatsApp 계정에서 스캔 확인 (봇 번호, 개인하지).
QR 코드가 만료됩니다QR 코드는 ~20초마다 새로 고침됩니다. 시간이 지나면 hermes whatsapp를 다시 시작합니다. ·
세션이 없습니다~/.hermes/platforms/whatsapp/session가 존재하고 writable을 확인합니다. 컨테이너화된 경우, 지속적인 볼륨으로 마운트하세요.
알 수 없게 되었습니다.WhatsApp unlinks device after long inactivity. 네트워크에 연결하고, hermes whatsapp를 가진 재 쌍을 필요에 따라 유지하세요. ·
Bridge crashes or reconnect loops세션이 WhatsApp 프로토콜 변경에 의해 유효하지 않은 경우 게이트웨이를 업데이트하고, 헤르메스를 업데이트합니다. ·
봇은 WhatsApp 업데이트 후 작동 중지최신 브리지 버전을 얻기 위해 헤르메스 업데이트, 다시 페어.
macOS: "Node.js not installed" 하지만 node는 터미널에서 동작함launchd 서비스는 셸 PATH를 상속하지 않습니다. hermes gateway install을 실행해 현재 PATH를 plist에 다시 저장한 뒤 hermes gateway start를 실행하세요. 자세한 내용은 Gateway Service docs를 참조하세요.
Messages not being receiveVerify WHATSAPP_ALLOWED_USERS는 우편 번호 (국가 코드, + 또는 공간 포함)를 포함하거나 *로 설정하여 모든 것을 허용합니다. WHATSAPP_DEBUG=true.env로 설정하고 bridge.log의 메시지 이벤트를 볼 수있는 게이트웨이를 다시 시작합니다. ·
봇은 페어링 코드가 있는 낯선 사람들에 의존합니다whatsapp.unauthorized_dm_behavior: ignore~/.hermes/config.yaml로 설정하면 별도의 DM을 침묵으로 무시합니다.

보안

대여 {#security}

**휴가 전에 액세스 제어 . 특정한 WHATSAPP_ALLOWED_USERS 설정 전화 번호 (+없이 국가 코드 포함), 모든 것을 허용하려면 *를 사용, 또는 설정 모델 번호: WHATSAPP_ALLOW_ALL_USERS=true. 이 외에, 게이트웨이 ** 모든 들어오는 것 메시지 안전 측정. 주요 특징

디폴트로, unauthorized DMs는 여전히 페어링 코드 응답을받습니다. 개인 WhatsApp 번호가 낯선 사람에게 완전히 침묵하는 것을 원한다면, 설정:

사이트맵

  • ~/.hermes/platforms/whatsapp/session 디렉토리에는 전체 세션 자격 증명이 포함되어 있습니다. - 암호처럼 보호하세요.
  • 파일 권한을 설정: chmod 700 ~/.hermes/platforms/whatsapp/session
  • 개인 계정에서 봇에 대한 전용 전화 번호를 사용하세요
  • 손상이 의심되는 경우, WhatsApp → Settings → Linked Device에서 장치를 연결 해제
  • 로그의 전화 번호는 부분적으로 적색하지만 로그 보존 정책을 검토합니다.