모든 개발자가 자신의 메시징 플랫폼에 AI 어시스턴트를 두어야 하는 이유
요약
Telechat은 Claude를 Telegram, WhatsApp, Slack 등 다양한 메시징 플랫폼에서 통합 사용할 수 있게 해주는 도구입니다. 단일 Python 프로세스와 SQLite를 통해 플랫폼 간 대화 문맥을 완벽하게 공유하며, 셀프 호스팅 방식으로 보안성을 높였습니다.
핵심 포인트
- 다양한 메신저 플랫폼 간 대화 기록 및 메모리 통합 공유
- 단일 프로세스 기반의 셀프 호스팅으로 높은 보안 태세 제공
- Claude Code CLI 또는 Anthropic API를 통한 두 가지 접속 모드 지원
- 간편한 설치 및 대화형 설정 도구 제공
당신의 AI 어시스턴트는 브라우저 탭 안에 살고 있습니다. 하지만 당신의 실제 삶은 메시징 앱에서 일어납니다.
그 간극은 평소에는 무시해도 될 만큼 작지만, 중요한 순간에는 비용이 많이 듭니다. 아이디어는 산책 중에 떠오르고, 운영(production) 관련 질문은 저녁 식사 중에 찾아오며, "그 플래그 이름이 뭐였더라" 하는 생각은 노트북이 깨어나기 전 10초 사이에 찾아옵니다. 당신이 적절한 탭을 열고 키보드 앞에 앉을 때쯤이면, 그 생각은 형편없이 적혀 있거나 이미 사라져 버린 상태입니다.
Telechat은 Claude를 당신이 이미 머물고 있는 곳, 즉 Telegram, WhatsApp, Slack, Discord, 그리고 로컬 웹 채팅에 한꺼번에 배치함으로써 그 간극을 메웁니다. 이 모든 것은 당신의 기기에서 실행되는 단일 Python 프로세스를 통해 이루어집니다.
하나의 프로세스, 다섯 개의 인터페이스, 하나의 메모리
멀티 플랫폼(multi-platform) 기능은 단순히 체크박스 하나를 채우는 수준이 아닙니다. 그것이 나머지 기능들을 작동하게 만드는 핵심입니다.
대부분의 봇은 플랫폼당 하나의 봇을 사용합니다. 이는 플랫폼마다 하나의 대화 기록(conversation history)을 가진다는 의미이며, 결과적으로 휴대폰에서 쌓아온 문맥(context)이 데스크톱으로 전환했을 때 유지되지 않음을 의미합니다. Telechat은 모든 어댑터(adapter)를 하나의 SQLite 파일에 대해 단일 프로세스에서 실행하므로, 세션, 메모리, 그리고 기록이 진정으로 공유됩니다. 버스 정류장에서 Telegram으로 생각을 시작하고, 자리에 앉아 로컬 웹 채팅에서 대화를 이어가더라도 그것은 동일한 대화입니다. 당신을 전혀 모르는 두 번째 봇이 아닙니다.
BOT_MODE=all로 설정하면 모든 인터페이스가 동시에 활성화됩니다. 쉼표로 구분된 하위 집합으로 설정하면 해당 인터페이스들만 활성화됩니다.
경로상에 웹훅(webhook), 터널(tunnel), 공개 URL(public URL), 또는 그 어디에도 Telechat 서버가 존재하지 않습니다. 당신의 대화는 메신저에서 당신의 기기로, 그리고 Anthropic으로 전달될 뿐 그 외의 다른 곳으로는 가지 않습니다. 당신의 업무에 대해 꽤 많은 것을 말하게 될 도구라는 점을 고려할 때, "셀프 호스팅(self-hosted)"은 "우리는 훔쳐보지 않겠다고 약속합니다"라는 말과는 의미론적으로 완전히 다른 보안 태세(security posture)를 제공합니다.
작동하는 봇 만들기
npm install -g telechat
telechat init
telechat init은 Claude CLI를 사용하여 각 플랫폼을 안내하는 대화형 설정 도구입니다. 적절한 페이지를 열고, 토큰을 가져오고, 이를 검증하며, 설정 파일(config)을 작성합니다. Claude CLI가 필요 없는 일반적인 단계별 마법사를 원한다면 telechat setup도 사용할 수 있습니다.
이 모든 과정이 가치가 있는지 확인만 하고 싶다면 다음과 같이 입력하세요:
telechat web
이렇게 하면 127.0.0.1:8585에서 로컬 웹 채팅이 시작됩니다. 봇 토큰도, 메신저 계정도 필요 없으며 디스크에 아무것도 기록되지 않습니다. Claude에 접속할 수 있는 방법(Claude Code CLI 또는 ANTHROPIC_API_KEY)만 있으면 되며, 둘 다 없는 경우 어떤 것이 누락되었는지 알려줍니다.
Claude에 접속하는 두 가지 방법이 있으며, 비용 측면에서 선택이 중요합니다:
- **CLI 모드 (CLI mode)**는 Claude Code CLI를 사용합니다. 이미 Claude 구독료를 지불하고 있다면, API 키가 필요 없으며 토큰당 비용이 발생하지 않습니다.
- **API 모드 (API mode)**는 Anthropic API를 직접 사용합니다. 키가 필요하며 Docker 환경에서 작동합니다.
그룹이 싫어하지 않는 AI 그룹화
공유된 방에서 봇이 실패하는 전형적인 패턴은 말을 멈추지 않는 것입니다. 바쁜 채널에 추가되었다가 하루 만에 삭제된 모든 봇은 바로 이 이유 때문이었습니다.
Telechat의 그룹 동작은 기본적으로 절제하도록 설정되어 있습니다. 멘션(mention)되거나 답장(reply)을 받았을 때만 답변하고, 그 외에는 조용히 유지합니다. /groupmode mention|all|off 명령어를 통해 방마다 이를 변경할 수 있으므로, 항상 참여 중인 참가자를 진정으로 원하는 채널은 그렇게 설정할 수 있고 나머지 곳은 평온함을 유지할 수 있습니다.
각 방은 **자신만의 대화(its own conversation)**를 가집니다. 팀의 장애 대응(incident) 채널에 있는 봇은 개인 채팅의 문맥(context)을 가져오지 않습니다. 이는 올바른 프라이버시 동작이자 올바른 유용성 동작입니다. 그룹 스레드는 다른 사람의 대화 중간에 끼어든 것처럼 느껴지는 것이 아니라, 그룹 스레드답게 읽혀야 하기 때문입니다.
액세스 권한은 관리적 방식이 아닌 사회적 방식으로 처리됩니다. /invite는 친구에게 액세스 권한을 부여하는 원터치 링크를 생성합니다. 수집해야 할 사용자 ID도, .env 파일 수정도, 재시작도 필요 없습니다. /invites를 통해 당신의 링크로 누가 참여했는지 확인할 수 있습니다.
도구(Tools), MCP, 그리고 단순한 채팅 장난감이 되지 않게 만드는 요소
대화만 가능한 어시스턴트는 신기한 구경거리에 불과합니다. 진정한 가치는 무언가를 수행할 수 있을 때 나타나며, Telechat은 슬래시 명령어(/) 뒤에 작동 가능한 도구 세트를 탑재하여 출시되었습니다.
/code, /project | 코딩 작업 시작; 작업 디렉토리 설정 |
| ... |
이와 더불어 **MCP (Model Context Protocol)**를 지원하므로, 당신이 이미 실행 중인 모든 MCP 서버(데이터베이스, 이슈 트래커, 내부 API 등)를 휴대폰에서 접근할 수 있는 대상으로 만듭니다. 이것이 바로 "텔레그램에서 사용하는 Claude"를 당신의 시스템을 위한 실제 원격 제어기로 바꿔주는 핵심 요소입니다.
두 가지 기능이 이를 완성합니다. **메모리 (Memory)**는 사용자별로 관리되며 전체 텍스트 검색(full-text search)이 가능합니다. 모든 답변에 메모리가 소환되므로, 문맥(context)이 채팅창과 함께 사라지지 않고 세션 전반에 걸쳐 유지됩니다. /remember, /recall, /forget 명령어를 통해 이를 직접 관리할 수 있습니다. 그리고 **스마트 모델 라우팅 (smart model routing)**은 쿼리의 복잡도에 따라 Haiku, Sonnet 또는 Opus를 선택하므로, 한 줄짜리 질문에 대해 심층 추론(deep-reasoning) 비용이 청구되지 않도록 합니다.
음성 메시지도 작동합니다. 음성 노트를 보내면 텍스트 변환(transcript)된 내용에 대해 답변하며, Groq의 Whisper 티어를 통해 유료 키 없이 무료로 이용할 수 있습니다.
다른 누구도 갖지 못한 부분, 바로 브릿지(bridge)
만약 Claude Code를 사용한다면, 이 기능 하나만으로도 설치할 가치가 충분합니다.
당신의 로컬 머신에서 실행 중인 Claude Code 세션이 한 턴을 마치거나 질문에 막혀 멈추면, 텔레그램으로 분류 카드(triage card)가 전송됩니다 — 상태가 먼저 표시되고, 결정이 필요한 대기 사항이 상단에 배치됩니다. 카드에 답장을 보내면 당신의 답변이 claude --resume을 통해 해당 세션으로 다시 주입됩니다. 여러 세션이 실행 중이라면 세션 목록에서 선택할 수 있습니다.
--approval 옵션을 켜면 모든 Bash, Write, Edit 호출이 당신의 승인을 기다리게 되며, 카드에는 호출 미리보기와 승인(Approve) / 거부(Deny) / 항상 허용(Always-allow) 버튼이 표시됩니다. 고정 규칙(Standing rules)을 설정하면 반복적인 요청은 묻지 않고 해결합니다.
이는 장시간 실행되는 에이전트가 더 이상 책상 앞에 앉아 지켜봐야 하는 대상이 아님을 의미합니다. 에이전트는 스스로 실행되다가, 정말로 인간의 도움이 필요할 때 당신을 호출(page)하고, 당신은 어디에 있든 답변을 보내며, 에이전트는 다시 작업을 이어갑니다.
이 도구가 실제로 누구를 위한 것인가
Telechat은 자신의 경계를 명확히 하고 있습니다. 이 도구는 **단일 운영자용 도구 (single-operator tool)**이며, CLI 모드에서 봇은 사용자의 로컬 권한으로 실행됩니다. 이는 본인의 하드웨어에서 사용하는 개인용 어시스턴트(personal assistant)로서는 적절한 거래이지만, 공유된 기업용 배포(shared corporate deployment) 환경에는 적절하지 않습니다. 당신이 무엇을 구축하고 있는지 아는 것이 목록에 있는 그 어떤 기능보다 중요합니다.
만약 당신이 이미 Claude를 사용하고 있으며, 대화 기록을 제3자 래퍼(third-party wrapper)에 넘겨주지 않고도 Claude가 자신의 휴대폰에 있었으면 좋겠다고 생각한 적이 있다면, 그것이 바로 이 서비스의 핵심 제안(pitch)입니다.
npm install -g telechat && telechat init
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기