MINARA

이메일 (Gmail OAuth)

OAuth 인증 Gmail API. 메시지 전송, 웹훅 수신, 백그라운드 워커를 통한 스트리밍 편집을 지원합니다.

🟢 런타임 준비 완료. OAuth 2.0 디바이스 플로우를 사용하는 Gmail API입니다. 백그라운드 gmail-inbound-daemon 워커가 스레드를 폴링하고 수신된 메시지를 디스패치하여 스트리밍을 구현합니다.

제공 기능

  • OAuth 인증: 사용자는 자격 증명을 저장하지 않고 액세스를 허용합니다
  • 스트리밍 편집: 메시지는 백그라운드 워커를 통해 채팅처럼 실시간으로 업데이트됩니다
  • 웹훅: 즉시 전달을 위한 선택적 pubsub 토픽 (Cloud Pub/Sub 설정 필요)
  • 스레드 인식: 답장은 동일한 대화 스레드에 유지됩니다
  • 수신자 재정의: channel 파라미터로 다른 Gmail 계정으로 라우팅합니다

설정

1. Google Cloud 프로젝트 생성

  1. Google Cloud Console에 접속합니다
  2. 새 프로젝트를 생성합니다 (또는 기존 프로젝트 사용)
  3. Gmail API를 활성화합니다:
    • API 및 서비스 라이브러리에서 "Gmail API"를 검색합니다
    • "Enable"을 클릭합니다
  4. OAuth 2.0 동의 화면을 생성합니다:
    • "OAuth consent screen"으로 이동하여 생성합니다
    • 사용자 유형은 "External"을 선택합니다
    • 앱 이름, 지원 이메일, 개발자 연락처를 입력합니다
    • 스코프 https://www.googleapis.com/auth/gmail.modify를 추가합니다
  5. OAuth 2.0 클라이언트 ID를 생성합니다:
    • "Credentials"로 이동하여 자격 증명을 생성하고 OAuth 클라이언트 ID를 선택합니다
    • "Desktop app"을 선택합니다
    • JSON을 다운로드합니다 (클라이언트 ID와 시크릿이 필요합니다)

2. Minara에 자격 증명 제공

간편 방법. Agent에 직접 요청하십시오.

"connect Gmail to send me notifications using OAuth"

Agent가 디바이스 플로우를 안내하여 액세스를 허용합니다.

수동 방법:

minara auth messaging add email-gmail

또는 프로젝트 .env 파일에 직접 입력하십시오.

GMAIL_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
GMAIL_OAUTH_CLIENT_SECRET=your-client-secret
[email protected]

3. (선택) 즉시 웹훅 활성화

폴링 대신 실시간으로 답장을 수신하려면:

  1. Gmail 알림용 Cloud Pub/Sub 토픽을 생성합니다
  2. Minara 인스턴스를 가리키는 푸시 구독을 설정합니다
  3. .env에 추가합니다:
GMAIL_PUBSUB_TOPIC=projects/your-project/topics/gmail-notifications

수신 메시지

백그라운드 gmail-inbound-daemon 워커는 30초마다 받은편지함을 폴링하고 (GMAIL_POLL_INTERVAL_SEC로 설정 가능), 수신된 메시지를 워크플로 또는 Agent 채팅으로 디스패치합니다.

스레드 처리: 답장은 원본 메시지를 전송한 워크플로 또는 채팅 세션으로 라우팅되어 대화 기록이 유지됩니다.

속도 제한

  • 전송: 사용자당 분당 100통 (Gmail API 제한)
  • 수신: 기본적으로 30초마다 폴링. Pub/Sub 설정 시 즉시
  • 스레드 읽기: 수신 메시지당 1회 호출

문제 해결

설정 후 "Authorization required" 표시

  • OAuth 토큰이 만료되었습니다. minara auth messaging test email-gmail을 실행하여 갱신하십시오.

답장을 수신하지 못함

  • 데몬이 실행 중인지 확인합니다. minara learn cron에서 gmail-inbound-daemon이 active로 표시되어야 합니다
  • Pub/Sub 토픽이 올바르게 설정되었는지 확인합니다 (웹훅 사용 시)
  • Agent 로그를 확인합니다: tail -f ~/.minara/logs/agent.log | grep gmail

SMTP Email과의 차이점

기능Gmail OAuthSMTP
스트리밍 편집
답장 수신
OAuth 설정아니요
모든 프로바이더와 호환아니요예 (모든 릴레이)
설정 복잡도중간낮음

목차