원 텔레그램 그룹 채팅에서 두 봇 간의 브릿지 구축: HTTP를 통한 전달 시맨틱스

동일한 그룹 채팅에서 두 개의 독립적인 텔레그램 봇을 연결하는 것은 생각보다 어렵습니다. r/openclaw의 한 개발자가 브리지 계층을 구축한 경험을 자세히 설명하는데, 텔레그램이 그룹 내에서 한 봇이 보낸 메시지를 다른 봇에게 안정적으로 전달하지 않기 때문입니다(사람은 두 메시지를 모두 볼 수 있음에도 불구하고).
핵심 문제
텔레그램은 봇 A가 그룹에 메시지를 보낼 때 봇 B에게 업데이트를 전달하지 않습니다. 그래서 팀은 텔레그램의 한계를 극복하기 위해 작은 브리지를 구축했습니다:
- 봇 B → 봇 A: 봇 B가 HTTP 엔드포인트(테일게이트)를 통해 게시하여 봇 A에 도달합니다.
- 봇 A → 봇 B: 봇 A가 제어된 피드를 통해 선택된 아웃바운드 메시지를 노출하고, 봇 B가 이를 폴링합니다.
- 메시지는 메타데이터를 포함합니다:
source,direction,chat ID,nonce,safe_to_bridge플래그. - ACK: 봇 B가 특정 메시지에 ACK를 보내 적어도 한 홉이 작동했음을 확인할 수 있습니다.
- 공유 피드에는 브리지 안전 그룹 컨텍스트만 포함됩니다(개인 DM이나 관련 없는 트래픽은 제외).
- 봇 B의 로컬 폴러는 오래된/디버그/프로토콜/상태 메시지를 필터링하고, 이벤트 중복을 제거하며, 신선한 대화 전환만 허용합니다.
첫 번째 버전에서 얻은 교훈
초기 구현은 너무 느슨했습니다: 원시 텔레그램 컨텍스트가 공유 피드로 유출되어 "다른 봇이 어떻게 그걸 알았지?"라는 혼란을 일으켰습니다. 수정 방법은 원시 공유 로그에서 명시적인 브리지 안전 이벤트만 전송하도록 변경하는 것이었습니다.
현재 상태는 통제된 테스트에서 작동합니다:
- 봇 B → 봇 A: 릴레이를 통해
- 봇 A → 봇 B: 피드를 통해
- ACK는 릴레이 경로를 통해 흐름
- 한 봇에 명확히 지정된 메시지의 안전한 자동 미러링
목표 흐름
목표 대화 루프:
- 사용자나 봇 A가 봇 B에게 보내는 메시지를 작성합니다.
- 브리지가 안전하게 미러링합니다.
- 봇 B가 한 번 확인하고 한 번 응답합니다.
- 응답이 안전하고 관련이 있으면 다시 미러링됩니다.
- 중복, 오래된 백로그, 개인 DM 유출, 디버그 에코, 봇 루프가 없습니다.
아키텍처 방향
저자는 브리지를 채팅 해킹이 아닌 작은 이벤트 버스처럼 다룰 것을 제안합니다:
- 엄격한 메시지 ID와 nonce
- ACK, 중복 제거, 체크포인팅
- 개인 및 그룹 안전 컨텍스트 간의 엄격한 분리가 있는 범위 지정 피드
어려운 부분은 전달 의미론입니다—신선도, 중복 제거, ACK, 그리고 무한 루프를 일으키지 않고 봇이 자동 응답해야 하는 시점 결정.
📖 전체 원문 보기: r/openclaw
👀 See Also

OpenClaw 작업 공간 구성: 두 달 사용 후 얻은 교훈
OpenClaw 개발자의 경험에 따르면 작업 공간 품질이 에이전트 성능에 5-10배 영향을 미치며, SOUL.md, AGENTS.md, MEMORY.md, USER.md 및 스킬 구성에 대한 구체적인 지침이 제공됩니다.

플러그인 없이 OpenClaw 에이전트를 위한 4-파일 메모리 시스템
한 레딧 사용자가 네 개의 마크다운 파일을 활용한 실용적인 메모리 시스템을 공유합니다: USER.md는 정체성, CONTEXT.md는 현재 작업, MEMORY.md는 구조화된 주제, ARCHIVE.md는 완료된 항목을 담습니다. 이 접근법은 더 많은 메모리가 아닌 더 나은 파일 구조를 통해 '에이전트가 자신이 아는 것을 모른다'는 문제를 해결합니다.

사용자 경험에서 나온 OpenClaw 설정 팁: Gmail MCP, 프로필 플래그, 네트워킹 문제
Mac에서 UTM과 Ubuntu VM을 사용하여 OpenClaw를 실행하는 사용자가 겪은 특정 구성 문제를 공유했습니다: Gmail MCP 서버는 body 매개변수 대신 html_body가 필요하며, 하드코딩된 dev 신원을 피하려면 --profile prod 플래그가 필요하고, API 키는 paste-token 명령을 통해 auth-profiles.json에 배치해야 합니다.

Ollama로 OpenClaw를 완전히 로컬에서 실행하는 방법
Reddit 게시물에서 Ollama와 LLMFit을 사용하여 로컬 모델을 벤치마킹하고, 클라우드 API나 토큰당 과금 없이 OpenClaw를 완전히 로컬에서 실행하는 방법을 설명합니다.