DispatchMail: 사용자의 컴퓨터에서 실행되는 AI 기반 이메일 비서 시스템

DispatchMail 소개

이메일은 현대 디지털 커뮤니케이션의 핵심 도구 중 하나입니다. 그러나 이메일이 많아질수록 이를 관리하는 부담도 커지게 됩니다. 중요한 이메일을 놓치거나, 비슷한 패턴의 답장을 반복해서 작성하는 번거로움은 많은 사람들이 공감할 수 있는 문제입니다. 이러한 맥락에서 등장한 것이 바로 DispatchMail입니다. 이 프로젝트는 인공지능을 활용해 이메일 수신, 분류, 응답 초안 작성 등 반복적이고 비효율적인 작업을 자동화함으로써 사용자에게 더 나은 이메일 관리 경험을 제공합니다.

DispatchMail은 로컬에서 실행되며, OpenAI 기반의 AI 기능을 활용하는 오픈소스 이메일 어시스턴트입니다. 로컬 SQLite DB를 통해 데이터를 저장하고, 웹 인터페이스를 통해 사용자와 상호작용합니다. 사용자는 원하는 방식으로 이메일 필터링 규칙을 설정하고, AI가 어떤 방식으로 이메일을 읽고 응답을 생성할지 직접 프롬프트를 구성할 수 있어 높은 유연성과 개인화가 가능합니다.

본 프로젝트는 개발자들이 테스트하고 직접 확장할 수 있도록 설계된 프로토타입입니다. 아직 알파 버전이지만, AI를 일상적인 이메일 업무에 실용적으로 활용할 수 있는 좋은 출발점이 될 수 있으며, 향후 완성도 높은 관리형 버전도 계획 중이라고 합니다.

DispatchMail의 주요 기능

DispatchMail은 다음과 같은 핵심 기능을 제공합니다:

  • AI 기반 이메일 처리: OpenAI GPT를 통해 이메일 내용을 분석하고, 자동으로 초안을 생성합니다.
  • 웹 기반 UI: React 기반의 웹 인터페이스를 통해 받은 메일 확인, 응답 초안 작성 및 필터 설정이 가능합니다.
  • 맞춤형 필터링 규칙: 발신자, 제목, 자연어 기준에 따라 이메일을 필터링할 수 있어, AI가 접근할 수 있는 이메일을 제한할 수 있습니다.
  • 이메일 자동 분류 및 정리: 메일 자동 라벨링 및 보관 기능을 제공하여 인박스를 깔끔하게 유지할 수 있습니다.
  • 로컬 저장소: 모든 데이터는 로컬 SQLite DB에 저장되며, 개인정보 보호에 유리합니다.
  • 발신자 프로파일링: 발신자의 배경 정보에 대한 딥리서치를 AI가 자동 수행할 수 있습니다.

설치 및 실행 방법

필요 환경

  • Python 3.8 이상
  • Node.js 16 이상
  • 2단계 인증이 활성화된 Gmail 계정
  • OpenAI API 키

설치 절차

  1. GitHub에서 저장소를 클론한 후 디렉터리로 이동합니다:

    git clone https://github.com/dbish/DispatchMail.git
    cd DispatchMail
    
  2. 자동 설치 스크립트를 실행합니다:

    python setup.py
    
  3. Gmail App Password와 OpenAI API 키를 설정합니다. web-app/api/credentials.py 파일을 열어 OpenAI API 키를 추가하고, Gmail App Password를 설정합니다.

  4. DispatchMail 서비스를 실행합니다.

    python start.py
    
  5. 브라우저에서 http://localhost:5173 으로 접속하여 이메일 계정을 설정합니다.

구성 요소 설명

데이터베이스 구조

  • emails: 이메일 본문과 처리 상태 저장
  • metadata: 설정값, 사용자 프롬프트, 환경 설정 저장
  • users: 이메일 계정 및 인증 정보 저장

API 엔드포인트 예시

  • GET /api/emails: 이메일 목록 조회
  • POST /api/emails/<id>/draft: 특정 이메일에 대한 초안 작성
  • GET/POST /api/prompts/*: 프롬프트 설정 관리
  • GET /api/process_emails: 미처리 이메일 처리

Gmail 연동 및 필터링

  • 2단계 인증 활성화 필수
  • Google 계정에서 App Password를 생성하여 로그인 시 사용
  • 웹 UI에서 화이트리스트 설정을 통해 AI의 접근 대상을 제한할 수 있음

AI 프롬프트 구성

사용자는 이메일을 어떻게 읽고 해석할지, 어떤 형식으로 응답을 생성할지를 프롬프트로 정의할 수 있습니다.

  • Reading Prompt: 이메일 분석 방식 정의
  • Draft Prompt: 답장 초안 생성 방식 정의

보안 및 디버깅

  • 모든 데이터는 로컬에서만 저장 - 단, OpenAI 서버로 처리를 위한 데이터 전송
  • 민감 정보는 credentials.py 파일에 저장되며, 배포 시 환경변수 사용 권장
  • 로그는 logs/ 디렉터리에서 확인 가능

라이선스

DispatchMail 프로젝트는 Apache-2.0 라이선스로 공개 및 배포되고 있습니다. 상업적 이용이 가능하며, 사용에 제약은 없으나 저작권 고지를 유지해야 합니다.

:github: Dispatch 프로젝트 GitHub 저장소

https://github.com/dbish/DispatchMail




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요