tony1223/better-agent-terminal

Multi-workspace terminal aggregator with Claude Code AI integration

Better Agent Terminal – 무엇인가요

Better Agent Terminal (BAT) 는 여러 명령줄 터미널을 병렬로 실행하면서 AI 코딩 어시스턴트(Claude Code 및 OpenAI Codex)와 대화할 수 있는 데스크톱 애플리케이션입니다. Tauri 2(Rust 기반 네이티브 래퍼)와 React + TypeScript UI로 구축되어 Windows, macOS, Linux에서 모두 작동합니다.

핵심 아이디어

  • 하나의 창, 여러 작업공간 – 각 작업공간은 프로젝트 폴더와 연결되며, 여러 터미널, 파일 브라우저, Git 뷰어, AI 에이전트 패널을 포함할 수 있습니다.
  • AI 에이전트가 우선 – Anthropic Claude Code SDK와 선택적 OpenAI Codex SDK를 내장하여, 터미널을 벗어나지 않고도 파일 편집, 명령 실행, 코드 생성을 모델에 요청할 수 있습니다.
  • 모든 것이 로컬에서 – 호스트 계층은 Rust, UI는 웹뷰이며, 아직 Rust로 이식되지 않은 SDK는 작은 Node 사이드카만 사용합니다.

주요 기능 (일반적인 영어)

작업공간 관리

  • 다중 작업공간 – 같은 앱에서 별도의 프로젝트를 열 수 있습니다.
  • 드래그 앤 드롭으로 작업공간 순서나 그룹을 재정렬할 수 있습니다.
  • 프로필 – 로컬 또는 원격 작업공간 세트를 저장하고 전환할 수 있습니다.
  • 분리 가능한 창 – 작업공간을 별도의 창으로 떼어낼 수 있습니다.
  • 작업공간별 환경 변수와 실행 중인 터미널을 나타내는 활동 점.

터미널 및 도구

  • xterm.js 기반 터미널로 완전한 유니코드 지원.
  • 스플릿 패널 레이아웃 – 큰 메인 터미널과 모든 터미널의 썸네일 스트립.
  • 에이전트 프리셋 – 미리 Claude Code, Claude Code (worktree), Codex, 또는 일반 쉘에 연결된 터미널을 열 수 있습니다.
  • Git worktree 격리 – AI가 임시 Git worktree에서 작업하므로 메인 코드에 영향을 주지 않습니다.
  • 스니펫 매니저 – 재사용 가능한 코드 스니펫 저장 (SQLite 기반).
  • Markdown 미리보기.md 파일의 실시간 미리보기.
  • Procfile 스타일 워커 패널 – Procfile에 정의된 여러 프로세스를 실행하고 통합 로그를 확인할 수 있습니다.

Claude Code 에이전트 패널

  • Claude Code 모델을 앱 내부에서 실행 (외부 터미널 필요 없음).
  • 스트리밍 출력과 접을 수 있는 "사고 블록".
  • 권한 모드 – 각 도구 사용 시 프롬프트 요청부터 편집 자동 승인까지.
  • 세션 처리 – 일시정지/재개, 대화 포크, 토큰 제한 도달 시 컨텍스트 자동 압축.
  • 풍부한 상태 표시줄 – 세션 ID, Git 브랜치, 토큰 수, 비용, API 레이트 제한 사용량 등 표시.
  • 캐시 인식 – 재사용된 캐시 토큰 수를 표시하고, 큰 캐시 만료 시 경고.
  • 슬래시 명령어 (/model, /resume, /auto-continue, …)로 채팅 상자에서 에이전트 제어 가능.

Codex 에이전트 (옵션)

  • @openai/codex-sdk 사용.
  • 여러 OpenAI 모델 지원 (GPT-5.5, 5.4, 5.3-codex, o4-mini, o3, GPT-4.1).
  • Claude와 동일한 사전/워크트리 격리 및 승인 정책.
  • 세션 트랜스크립트는 로컬에 저장되어 빠른 재개 가능.

의미적 코드 탐색 (옵션)

  • cx CLI (tree-sitter 기반)와 통합되어 에이전트가 전체 파일을 로드하지 않고도 빠르게 파일 개요, 심볼 목록, 정의, 참조를 요청할 수 있습니다. 이는 대규모 코드베이스에서 토큰 예산을 절약합니다.

국제화

  • UI는 영어, 번체 중국어, 간체 중국어로 제공됩니다.

설치 방법

플랫폼 설치 방법
macOS brew install --cask tonyq-org/tap/better-agent-terminal
Windows (계획 중) choco install better-agent-terminal
Linux GitHub 릴리스 페이지에서 .AppImage (x86_64 또는 arm64) 다운로드
모든 플랫폼 1줄 빠른 설치 스크립트 실행: `curl -fsSL https://raw.githubusercontent.com/tony1223/better-agent-terminal/main/install.sh

Node 18+, Rust stable, 그리고 일반적인 Tauri 빌드 도구가 있으면 소스에서 빌드할 수도 있습니다.


아키텍처 개요

better-agent-terminal/
├─ renderer/            # React UI (TypeScript)
│   └─ components/ …   # 작업공간, 터미널, 에이전트 패널 등
├─ src-tauri/           # Rust 호스트 – PTY 처리, IPC, 원격 서버
├─ node-sidecar/        # 아직 Rust로 이식되지 않은 SDK용 작은 Node 프로세스
├─ assets/              # 아이콘 및 스크린샷
└─ package.json
  • 프론트엔드: React 18 + Vite + i18next.
  • 터미널: xterm.js + node-pty.
  • AI 백엔드: @anthropic-ai/claude-agent-sdk (Claude), @openai/codex-sdk (Codex).
  • 저장소: 스니펫 및 세션 데이터용 better-sqlite3.
  • 원격 제어: 실험적 WebSocket 서버 (포트 9876)로 다른 BAT 인스턴스나 모바일 앱이 QR 코드를 통해 연결 가능.

누구에게 적합한가요?

  • 빌드/감시 명령어 실행, Git 이력 확인, LLM에 코드 편집을 요청할 수 있는 개발자.
  • 여러 기기 간 재현 가능한 작업공간 레이아웃(프로필)이 필요한 .
  • 키보드 단축키를 선호하고 LLM 도구 권한을 세밀하게 제어하고 싶은 파워 유저.
  • 모바일 중심 작업자 – 모바일 앱이 데스크톱 BAT 인스턴스에 연결해 원격 제어 가능.

빠른 시작 체크리스트

  1. 앱 설치 (brew, AppImage, 또는 스크립트).
  2. 앱을 열고 프로젝트 폴더를 가리키는 작업공간 생성.
  3. 해당 작업공간의 터미널을 열고 에이전트 프리셋 목록에서 Claude Code (또는 Codex) 선택.
  4. Create a React component that fetches data from /api/items 와 같은 프롬프트 입력.
  5. 모델이 파일을 편집하거나 명령을 실행하거나 설명을 요청하는 모습을, 동일한 창 내에서 관찰.

결론

Better Agent Terminal은 LLM 코딩 어시스턴트를 밀접하게 통합한 기능 풍부한 크로스플랫폼 터미널 매니저입니다. IDE 스타일 레이아웃의 편의성을 유지하면서도 터미널의 본격적인 파워를 유지하며, AI가 코드베이스에 얼마나 많은 자율성을 갖게 할지 제어할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트