gbasin/agentboard
Web GUI for tmux optimized for AI agent TUIs, with support for iOS safari and mac w/ keyboard shortcuts
Agentboard – tmux 기반 AI 에이전트용 웹 UI
개요
Agentboard는 tmux 세션 앞에 위치하는 작은 웹 애플리케이션으로, 각 패널을 별도의 “에이전트”(Claude, Codex, Pi 등)로 표시합니다. 로컬 및 원격 tmux 창을 감지하고, 에이전트의 JSON-L 로그를 읽고, xterm.js를 통해 라이브 터치 친화적 터미널을 제공합니다. LAN 또는 Tailscale 네트워크를 통해 노트북, 휴대폰, 태블릿 등 모든 기기에서 접근할 수 있습니다.
AI/LLM 워크플로우에서의 중요성
많은 개발자가 에이전트가 패널에 상태를 유지하고 ~/.claude/에 로그를 기록하기 때문에 터미널 멀티플렉서(tmux)에서 LLM 기반 어시스턴트를 실행합니다. 수십 개의 패널을 관리하고, 어떤 것이 입력을 기다리고 있는지 기억하며, 휴대폰에서 복사/붙여넣기를 하는 것은 어렵습니다. Agentboard는 다음과 같은 방법으로 이를 해결합니다:
- 에이전트 패널 자동 감지 및 현재 상태(작업 중, 대기 중, 권한 필요) 표시.
- 세션 메타데이터 유지로 패널을 최대 절전 모드로 전환하고 tmux 창을 닫아도 대화를 잃지 않고 나중에 다시 시작할 수 있습니다.
- iOS Safari에서 작동하는 모바일 최적화 UI(터치 스크롤, 가상 방향키, 이미지 붙여넣기) 제공.
- SSH를 통한 원격 tmux 감지 지원으로 단일 대시보드에서 여러 머신에서 실행되는 에이전트를 모니터링할 수 있습니다.
핵심 기능(README 설명 기준)
| 기능 | 제공 내용 |
|---|---|
| 세션 감지 | 로컬 tmux 창 및 SSH를 통한 선택적 원격 호스트를 폴링하고 각각을 사이드바의 카드로 표시합니다. |
| 상태 추론 | 패널 출력과 Claude/Codex JSONL 로그를 읽고 세션을 작업 중, 대기 중, 권한 요청 중으로 분류합니다. |
| 라이브 터미널 | WebSocket을 통해 I/O를 React + xterm.js 프론트엔드로 스트리밍하며, 입력, 스크롤, 마우스 이벤트 전송이 가능합니다. |
| 최대 절전 / 기록 | 휴면 세션을 계속 표시하고, tmux 창은 닫지만 메타데이터는 유지하며, 한 번의 클릭으로 다시 시작할 수 있습니다. |
| 모바일 UI | iOS Safari 지원: 이미지 붙여넣기, 가상 D-패드, 빠른 키 도구 모음, 길게 누르기 선택, 클립보드 전달. |
| Claude Code 전체 화면 | 마우스 지원이 포함된 Claude의 플리커 없는 렌더러를 기본으로 활성화합니다. |
| 원격 tmux 지원 | 다른 호스트의 선택적 SSH 폴링, 기본은 보기 전용이며 선택적으로 연결/제어 플래그를 제공합니다. |
| 의존성 위험 스캐너 | npm/Bun 의존성의 보안 및 유지 관리 문제를 감사하는 내장 bun run deps:risk. |
| 세션 복구 | 세션 이름, 프로젝트 경로, 시작 세부 정보를 저장하고 재부팅 후 중단된 세션을 다시 열 수 있습니다. |
| 키보드 단축키 | 빠른 탐색 및 세션 관리(Ctrl+Option+N 새로 만들기, Ctrl+Option+X 종료 등). |
| 구성 가능한 환경 변수 | 감지 접두사, 클립보드 처리, tmux 동기화, 원격 폴링 간격, 이미지 붙여넣기 제한 등을 세밀하게 제어할 수 있습니다. |
시작 방법
- 사전 요구 사항 –
tmux와 (권장) 쉬운 네트워킹을 위한Tailscale을 설치합니다. - 설치 – 다음 중 하나를 선택합니다:
- Homebrew:
brew tap gbasin/tap && brew install agentboard && agentboard - npm:
npm install -g @gbasin/agentboard && agentboard - npx:
npx @gbasin/agentboard - 소스에서(Bun 1.3.14+ 필요):
bun install && bun run dev(개발 서버는 5173 포트) 또는bun run build && bun run start(프로덕션은 4040 포트).
- Homebrew:
- 브라우저에서
http://localhost:4040(또는 머신의 LAN/Tailscale 주소)을 열면 대시보드가 표시됩니다. - (선택 사항) 지속적인 백그라운드 서버를 위해 systemd 또는 launchd 서비스를 설정합니다.
보안 참고 사항
Agentboard는 인증을 제공하지 않습니다. HTTP/WebSocket 엔드포인트에 접근할 수 있는 사람은 누구나 전체 터미널 액세스 권한을 얻습니다. 기본 바인딩은 127.0.0.1이며 로컬 사용에 안전합니다. 공개적으로 노출하려면 추가 네트워크 수준 보호(예: Tailscale, VPN, 방화벽) 또는 인증이 있는 리버스 프록시가 필요합니다.
위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트