Blog
GitHub - agent-messenger/agent-messenger: Messenger automation CLI & SDK for AI agents
agent-messenger
2026.11.06
·GitHub·by Mineru#Agent#AI#DL#LLM#ML
핵심 포인트
- 1Agent Messenger는 12개 이상의 메신저 플랫폼에서 별도의 API 키나 관리자 승인 없이 사용자의 계정 권한으로 메시지를 자동화할 수 있는 통합 CLI 및 SDK 도구입니다.
- 2데스크탑 앱이나 브라우저에서 기존 세션 토큰을 추출하거나 QR 코드 인증을 지원하여 AI 에이전트가 봇이 아닌 사용자 본인처럼 활동할 수 있도록 설계되었습니다.
- 3개발자는 TypeScript SDK와 통합된 CLI를 통해 다양한 채널에서 메시지 송수신, 실시간 이벤트 모니터링, 데이터 검색 등 일관된 방식으로 에이전트 기능을 구현할 수 있습니다.
Agent Messenger는 AI 에이전트가 다양한 메신저 플랫폼(Slack, Discord, Teams, Webex, Telegram, WhatsApp, LINE, WeChat, iMessage, Instagram, KakaoTalk, Channel Talk)에서 별도의 API 키나 OAuth 승인 절차 없이, 사용자 본인의 계정으로 직접 메시지를 송수신하고 상호작용할 수 있도록 지원하는 메신저 자동화 CLI 및 SDK 도구입니다.
핵심 방법론 및 기술적 특징
- 사용자 세션 기반 인증 (Act As Yourself):
- 본 도구는 봇 토큰(Bot Token)을 사용하는 대신, 사용자의 데스크톱 애플리케이션이나 웹 브라우저에 저장된 세션 토큰을 추출하여 인증을 수행합니다. 이를 통해 에이전트가 사용자의 권한과 컨텍스트를 그대로 유지하며 활동할 수 있습니다.
- 데스크톱 앱이 설치되지 않은 경우 Chromium 브라우저 프로필 경로를 지정(
--browser-profile)하여 쿠키 및 토큰을 추출하며, 보안이 중요한 Slack과 Discord의 경우 QR 코드 로그인(auth qr) 방식을 통해 공식 인증 흐름을 제공합니다.
- 메시징 프로토콜 및 인터페이스:
- CLI 환경: 12개 이상의 플랫폼에 대해 일관된 명령어 인터페이스를 제공하며, AI 에이전트가 직접 파싱할 수 있도록 모든 출력을 기본적으로
JSON형식으로 제공합니다. - TypeScript SDK:
Zod스키마를 사용하여 타입 안정성을 확보한 클라이언트를 제공합니다. 각 플랫폼별 모듈(예:SlackClient,DiscordClient)을 통해 메시지 전송, 수정(editMessage), 상태 확인 등을 프로그래밍 방식으로 제어할 수 있습니다. - 실시간 이벤트 처리 (Real-time Events): WebSocket 및 장기 폴링(Long-polling) 방식을 활용해 실시간 메시지 수신을 지원합니다.
Slack: Socket Mode WebSocket 활용.Webex/Teams: Mercury WebSocket 및 내부 trouter WebSocket 연동.Discord/Telegram: Gateway WebSocket 및getUpdatesAPI를 통한 업데이트 스트리밍.Instagram: MQTToT(Message Queuing Telemetry Transport over TLS) 프로토콜을 사용한 실시간 DM 연동.
- CLI 환경: 12개 이상의 플랫폼에 대해 일관된 명령어 인터페이스를 제공하며, AI 에이전트가 직접 파싱할 수 있도록 모든 출력을 기본적으로
- 플랫폼별 아키텍처:
- iMessage: Apple이 별도의 API를 제공하지 않으므로, Mac 환경에서
imsg도구를 호출하여 로컬 메시지 데이터베이스와 직접 상호작용하는 방식을 취합니다. - Telegram/WhatsApp: Telegram은
TDLib를, WhatsApp은Baileys라이브러리를 기반으로 구현하여 기기 페어링 및 인증 과정을 자동화했습니다. - 설정 및 메모리: 모든 플랫폼의 워크스페이스 ID, 채널 매핑 정보는
~/.config/agent-messenger에 영구 저장되며,AGENT_MESSENGER_CONFIG_DIR환경 변수를 통해 저장 경로를 자유롭게 재설정할 수 있습니다.
- iMessage: Apple이 별도의 API를 제공하지 않으므로, Mac 환경에서