OpenClaw 에이전트 릴레이 플러그인, 다중 에이전트 설정에서 텔레그램 전송 문제 해결

한 개발자가 다중 에이전트 설정에서 sessions_send가 Telegram 사용자에게 응답을 전달하지 못하는 문제를 해결하는 openclaw-agent-relay 플러그인을 공개했습니다.
sessions_send의 문제점
에이전트 간 메시지를 전달하기 위해 sessions_send를 사용할 때, 대상 에이전트의 응답이 사용자의 Telegram에 도달하지 않고 channel=webchat(내부 채널)로 이동합니다. 이는 sessions_send가 세션과 대화 기록은 보존하지만 전달을 제대로 처리하지 않기 때문에 발생합니다. 이 문제는 NOT_PLANNED로 표시된 폐쇄된 티켓 #13374에 문서화되어 있습니다. 또한 세션의 전달 컨텍스트를 telegram에서 webchat으로 영구적으로 뒤집어버려 손상시킬 수 있습니다(#44153 및 #31671 참조).
기존 해결책과 한계
개발자들은 주로 두 가지 접근법을 시도해 왔습니다:
- 명시적 메시지 도구 사용: 대상 에이전트가 channel: "telegram"과 명시적 to/threadId로 메시지를 호출한 후 ANNOUNCE_SKIP을 반환합니다. 이는 #47971 및 #28603에 문서화되어 있습니다. 문제점으로는 모든 sessions_send 페이로드에 전달 지침을 포함해야 하며, 특히 긴 세션에서 에이전트가 해결책 사용을 잊어버리는 경우가 있습니다.
- 알림 단계 의존: timeout=0을 사용하여 에이전트가 사용자에게 보이는 응답을 작성할 수 있는 알림 단계를 얻습니다. 그러나 모델들은 내용을 작성하기보다 ANNOUNCE_SKIP을 반환하는 경향이 있습니다(#43295). 알림 전달에도 문제가 있습니다: Telegram 주제에 대한 threadId를 삭제하고(#47971, #45878), 다중 채널 설정에서 조용히 실패하며(#47524), ANNOUNCE_SKIP 텍스트가 사용자에게 유출될 수 있습니다(#45084).
해결책: openclaw-agent-relay
이 플러그인은 sessions_send와 알림을 모두 완전히 우회합니다. 내부적으로 하위 에이전트가 사용하는 동일한 게이트웨이 WebSocket RPC(callGateway({ method: "agent" }))를 사용하여 deliver: true로 기존 세션에서 에이전트 턴을 트리거합니다. 에이전트는 특별한 지침, ANNOUNCE_SKIP 또는 메시지 도구 해결책 없이 정상적으로 응답하며, 응답은 직접 Telegram으로 전송됩니다.
사용 방법
두 가지 방법을 사용할 수 있습니다:
- 도구 wake_agent: 모든 에이전트가 자신의 세션에서 다른 에이전트를 깨우기 위해 호출할 수 있습니다:
wake_agent({ sessionKey: "agent:my-agent:telegram:direct:123456", message: "Hey, remind the client about the contract" }) - HTTP POST /notify: 크론 작업, 스크립트 또는 외부 트리거용:
curl -X POST http://127.0.0.1:18790/notify \ -H "Authorization: Bearer your-secret-token" \ -H "Content-Type: application/json" \ -d '{"sessionKey":"agent:my-agent:telegram:direct:123456", "message":"Reminder: client asked for the contract"}'
설치
다음 명령으로 설치: openclaw plugins install openclaw-agent-relay
개발자는 게이트웨이 RPC 인증 구현에 Ed25519 장치 식별, 챌린지-응답 프로토콜 및 문서화되지 않은 프로토콜 특이점 작업이 포함되었다고 언급했습니다.
📖 전체 소스 읽기: r/openclaw
👀 See Also

90분 만에 앱 스토어 영상을 만든 솔로 개발자, Claude + Blender MCP 활용
Reddit 사용자 Positive_Camel2086이 Claude와 Blender MCP 서버를 사용하여 10초짜리 수직 런칭 비디오를 제작한 방법을 설명합니다. 대화형 프롬프트를 통해 카메라 리깅, 재질, 안개 및 파티클 시스템을 자동화했습니다.

오픈소스 프레임워크, 자동화된 GitHub 저장소 모니터링을 위해 Claude Code CLI 활용
한 개발자가 Claude Code CLI를 cron 일정으로 실행하여 여러 저장소 간 GitHub 활동을 분류하는 프레임워크를 오픈소스로 공개했습니다. 이 도구에는 상태 추적, 중복 제거, Discord 알림, 그리고 변경사항이 없을 때 API 비용을 피하는 사전 확인 시스템이 포함되어 있습니다.

GGUF 모델 병합 스크립트 및 Qwen3.5-35B 변형을 위한 워크플로우
레딧 사용자가 최소 손실로 GGUF 모델 파일을 병합하는 파이썬 스크립트를 공유했습니다. 특히 HauhauCS의 Qwen3.5-35B-A3B-Uncensored 모델과 samuelcardillo의 Claude-4.6-Opus-Reasoning-Distilled 버전을 결합합니다. 이 스크립트는 Google Colab Free Tier에서 실행되며 llama-quantize를 통한 양자화 지원을 포함합니다.

TinySearch v0.2.0: 로컬 LLM을 위한 경량 웹 검색, 이제 SearXNG 지원
TinySearch v0.2.0이 검색 백엔드를 DuckDuckGo에서 SearXNG로 전환했습니다. 웹을 검색하고 페이지를 크롤링하여 Qwen3.5-9B 같은 로컬 LLM에 최적화된 컨텍스트(8k 토큰)를 제공합니다.