ask: 터미널 개발자를 위한 AI 기반 CLI 도구
요약
ask는 터미널 개발자를 위해 설계된 AI 기반 CLI 도구입니다. 이 도구는 다중 LLM 공급자 지원, 에이전트 기능, 그리고 쉘 네이티브 기능을 제공하여 일반적인 답변을 넘어 재사용 가능한 bash 함수 생성까지 가능하게 합니다. 파이프라인 조합성을 위한 구조화된 출력 옵션도 갖추고 있습니다.
핵심 포인트
- 터미널 개발자를 위한 AI 기반 CLI 도구입니다.
- Anthropic, OpenAI 등 다중 LLM 공급자를 지원합니다.
- 쉘 네이티브 방식으로 Unix 철학에 완벽하게 작동합니다.
- 재사용 가능한 bash 함수 생성 및 에이전트 모드를 제공합니다.

ask. grep나 awk를 쓰지 마세요. 그냥 물어보세요.
ask는 터미널에서 활동하는 개발자를 위한 AI 기반 CLI(Command Line Interface) 도구입니다. 이 도구는 다중 공급자 LLM 지원, 에이전트 기능, 그리고 쉘 네이티브 인텔리전스를 손끝으로 가져다줍니다.
일반적인 LLM CLI와 달리, ask는 **쉘 파워 유저(shell power users)**를 위해 구축되었습니다:
재사용 가능한 bash 함수 생성 - 단순한 답변을 넘어 도구를 만듭니다
에이전트 모드 (Agent mode) - 승인을 거쳐 안전하게 계획을 실행합니다
쉘 네이티브 (Shell-native) - 파이프(pipes)와 유닉스 철학(Unix philosophy)과 완벽하게 작동합니다
컨텍스트 인식 (Context-aware) - git 저장소, 최근 명령어, 시스템 상태를 이해합니다
빠르고 스트리밍 방식 (Fast & streaming) - 타이핑하는 즉시 실시간 응답을 제공합니다
다중 공급자 지원 (Multi-provider) - Anthropic, OpenAI, Google Gemini, OpenRouter, DeepSeek, 그리고 Ollama(로컬)를 지원합니다
구조화된 출력 (Structured output) - 파이프라인 조합성(pipeline composability)을 위해 --json, --csv, --md, --raw 옵션을 제공합니다.
순수 bash 구현 (Pure bash) - Python, Node 또는 다른 런타임 환경이 필요 없습니다.
# 다운로드
curl -o ask https://raw.githubusercontent.com/elias-ba/ask/main/ask
chmod +x ask
...
git clone https://github.com/elias-ba/ask.git
cd ask
chmod +x ask
...
curl
- API 호출용
jq - JSON 처리용
옵션: 더 보기 좋은 출력을 위해glow또는bat을 사용할 수 있습니다.
Ubuntu/Debian에 설치:
sudo apt-get install curl jq
macOS에 설치:
brew install curl jq
ask를 시스템에서 완전히 제거하려면:
# 바이너리 제거
sudo rm /usr/local/bin/ask
# 또는 사용자 디렉토리에 설치된 경우
...
ask가 API 키를 관리합니다:
# API 키 설정 (안전하게 프롬프트하여 요청)
ask keys set anthropic
# 다른 공급자의 경우
...
키는 ~/.config/ask/keys.env에 600 권한(사용자만 읽기 가능)으로 안전하게 저장됩니다.
환경 변수를 선호하는 경우:
# Anthropic (권장)
export ANTHROPIC_API_KEY='sk-ant-...'
# OpenAI
...
지속적으로 사용하려면 ~/.bashrc 또는 ~/.zshrc에 추가하십시오.
Anthropic: https://console.anthropic.com/**OpenAI**: https://platform.openai.com/api-keys**Google Gemini**: https://aistudio.google.com/apikey**OpenRouter**: https://openrouter.ai/keys**DeepSeek**: https://platform.deepseek.com/api_keys
Ollama는 API 키가 필요하지 않습니다. Ollama를 설치하고 모델을 가져오세요:
# Ollama 설치 (https://ollama.com)
# 그런 다음 모델 가져오기
ollama pull llama3.2
...
# 간단한 질의
ask "큰 파일을 어떻게 찾나요?"
# 입력 파이프 연결
...
ask를 사용하여 작업을 실행하게 하세요:
# 이미지 최적화
ask --agent "./images"에 있는 모든 PNG 파일 찾고 최적화하기
# 정리 작업
...
재사용 가능한 도구 생성:
# 함수 생성
ask --fn parse_nginx "nginx 접근 로그에서 500 오류 추출하기"
# ask는 다음을 생성, 검증 및 저장합니다:
...
# 시맨틱 커밋 메시지 생성
git add .
ask commit
...
ask
# 다음으로 대화형 채팅 시작:
# - 대화 기록
...
# 최소 컨텍스트 (현재 디렉토리, 날짜)
ask --context min "이 디렉토리에 무엇이 있나요?"
# 자동 컨텍스트 (git, 최근 명령어)
...
# 로컬 모델 사용
ask -L "이 오류를 설명해 주세요"
# 설치된 로컬 모델 목록 보기
...
# 사용 가능한 모델 목록 보기
ask --list-models
# 특정 모델 사용
...
# 메타데이터 엔벨로프가 있는 JSON (jq로 검증)
ask --json "HTTP 상태 코드 목록" | jq '.response'
# 헤더가 포함된 CSV
...
JSON과 CSV는 전체 응답을 검증하고 후처리하기 위해 스트리밍을 자동으로 비활성화합니다.
# 스트리밍 활성화 (기본값)
ask -s "긴 설명"
# 파싱 가능한 출력을 위해 비활성화
...
ask 내부 기능
대화형 모드:
| 명령어 | 설명 |
|---|---|
/clear | 대화 기록 지우기 |
/save | 대화를 파일로 저장하기 |
/load | 이전 대화 불러오기 |
/models | 사용 가능한 모델 목록 보기 |
/switch [provider] [model] | 제공업체/모델 전환하기 |
/context [level] | 컨텍스트 레벨 설정하기 |
/help | 도움말 표시하기 |
/exit 또는 /quit | 종료하기 |
ask는 XDG Base Directory 사양을 사용합니다:
~/.config/ask/ # 설정(Configuration)
└── functions.sh # 생성된 함수(Generated functions)
~/.cache/ask/ # 캐시 및 기록(Cache & history)
...
# 로그 분석(Analyze logs)
tail -f /var/log/app.log | ask "오류가 발생하면 알려줘" # alert me to errors
# 데이터 처리(Process data)
...
# 디버깅(Debug)
ask "이게 왜 세그폴트하는 거야?" < debug.log
# 테스트 생성(Test generation)
...
# 문제 진단(Diagnose issues)
docker ps | ask "어떤 컨테이너가 비정상이야?" # which containers are unhealthy?
# 성능 분석(Performance analysis)
...
기여 환영! ask는 다음과 같은 목적으로 설계되었습니다:
간단함(Simple) - 순수 bash로 작성되어 이해하기 쉬움
강력함(Powerful) - 실제 개발자 워크플로우 지원
안전함(Safe) - 위험한 작업은 항상 확인하도록 함
확장 가능함(Extensible) - 프로바이더/기능 추가가 용이함
ask는 유닉스 철학을 따릅니다:
하나의 일에 충실함(Do one thing well) - 셸 네이티브 AI 지원
협업함(Work together) - 파이프 친화적이며 조합 가능함
텍스트 스트림(Text streams) - 범용 인터페이스
간단함(Simple) - 복잡한 의존성 없이 bash 스크립트로 구성됨
터미널을 벗어나지 않는 개발자를 위해 제작되었습니다.
# 설치 확인(Check installation)
which ask
# 실행 가능 여부 확인(Verify it's executable)
...
# 키 설정 확인(Verify key is set)
echo $ANTHROPIC_API_KEY
# 수동 테스트(Test manually)
...
# 터미널에 문제가 있을 경우 스트리밍 비활성화
ask -n "당신의 쿼리"
MIT 라이선스 - LICENSE 파일 참조
GitHub: https://github.com/elias-ba/ask
Issues: https://github.com/elias-ba/ask/issues
Discussions: https://github.com/elias-ba/ask/discussions
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기