Show GN: 노트북 덮어도 안 죽는 Claude CLI 멀티세션 웹 터미널
요약
Claude CLI 세션을 브라우저에서 멀티 세션으로 관리할 수 있는 웹 터미널 도구입니다. 서버 사이드 PTY를 사용하여 노트북을 덮거나 연결이 끊겨도 작업이 유지되며, Docker 컨테이너 내 Claude 실행도 지원합니다.
핵심 포인트
- 브라우저 탭을 통한 다중 Claude CLI 세션 관리
- 세션 영속화로 PC 재시작 시에도 작업 자동 복원
- Docker 컨테이너 내부 경로에서 Claude 실행 지원
- Python aiohttp와 XTerm.js 기반의 경량 아키텍처
브라우저 탭으로 여러 Claude CLI 세션을 한 번에 굴리는 웹 터미널을 만들었습니다.
세션은 서버에 PTY 로 떠 있고 브라우저는 그 화면을 보여줄 뿐이라서, 브라우저를 닫아도 노트북을 덮어도 작업이 계속됩니다. PC 를 끄고 켜도 자동 --resume
으로 세션이 복원됩니다.
주요 특징
멀티세션— 탭/사이드바 UI 로 N 개의 Claude CLI 를 한 화면에서 전환·관리세션 영속화—~/.claude-web-terminal/sessions.json
에 자동 저장, 서버/PC 재시작 시 자동 복원Docker 컨테이너— 호스트뿐 아니라 실행 중인 컨테이너 안의 폴더를 골라 그 안에서 Claude 실행 (docker exec -it -w <path> <container> claude
)외부 Claude 프로세스 감지— 이미 떠있는 다른 터미널의 claude 에 연결 (Linux/proc
)재접속 시 스크롤백 복원— 200KB 버퍼단일 파일 프론트— Vanilla HTML/CSS/JS, XTerm.js + 약 2,400 줄단일 파일 백엔드— Python aiohttp + PTY + WebSocket, 약 500 줄
스택
- 백엔드: Python 3.10+ / aiohttp / PTY / WebSocket
- 프론트: Vanilla HTML·CSS·JS, XTerm.js 5.5, FitAddon, WebLinksAddon
- 인증: 없음 — 127.0.0.1 바인딩 권장 (LAN 노출 시 reverse proxy + basic auth)
자동 실행
- macOS: LaunchAgent plist (README 에 템플릿 포함)
- Linux: systemd user service +
loginctl enable-linger
한 줄 설치
git clone https://github.com/kimtaeyeong1229/claude-web-terminal
cd claude-web-terminal && pip install -r requirements.txt
python3 server.py --host 127.0.0.1 --port 8080
브라우저에서 http://127.0.0.1:8080
.
만든 동기
- Claude CLI 가 좋아서 자주 쓰는데 터미널 창 N 개 띄우기가 번거로움
- 노트북 덮으면 죽거나, ssh 끊기면 세션 끊기는 게 싫음 → 서버 사이드 PTY 로 분리
- 도커 환경에 들어가서 claude 띄우려고
docker exec -it
하는 절차가 매번 귀찮음 → UI 에 통합
한계
- 인증 없음 — 로컬/신뢰 네트워크 전제
- 외부 프로세스 감지는 Linux 만 (macOS 는
/proc
없음) - 멀티유저/계정 분리 없음 — 단일 사용자 도구
피드백/이슈 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 RSS: GeekNews (한국어)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기