nesquena/hermes-webui
Python18 / 0
Hermes Agent를 브라우저에서 1:1로 제어하는 self-hosted Web UI
TL;DR
Hermes WebUI는 Hermes Agent용 self-hosted 웹 인터페이스로 Python 백엔드와 vanilla JS 프런트엔드로 빌드 단계 없이 바로 실행됩니다. 기능적으로는 지속적 메모리, 세션·프로필 관리, 워크스페이스 파일 브라우저, 멀티 제공자 모델, SSE 기반 스트리밍, 패스키/WebAuthn과 같은 보안 옵션을 포함해 CLI와 거의 동일한 경험을 제공합니다. 배포는 Docker·Nix·단일 바이너리 스타일 부트스트랩을 모두 지원하고 GHCR에 사전빌드 이미지가 제공되며 테스트 스위트가 크므로 운영 준비도가 높은 편입니다. 단, WebUI가 hermes-agent 내부 상태에 직접 의존하므로 WebUI와 hermes-agent를 같은 릴리스 트레인으로 함께 업그레이드해야 안정성이 유지됩니다.
핵심 포인트
- Hermes WebUI는 Hermes Agent 생태계용 self-hosted 웹 애플리케이션으로, 브라우저에서 Hermes Agent를 직접 조작할 수 있도록 설계되어 있습니다. Python 기반의 백엔드와 vanilla JS 프런트엔드를 사용해 빌드 단계가 없고 bootstrap.py / start.sh / ctl.sh로 곧바로 구동할 수 있는 구조를 가집니다. 이 구조는 로컬 SSH 터널, Tailscale, Docker, Nix flake 등 다양한 배포 옵션과 모바일 접속을 지원해 개인 서버·홈랩 환경에서 Hermes 기능을 CLI 수준으로 접근하려는 사용 사례에 실용적입니다.
- 기능 집합은 지속적 메모리(persistent memory), 세션 관리, 작업(cron) 스케줄링, 멀티 제공자 모델 지원, 파일 워크스페이스 브라우저, 음성 입력, 프로필과 패스키/WebAuthn 같은 인증 옵션을 포함해 실제 운영 환경에서 필요한 관리·보안 요소를 포함합니다. 구현 측면에서는 SSE 토큰 스트리밍, attachments 저장 경로(~/.hermes/webui/attachments/<session_id>/), Prism.js 기반 문법 강조, 파일 미리보기와 편집, 툴 호출 카드와 서브에이전트 위임 카드 같은 UI 요소로 사용자 경험을 채웁니다. 이러한 설계로 CLI와 거의 1:1 동등한 경험을 웹에서 얻을 수 있고, 토큰·비용 표시나 승인 카드 등 운영 안전성을 고려한 기능이 갖춰져 있습니다.
- 운영·배포 관점에서 GHCR에 사전빌드 이미지가 제공되며 Docker Compose, 단일/다중 컨테이너, Nix flake, systemd/supervisor 같은 옵션을 공식 문서로 지원합니다. 테스트 스위트는 약 11,500개 테스트에 달하고 CI에서 ruff, 셰어드 pytest, 브라우저·도커 스모크를 실행해 품질 관리를 하고 있다는 증거가 있습니다. 또한 스타 수 17041, 포크 2329로 커뮤니티 관심도가 높으므로 활동성·문서 성숙도 면에서 신뢰할 근거가 됩니다.
- 주의점과 호환성 제약이 존재해 운영 전 고려가 필요합니다. WebUI는 현재 Hermes Agent 소스와 내부 상태에 직접 의존하는 방식이라 버전 미스매치가 문제를 일으킬 수 있으므로 WebUI와 hermes-agent를 함께 업그레이드하거나 동일 릴리스 트레인을 유지해야 합니다 (관련 이슈 #1925, #2491 참고). 두 컨테이너 구성에서 툴이 WebUI 컨테이너에서 실행되는 한계(#681), Windows/WSL 설치 차이로 인한 메모리·경로 차이(예: 네이티브 ~330 MB vs WSL2+Docker ~1080 MB) 등 운영상 트래드오프를 문서에 근거해 관리해야 합니다.
이미지 분석

17.4k
STARS
2.4k
FORKS
+204
TRENDING
18
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.