kardolus/chatgpt-cli
ChatGPT CLI is a powerful, multi-provider command-line interface for working with modern LLMs. It supports OpenAI, Azure, Perplexity, LLaMA, and more, with features like streaming, interactive chat, prompt files, image/audio I/O, MCP tool calls, and an experimental agent mode for safe, multi-step automation.
ChatGPT CLI – 최신 LLM을 위한 터미널 프론트엔드
소개 – 셸에서 직접 다양한 대형 언어 모델 제공자 (OpenAI, Azure, Perplexity, LLaMA 등)와 대화할 수 있게 해주는 단일 바이너리 명령줄 도구입니다. 일반 쿼리, 스트리밍 응답, 대화형 REPL 세션, 그리고 모델이 도구 (셸, 파일 시스템, 웹 검색, MCP 서비스)를 호출하여 다단계 작업을 해결할 수 있게 해주는 일련의 "에이전트" 기능을 지원합니다.
주요 기능
- 스트리밍 및 쿼리 모드 – 실시간 토큰별 출력 또는 원샷 질문과 응답.
- 스레드 기반 컨텍스트 – 각 논리적 대화 (스레드)는 슬라이딩 윈도우 토큰 제한을 가진 자체 기록을 유지합니다. 기록은
~/.chatgpt-cli아래에 저장됩니다. - 프롬프트 파일 –
--prompt <file>은 쿼리 전에 재사용 가능한 지시 파일을 주입합니다. - 에이전트 모드 – 실험적 ReAct 또는 Plan/Execute 루프를 통해 모델이 내장 도구 (셸 명령, 파일 작업, 웹 검색)를 사용하여 생각하고, 행동하고, 관찰하게 합니다. 예산 (단계, 토큰, 시간) 및 정책 규칙 (허용된 도구, 작업 디렉토리 샌드박스)이 실행의 안전을 보장합니다.
- MCP (Model Context Protocol) 통합 – 외부 HTTP 또는 stdio 도구를 호출하고, 해당 JSON-RPC 결과를
[MCP: <tool>]컨텍스트로 대화에 삽입합니다. - 멀티미디어 I/O – 이미지 업로드 (
--image), 이미지 생성 또는 편집 (--draw), 오디오 업로드 (--audio), 전사 (--transcribe), 음성 합성 (--speak). - 모델 탐색 –
-l/--list-models은 현재 제공자가 제공하는 모델을 보여줍니다. - 계층적 구성 – 플래그 > 환경 변수 >
config.yaml> 기본값; 제공자별 섹션을 통해 OpenAI, Azure, Perplexity, 302 AI, Atlas Cloud 등의 키를 저장할 수 있습니다.
설치
- Homebrew (macOS):
brew tap kardolus/chatgpt-cli && brew trust kardolus/chatgpt-cli && brew install chatgpt-cli - 사전 빌드된 바이너리 – 최신 GitHub 릴리스에서 적절한
chatgpt-<os>-<arch>를 curl로 다운로드하고, 실행 권한을 부여한 뒤$PATH에 배치합니다 (Apple Silicon, Intel macOS, Linux amd64/arm64/386, FreeBSD, Windows용 예제는 README에 있습니다).
시작하기
- OpenAI 키 내보내기:
export OPENAI_API_KEY=sk-… - 기록 폴더 생성:
mkdir -p ~/.chatgpt-cli - 간단한 쿼리 시도:
chatgpt "What is the capital of the Netherlands?" - 대화형 REPL 실행:
chatgpt --interactive - 프롬프트 파일 사용:
git diff | chatgpt --prompt ./prompts/write_pull-request.md - 에이전트 실행:
chatgpt "Why is my test failing?" --agent
구성 하이라이트
config.yaml은~/.chatgpt-cli에 있습니다 (또는--config-dir을 통해 사용자 지정 디렉토리 설정).- 제공자별 섹션에서 API 키, 기본 URL 및 모델 기본값을 설정할 수 있습니다.
- 에이전트별 설정 (
budget,policy,work-dir)은 동일한 파일이나--set-…플래그를 통해 구성할 수 있습니다. --completion도우미를 사용하여 Bash/Zsh/Fish에 대한 자동 완성을 활성화할 수 있습니다.
왜 관심을 가져야 할까요
- 터미널에 머물게 하여 웹 UI로의 컨텍스트 전환을 피합니다.
- 에이전트 모드는 안전 제한을 준수하면서 스크립트를 실행하고, 파일을 편집하거나 실시간 웹 데이터를 가져올 수 있는 가벼운 "auto-GPT"를 제공합니다.
- MCP 지원은 코드를 작성하지 않고도 Model Context Protocol을 따르는 모든 사용자 정의 도구를 연결할 수 있음을 의미합니다.
링크 및 리소스
- 전체 문서: 위의 README 섹션.
- 프롬프트 라이브러리: https://github.com/kardolus/prompts
- 이슈 트래커 및 기여 가이드는 repo에 링크되어 있습니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트