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, 그리고 다단계 도구 사용 워크플로우를 실행할 수 있는 실험적 에이전트 모드를 지원합니다.
주요 기능
- 프로바이더 독립적 –
config.yaml또는 환경 변수로 지원되는 모든 LLM을 구성할 수 있습니다. - 스트리밍 및 쿼리 모드 – 토큰 단위 출력 또는 단일 응답을 받을 수 있습니다.
- 스레드 기반 컨텍스트 – 각 스레드 는 고정된 슬라이딩 윈도우로 자동 트리밍되어 토큰 제한을 초과하지 않도록 자신의 대화 기록을 유지합니다.
- 프롬프트 파일 –
--prompt <file>을 사용해 질문 전에 전체 텍스트 프롬프트(예: 마크다운 가이드)를 삽입할 수 있습니다. - 다중미디어 I/O – 이미지 업로드(
--image), 이미지 생성(--draw), 오디오 업로드(--audio), 음성 인식(--transcribe), 음성 합성(--speak)을 지원합니다. - MCP(Model Context Protocol) – HTTP 또는 stdio를 통해 외부 도구를 호출하고, CLI가 세션을 관리하며 도구의 결과를 컨텍스트로 대화에 삽입할 수 있습니다.
- 에이전트 모드 – ReAct 또는 Plan/Execute 루프를 실행할 수 있으며, 쉘 명령어 실행, 파일 읽기/쓰기, 설정 가능한 예산(단계 수, 토큰 수, 실시간) 및 정책(허용된 도구, 금지된 명령어, 작업 디렉터리 사전)을 준수합니다.
- 웹 검색 – 모델이 지원하는 경우 옵션으로 실시간 웹 검색을 수행할 수 있습니다.
- 자동 완성 –
chatgpt completion을 통해 Bash/Zsh/Fish 완성을 생성할 수 있습니다.
설치
- Homebrew(macOS):
brew tap kardolus/chatgpt-cli && brew install chatgpt-cli(한 번만 탭 신뢰 설정). - 사전 빌드된 바이너리 –
curl -L …/chatgpt-<os‑arch>로 다운로드 후chmod +x로 실행 가능하게 하고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. - 프롬프트 파일 사용:
chatgpt --prompt my‑prompt.md "Summarize this code". - 에이전트 작업 실행:
chatgpt "why is my test failing?" --agent(또는--agent-mode plan추가 가능).
구성
- 설정은 플래그, 환경 변수(설정 이름 접두사 포함), config.yaml 파일, 또는 내장 기본값을 통해 제공될 수 있습니다. 우선순위는 플래그 > 환경 변수 > 파일 > 기본값입니다.
- 프로바이더별 섹션(OpenAI, Azure, Perplexity, 302 AI, Atlas Cloud)에서는 API 키, 엔드포인트 URL, 모델 기본값 등을 저장할 수 있습니다.
- 에이전트별 옵션을 통해 기본 정책, 예산 제한, 사전 작업 디렉터리를 설정할 수 있습니다.
--target플래그를 사용해 여러 구성 파일 간 전환 가능.
일반적인 사용 사례
- 브라우저를 열지 않고 빠르게 정보를 확인.
- 스크립팅: 파일 내용이나 명령어 출력을 파이프로 CLI에 전달하고 모델이 생성한 답변을 얻기.
- 자동화 워크플로우: 에이전트 모드를 사용해 모델이 안전하게 일련의 쉘 명령어를 실행하도록 하기.
- MCP를 통한 사용자 정의 도구 확장 – 예: 날씨 스크래퍼 서비스를 호출하고 결과를 모델에 피드백하기.
더 많은 정보 찾기
- 완전한 플래그 참조:
chatgpt --help. - 예제 프롬프트 리포지토리: https://github.com/kardolus/prompts.
- README에 링크된 이슈 트래커 및 기여 가이드.
위의 모든 세부 정보는 프로젝트의 README에서 직접 인용되었으며, 추가 기능은 추측되지 않았습니다.
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트