TL;DR

  • Lazychat은 macOS 12 이상에서 Claude Code와 Codex 세션을 나란히 실행하고, 프로젝트별 Git과 셸을 한 키로 이용하는 터미널 사용자 인터페이스(TUI)임.
  • 프로젝트별 워크스페이스에서 에이전트 세션을 시작·재개하고, 입력 대기·완료·실패 상태와 프롬프트 흐름 및 컨텍스트 사용량을 확인할 수 있음.
  • Git 변경사항을 트리와 색상 diff로 살펴보고, 일부 행만 스테이징하거나 커밋 메시지를 제안받을 수 있음.
  • 각 프로젝트 폴더에서 일반 셸을 열 수 있으며, 설정에서 테마·탭·커밋 메시지 작성 에이전트를 지정할 수 있음.
  • Homebrew 또는 소스 설치를 지원하며, AGPL-3.0 라이선스에 따라 수정본을 배포하거나 서비스로 운영할 때도 오픈 소스로 유지해야 함.

설치

  • macOS 12 이상을 실행하는 Apple 실리콘 또는 Intel Mac과, 로그인된 Claude Code 또는 Codex 계정이 필요함.
  • Homebrew 설치는 brew install perpeer/tap/lazychat 명령으로 진행하며, Lazy 메뉴 막대 앱도 함께 빌드되어 macOS 경고 없이 열림.
  • 설치 후 lazychat으로 실행하고, lazychat doctor로 준비된 항목과 추가로 필요한 항목을 확인할 수 있음.
  • lazychat으로 시작할 때마다 실행하며, brew services start lazychat을 사용하면 로그인할 때마다 메뉴 막대에서 실행됨.
  • brew upgrade lazychat으로 새 릴리스를 설치하며, 업데이트가 있으면 Lazychat이 버전 옆에 초록색으로 표시함.
  • 현재는 자체 탭에서 배포하며, Homebrew 공식 목록에 등록되려면 별점 225개가 필요함. 등록 후 설치 명령은 brew install lazychat이 됨.
  • 소스 설치는 저장소를 복제하고 ./install.sh를 실행하는 방식임: https://github.com/perpeer/lazychat.
  • 설치 스크립트는 먼저 Mac 환경을 점검하고 누락 항목과 설치 방법을 안내하며, ./install.sh --check는 점검만 수행함.
  • Go가 없으면 Homebrew로 설치하며, 오래된 Go 버전은 Lazychat이 필요한 버전을 자체적으로 가져옴. 실행 파일은 ~/.local/bin/lazychat에 빌드되고 Lazy 메뉴 막대 앱은 Applications에 추가됨.
  • 제거는 Homebrew 설치의 경우 brew uninstall lazychat, 소스 설치의 경우 ./uninstall.sh로 진행함. 설정과 워크스페이스는 유지되며, ./uninstall.sh --purge를 사용하면 함께 제거됨.
  • 프로젝트와 에이전트 자체 파일은 제거 과정에서 건드리지 않음.

빠른 시작

  • lazychat을 실행하고 작업할 프로젝트 묶음인 워크스페이스 이름을 지정함.
  • o를 누르고 프로젝트 폴더를 선택함.
  • n을 눌러 해당 폴더에서 Claude Code 또는 Codex를 시작하고, Enter로 입력을 보내며, ctrl+q로 돌아옴.
  • Tab으로 탭 사이를 이동하고 ?를 눌러 현재 화면에서 사용할 수 있는 키를 확인함.
  • lazychat doctor로 사용 가능한 에이전트와 준비되지 않은 이유를 확인함.

기능

채팅: 에이전트를 나란히 관리

  • 모든 세션은 프로젝트 아래에 표시되고 옆에 터미널이 배치됨. 어느 에이전트가 작업 중인지, 입력을 기다리는지, 마지막 프롬프트에 걸린 시간이 얼마인지 한눈에 확인할 수 있음.
  • n은 새 세션을 시작하고, r은 기존 세션을 재개하며, w는 에이전트가 작업 중인 동안 다음 프롬프트를 작성함.
  • i를 누르거나 여러 세션이 입력을 기다리는 동안 메뉴 막대의 Lazy를 클릭하면 받은 편지함이 열림. 질문이 있거나 작업을 마친 세션이 표시되며, Enter로 세션을 열 수 있음.
  • 3을 누르면 세부 정보 화면을 확인할 수 있음.
  • 프롬프트 흐름은 git log --graph처럼 표시됨. 호출한 도구와 접근한 파일 또는 실행한 명령이 순서대로 나타나며, 하위 에이전트는 분기 후 복귀하는 가지로 표시됨. 사용자에게 한 질문과 각 단계에서 컨텍스트에 추가된 내용도 확인할 수 있음.
  • 세션 컨텍스트는 Claude Code의 /context처럼 표시됨. 컨텍스트 창의 사용량, 이를 채우는 항목, 결과 사용량이 가장 큰 도구, 현재 속도에서 추가로 처리할 수 있는 프롬프트 수를 확인할 수 있음.
  • 화면 아래 표에는 최근 프롬프트 10개의 상태, 소요 시간, 토큰 수, API 비용이 표시됨.
  • Lazychat이 열릴 때 인사말을 표시하고, 세션이 프롬프트 작업을 시작하거나 질문하거나 완료 또는 실패할 때 소리를 재생함. 설정에서 소리를 끌 수 있음.

Git: 화면을 벗어나지 않고 스테이징·diff·커밋

  • 변경사항은 폴더 트리로 표시되고, diff는 코드 언어별 색상과 함께 한 줄씩 살펴볼 수 있음.
  • v로 행을 선택하고 스페이스바로 선택한 행만 스테이징할 수 있음.
  • 최근 커밋과 저장소의 워크트리를 확인할 수 있음.
  • Suggest는 스테이징한 변경사항을 바탕으로 에이전트에 커밋 메시지를 요청함.
  • 브랜치 화면의 키 조작은 c 커밋, p 풀, shift+p 푸시, b 브랜치, w 워크트리임.

터미널: 모든 프로젝트에 셸 제공

  • 에이전트가 처리하지 않는 작업을 위한 일반 셸을 각 프로젝트 폴더에서 실행할 수 있음.
  • 터미널 화면에서 Enter로 이어서 작업하고, n으로 새 터미널을 열며, e로 이름을 바꾸고, v로 복사하며, d로 닫을 수 있음.

설정과 참고 문서

  • 설정에서 테마, 표시할 탭, 커밋 메시지를 작성할 에이전트를 지정할 수 있음.
  • 모든 키와 화면은 참조 문서에 정리되어 있음.

영감

  • Lazychat은 Jesse Duffield의 lazygit과 lazydocker에서 영감을 받음. 이 터미널 사용자 인터페이스는 모든 기능을 한 키로 이용하는 방식을 제공하며, Lazychat은 이를 AI 코딩 에이전트에 적용함.

라이선스

  • 라이선스는 AGPL-3.0이며 자세한 내용은 LICENSE에 명시됨.
  • Lazychat은 자유롭게 사용·수정·공유할 수 있음. 수정본을 배포·판매하거나 서비스로 운영하는 경우에도 오픈 소스로 유지하고 NOTICE의 저작자 표시를 보존해야 함.

기여

  • 버그 보고, 아이디어, 풀 리퀘스트를 받으며, 이슈를 열어 다음에 지원할 에이전트를 제안할 수 있음.
  • CONTRIBUTING.md에서 코드 구성과 테스트 방법을 설명함.