Show HN: Ghostty 기반 터미널, 수직 탭 및 알림
Source: Hacker News
Overview
저는 Claude Code와 Codex 세션을 여러 개 동시에 실행합니다. 이전에는 Ghostty의 분할 창을 사용하고 macOS 기본 알림을 통해 에이전트가 주의를 필요로 할 때를 확인했습니다. Claude Code의 알림 본문은 항상 “Claude is waiting for your input”이라서 상황을 알 수 없고, 탭이 많이 열리면 제목이 읽기 어려워집니다.
이를 해결하기 위해 cmux라는 macOS 네이티브 앱을 Swift/AppKit으로 만들었습니다. 이 앱은 libghostty를 사용해 터미널을 렌더링하고 기존 Ghostty 설정(테마, 폰트, 색상 등)을 읽어들입니다.
Features
-
Sidebar with vertical tabs
각 작업 공간에 대해 git 브랜치, 작업 디렉터리, 열려 있는 포트, 최신 알림 텍스트를 표시합니다. -
Notification system
- 터미널 시퀀스(OSC 9/99/777)를 감지합니다.
- Claude Code, OpenCode 등 에이전트 훅에 연결할 수 있는 CLI(
cmux notify)를 제공합니다. - 에이전트가 대기 중이면 해당 패널에 파란색 링이 표시되고 사이드바 탭이 빛납니다.
Cmd+Shift+U를 눌러 가장 최근의 읽지 않은 알림으로 이동합니다.
-
In‑app browser
- agent‑browser1에서 포팅한 스크립트 가능한 API를 제공합니다.
- 에이전트가 접근성 트리를 스냅샷하고, 요소 레퍼런스를 얻으며, 클릭, 폼 입력, JavaScript 평가, 콘솔 로그 읽기를 할 수 있습니다.
- 터미널 패널 옆에 브라우저 패널을 분할해서 Claude Code가 개발 서버와 직접 상호작용하도록 할 수 있습니다.
-
Full scriptability
- CLI와 소켓 API를 통해 작업 공간/탭 생성, 패널 분할, 키 입력 전송, 브라우저에서 URL 열기 등을 스크립트화할 수 있습니다.
Demo
Repository
Footnotes
-
https://github.com/vercel-labs/agent-browser (source of the in‑app browser API) ↩