Crush
세션을 세션대로 나눠 쓰는 터미널 코딩 에이전트
brew install charmbracelet/tap/crushCharm 이 만든 터미널 코딩 에이전트입니다. 프로젝트마다 세션을 따로 두고, 대화 중간에 컨텍스트를 유지한 채 모델을 바꿔 낄 수 있습니다. OpenAI 나 Anthropic 호환 API 를 붙이면 원하는 모델을 씁니다.
판단
이럴 때 씁니다
- 프로젝트별로 작업 맥락을 따로 유지하고 싶을 때
- 대화 도중 모델을 바꿔도 컨텍스트가 유지되길 바랄 때
- OpenAI 나 Anthropic 호환 API 를 직접 붙여 쓰고 싶을 때
- 터미널 UI 완성도를 중시할 때
이럴 땐 쓰지 마세요
- FSL 라이선스가 조직 정책과 맞지 않을 때. 2년 뒤 MIT 로 전환되는 조건부 라이선스입니다
- 데스크톱 GUI 가 필요할 때
- 공식 벤더 지원이 필요한 환경일 때
차별점
- 세션을 프로젝트별로 여러 개 유지합니다.
- 대화 중간에 모델을 바꿔도 컨텍스트를 이어 갑니다.
- Charm 특유의 터미널 UI 완성도를 갖췄습니다.
- Go 단일 바이너리라 설치 경로가 다양합니다.
워크플로
- 01Homebrew 나 go install, npm 중 편한 경로로 설치합니다.
- 02프로젝트 디렉터리에서 crush 를 실행하고 프로바이더를 설정합니다.
- 03작업 단위로 세션을 나눠 두고 필요할 때 이어서 씁니다.
- 04무거운 작업과 가벼운 작업에 다른 모델을 물려 비용을 조절합니다.
주요 명령
| 명령 | 설명 |
|---|---|
brew install charmbracelet/tap/crush | macOS 와 리눅스에서 Homebrew 로 설치합니다. |
npm install -g @charmland/crush | npm 으로 설치합니다. |
go install github.com/charmbracelet/crush@latest | Go 툴체인으로 설치합니다. |
함정
설치 전에 확인하세요
- 라이선스가 FSL-1.1-MIT 입니다. 경쟁 제품을 만드는 용도를 제한하며 2년 뒤 MIT 로 풀리는 구조라 사내 정책 확인이 필요합니다.
- 야간 빌드 태그가 릴리스 목록 맨 위에 있습니다. 안정 버전을 쓰려면 v 로 시작하는 태그를 골라야 합니다.
- go install 로 넣을 때 SQLite 잠금 방식 때문에 빌드 태그를 요구하는 환경이 있습니다.
비교
goose 가 데스크톱 앱과 예약 실행까지 품는다면, Crush 는 터미널 안에서 세션과 모델 전환에 집중합니다. 라이선스는 갈림길입니다. MIT 나 Apache 를 요구하는 조직이라면 FSL 조건을 먼저 확인해야 합니다.
최근 변경
안정 릴리스는 v0.92.0 이고 야간 빌드가 매일 따로 나옵니다. 릴리스 아티팩트는 cosign 으로 서명돼 있어 checksums 파일과 서명 번들로 검증할 수 있습니다. 릴리스 목록 맨 위가 nightly 태그이므로 안정 버전을 받으려면 버전 태그를 직접 골라야 합니다.