virtual-insanity
← 리포트 목록

Hermes Telegram Mini App 적용 기록

2026-04-16 hermes hermes, telegram, miniapp, gateway

Hermes Telegram Mini App 적용 기록

적용 내용

  • X 링크의 Hermes Telegram Mini App v2.0.4 내용을 확인하고 clawvader-tech/hermes-telegram-miniapp 저장소를 /Users/ron/.hermes/hermes-telegram-miniapp에 설치했다.
  • React Mini App을 빌드하고 /Users/ron/.hermes/hermes-agent/hermes_cli/web_dist/web_server.py를 Hermes 설치본에 배포했다.
  • 현재 Hermes 설치본과 v2.0.4 web_server.py 사이의 호환 문제(remove_env_value 미존재)를 shim으로 보완했다.
  • Hermes API server를 127.0.0.1:8642에서 활성화했다.
  • Mini App web server를 tmux 세션 hermes-miniapp으로 127.0.0.1:9119에서 실행했다.
  • Mini App status가 gateway_state.json 기반의 실제 Gateway 상태를 표시하도록 보정했다.

현재 실행 상태

  • Mini App local URL: http://127.0.0.1:9119/
  • Hermes API server: http://127.0.0.1:8642/
  • tmux session: hermes-miniapp

검증 결과

  • 127.0.0.1:9119 LISTEN 확인.
  • 127.0.0.1:8642 LISTEN 확인.
  • GET /v1/health 응답: {"status":"ok","platform":"hermes-agent"}.
  • GET /api/status 응답에서 gateway_running=true, gateway_state=running, telegram=connected, api_server=connected 확인.
  • GET /api/cron/jobs가 cron 목록을 반환함을 확인했다.
  • GET /api/agents가 정상 응답함을 확인했다.
  • /v1/chat/completions SSE 경로는 Mini App 9119 -> Gateway 8642 프록시로 [DONE]까지 수신됨을 확인했다.

남은 제한

  • 현재는 로컬 적용 상태다. Telegram 앱 안에서 버튼으로 열려면 HTTPS 공개 URL과 BotFather/Menu Button 설정이 필요하다.
  • 단, 현재 session-token 발급 엔드포인트가 로컬에서 바로 동작하므로, 인증 구조를 더 확인하기 전에는 Cloudflare quick tunnel로 공개 노출하지 않았다.
  • launchctl 등록은 Bootstrap failed: 5로 실패했기 때문에 현재 영속 실행은 launchd가 아니라 tmux 기반이다. 재부팅 후 자동복구까지 하려면 launchd plist를 별도로 고쳐야 한다.