Cha에서 Ch로

프로젝트의 GitHub 저장소

큰 발표

저는 **Cha**를 종료하고 **Ch**에 집중하고 있습니다. 2025년 8월 23일에 Cha를 더 이상 유지하지 않는 것으로 표시하고, 앞으로의 모든 개발 노력은 Ch에 집중하도록 했습니다. 이제 철학은 단순합니다: 단순하고, 가볍고, 빠른 도구 하나를 유지하고, 유지보수하고, 버그를 고치는 것. 기능을 무작정 쫓지 않기.

내가 원래 Cha를 만든 이유

LLM과 ChatGPT가 새로 나왔을 때, 내가 원하던 CLI 도구들은 결코 나오지 않았습니다. ChatGPT는 2022년 11월에 출시되었고, 2023년 초 GPT-4가 공개되면서 정말 크게 주목받았습니다. 저는 제대로 된 명령줄 도구가 나오기를 기다렸지만, 그 어떤 것도 제가 원하던 방식으로는 제대로 작동하지 않았습니다. 그래서 Cha를 만들었고 매일 사용했습니다. 사실 제 첫 블로그 글에서 저는 아주 분명하게 말했습니다: 이런 프로젝트들은 흔했지만, 제 필요를 충족하는 것은 하나도 없었기에 직접 만들었다고요.

Cha는 제 애착이 담긴 도구였습니다. 저는 매일 사용했고, 만드는 과정도 정말 즐겼습니다. 그리고 1년 안에 GitHub에서 +60개 이상의 별을 얻으며 조금 성장했습니다. 그동안 Cha는 웹 스크래핑, YouTube 대본 가져오기, 이미지 생성, 여러 줄 입력, 대화식/비대화식 채팅, STT 프롬프트 입력, 사용자 지정 도구 지원, OpenAI뿐 아니라 다양한 다른 플랫폼 지원, 자체 Answer Search 엔진, 고급 디렉터리 탐색 및 파일 편집, 내용을 클립보드에 복사하는 기능, 응답 TTS 등 많은 기능을 갖추게 되었습니다. 정말 많은 일을 했고, 잘 작동했으며, 명령줄 도구로서 정말 유용하고 강력했습니다.

Ch로 이전한 이유(Python에서 Go로)

시간이 지나면서 Cha는 무거워졌습니다. 훌륭한 기능 집합이었지만, 제가 일상적으로 필요로 하는 것에 비해 표면적이 너무 넓었습니다. 그 결과 Cha는 정말로 비대해졌습니다. 게다가 Python으로 작성되었다는 점도 두 가지 치명적인 문제를 만들었습니다. 하나는 속도였는데, 단순한 초기 로드 시간만 해도 여전히 0.8초가 걸렸고, 이는 Python의 느린 초기 패키지 import 시간과 멀티프로세싱 사용을 우회하기 위해 많은 최적화와 엔지니어링을 한 뒤의 결과였습니다. 그리고 Python은 설치가 매우 어렵습니다. Cha가 다양한 서드파티 오픈소스 도구에 의존했기 때문에 설치가 매우 어려웠습니다. 제 전환점은 Android(https://en.wikipedia.org/wiki/Android_(operating_system)) 태블릿에서 iTermux를 실행한 채 여행 중이었을 때였는데, 그때는 아예 전혀 작동하지 않았고, 그나마 어느 정도라도 작동하게 만드는 일은 매우 고통스럽고 무의미했습니다.

그래서 저는 Ch라는 새로운 실험을 시작하기로 했습니다. Ch는 Cha와 같지만 Python 대신 **GoLang**으로 작성되고, Cha의 필수 기능만 포함하면서 가볍고, 빠르고, 대부분의 시스템에 쉽게 설치할 수 있고, 기능이 지나치게 많지 않다는 아이디어를 가진 도구가 될 것이었습니다. 그렇게 함으로써 단독 유지보수자로서 프로젝트를 더 쉽게 유지할 수 있게 됩니다.

몇 달 동안 Ch를 작업하고 사용해 보니, Cha의 미래는 원래의 Cha 코드베이스가 아니라 Ch를 통해서라는 사실을 알게 되었습니다. 저는 Cha에 너무 많은 시간을 쏟았고, 단일 개발자로서 두 코드베이스를 모두 유지하는 것은 시간이 많이 들었으며, Ch는 훨씬 가볍고, 빠르고, 설치하기 쉬우면서 핵심 작업을 해냈습니다. 그로 인해 결정은 분명해졌습니다…

Go로 다시 작성한 덕분에 저는 빠른 시작, 단일 바이너리, 더 작은 정신 모델을 얻게 되었습니다. Ch의 README가 이를 잘 요약합니다: Ch는 시작 속도가 10배 이상 빠르고 성능도 크게 향상된 후속작입니다.

결정

저는 2025년 8월 23일에 Cha를 공식적으로 더 이상 유지하지 않음으로 표시했고, Cha의 README를 통해 사람들을 Ch로 안내했습니다. Cha 저장소는 역사적 참고 자료로 남아 있으며, 저는 Ch를 유지보수 모드로 두고 안정성과 버그 수정에 집중하고 있습니다. 새 기능을 추가하는 데는 큰 관심이 없으며, 정말 그럴 가치가 있거나 추가가 중요한 경우가 아니라면(그게 시간이 지나며 무엇을 의미하든) 그렇습니다.

현재 Ch에 포함된 기능

Ch는 불필요한 덩치를 덜어내고도 일상적인 작업 흐름을 지원합니다:

  • GoLang으로 작성된 가벼운 CLI를 통한 고성능 시작
  • 다중 제공자 지원(OpenAI, Groq, DeepSeek, Anthropic, XAI, Together, Gemini, Mistral, Ollama)
  • 대화식 및 직접 모드, 모든 명령의 파이핑, 파일 및 디렉터리 로딩, 토큰 계산, 코드 블록 내보내기, 채팅 기록 뷰어, 모델/플랫폼 전환, 되돌리기, 코드 덤프, 셸 세션 기록, 클립보드 통합
  • YouTube 링크 처리를 포함한 내장 웹 스크래핑과 검색, 단순한 방식으로 통합됨

Cha와 비교했을 때 Ch에서 빠진 것과 그 이유

Ch는 Cha의 필수 기능만 유지하려고 하지만, 그렇게 하는 과정에서 다음 Cha 기능들을 Ch에서 제외했습니다:

  • 고급 “Editor” UI와 “Answer Search"는 포함되지 않습니다
  • 오디오, 비디오, 이미지 입력, 음성-텍스트 및 텍스트-음성 변환, 그리고 추가적인 내보내기 및 코드 덤프 편의 기능 일부는 우선순위가 아닙니다
  • Cha의 일부 탐색 도우미와 “change root dir” 동작은 Ch에 없습니다
  • 로컬 “저장된 채팅이 있는 프로필"은 의도적으로 기본 경로가 아닙니다

저는 이들 중 많은 것을 비대함 또는 “있으면 좋은” 기능으로 분류했습니다. 제가 중요하다고 본 것은 웹 브라우징과 웹 스크래핑이었는데, 이는 Ch에 없었지만 이후 Ch에 통합하여 나머지 없이도 핵심 루프가 완성되도록 했습니다. 그것뿐만 아니라 Ch에는 !x라는 새로운 기능이 있는데, 이는 Ch 세션 안에 있는 동안 셸 세션을 기록해 채팅 기록에 추가합니다. 이를 통해 다른 CLI 도구를 사용할 수 있고, 원한다면 그 출력도 모델을 위해 저장할 수 있습니다. 이 기능은 Ch가 모든 작업을 떠안아 비대해지지 않으면서도 Cha의 원래 누락 기능들 상당수를 Ch에서 얻을 수 있게 해줍니다. Ch에 대해 더 알아보려면 이 새로운 블로그 글을 보시면 됩니다.

Ch/Cha와 Claude Code 비교

2025년 7월, 저는 Cha와 최신 AI 기반 CLI 도구들을 비교하여, Cha가 그 도구들이 제공하지 못하는 어떤 가치를 제공하는지 설명하는 글을 썼습니다. 이를 알고 있음에도, 저는 이 블로그에 이것을 포함하고 싶었습니다. 왜냐하면 Ch는 본질적으로 같은 가치를 제공하고, 이 비교는 이번 전환 이후 몇 달이 지난 지금도 여전히 유효하기 때문입니다. 같은 철학이 Ch에도 적용됩니다.

주요 차이점

  • Ch/Cha 방식은 백그라운드 AI 워커가 자율적으로 결정을 내리지 않으며, 모든 단계에서 사용자의 완전한 통제를 중시합니다. 사용자가 명시적으로 컨텍스트를 관리하며, 일상적으로 활발히 사용해도 비용은 보통 월 1달러에서 20달러 정도입니다. 놀라운 수정이 없고 모든 것이 사용자가 안내하므로, 깊은 관여와 엄격한 비용 통제에 이상적입니다.
  • Claude Code와 Gemini 같은 에이전틱 CLI는 자동화된 워크플로 결정과 스마트 에이전트가 자율적으로 선택하는 다른 접근 방식을 취합니다. 이들은 AI가 관리하는 컨텍스트와 파일 처리를 담당하며, 비슷한 사용 수준에서 비용은 보통 월 10달러에서 200달러 이상입니다. 자율적인 코드 수정에 뛰어나므로 빠른 프로토타이핑과 위임에 완벽합니다.

Ch/Cha 스타일을 선택할 때

  • 완전한 투명성과 함께 최소 비용
  • 모든 상호작용에 대한 완전한 통제
  • 개발 과정에 깊이 관여
  • 민감한 프로젝트를 위한 명시적 컨텍스트 관리

에이전틱 도구를 선택할 때

  • 빠른 프로토타이핑과 신속한 반복
  • AI 자동화와 위임을 선호
  • 비용보다 속도를 중시

추천

만능 해법은 없습니다. 모든 사례를 포괄하는 도구는 없습니다. Ch는 비용 효율적인 일상 작업과 정밀한 통제에 훌륭합니다. Claude Code나 Gemini CLI 같은 에이전틱 도구는 속도와 자동화에 중점을 둔 복잡한 다중 파일, 다중 환경 코딩에서 빛을 발합니다. 비용을 줄이고 통제를 유지하고 싶을 때는 Ch를 사용하세요. 빠른 반복이 필요하고 통제 위임에 신경 쓰지 않을 때는 에이전틱 도구를 사용하세요. 많은 사람들은 좋은 상호작용 패턴을 배우기 위해 Ch로 시작한 뒤, 필요가 발전함에 따라 에이전틱 도구를 추가합니다.

Cha와 Ch의 미래

Cha와 Ch의 미래는 이렇습니다. Cha더 이상 유지되지 않으며 보관되고, 역사적 참고 자료 같은 역할만 합니다. Ch가 이제 새로운 Cha입니다. Ch는 계속해서 유지, 개선(필요하다면), 그리고 사용될 것입니다. 저는 Ch에서 기능 팽창을 강하게 거부할 것입니다. 그리고 앞으로 제가 Cha라고 말하거나 Cha를 언급할 때는 Ch를 가리키는 것이며, 옛 Python 기반 Cha는 “Cha v0” 또는 **“old Cha”**로 불릴 것입니다. 이를 염두에 두고

감사합니다

처음부터 Cha의 여정을 따라와 주셨다면, 감사합니다. 그 프로젝트는 저에게 많은 것을 가르쳐 주었고, 제가 실제로 일하는 방식에 더 잘 맞으면서도 공동체 전체에도 더 나은 버전으로 저를 이끌었습니다. 처음 오신 분이라면, Ch를 사용하기 시작하고 단순하게 유지하세요!