aichat

AI Chat UIsCLIRust

★ 10,440주당 +20조회 4

무엇인가

aichat는 터미널에서 LLM을 호출하는 CLI 클라이언트다. 제공자별 SDK와 별도 채팅 앱을 각각 설치하는 대신, 하나의 실행 파일이 대화·셸 명령 생성·문서 검색·도구 호출을 담당한다. 셸 파이프라인에 끼워 넣을 수 있는 자리에 놓인다.

어떻게 동작하나

동작 모드는 두 갈래다. CMD 모드는 한 번의 호출로 결과를 stdout에 내보내고, REPL 모드는 탭 자동완성·다중 행 입력·히스토리 검색·키바인딩을 갖춘 대화 루프를 연다. 역할(role)은 프롬프트와 모델 설정의 묶음이고, 세션은 대화 컨텍스트를 유지하며, 매크로는 여러 REPL 명령을 하나로 합친다. 입력은 stdin, 로컬 파일·디렉터리, 원격 URL에서 받는다. 함수 호출은 llm-functions 저장소의 도구 정의와 MCP를 통해 외부 도구·데이터에 연결되고, 에이전트는 지시문·도구·문서(RAG)의 조합으로 만들어진다. 내장 HTTP 서버는 LLM API 프록시, 브라우저용 플레이그라운드, 모델 비교용 아레나로 쓰인다.

무엇과 다른가

제공자별 공식 CLI와 SDK는 인증 방식과 요청 형식이 제각각이다. aichat는 OpenAI, Claude, Gemini, Ollama, Groq, Azure-OpenAI, VertexAI, Bedrock, Github Models, Mistral, Deepseek, OpenRouter 등 20여 개 제공자를 하나의 인터페이스 뒤에 둔다. 셸 어시스턴트는 자연어를 현재 OS와 셸 환경에 맞는 명령으로 변환한다. GUI 채팅 앱과 달리 stdin/stdout으로 파이프에 연결된다.

어떻게 쓰나

설치 경로는 cargo, Homebrew/Linuxbrew, Pacman, Windows Scoop, Android Termux다. macOS·Linux·Windows용 사전 빌드 바이너리를 GitHub Releases에서 받아 $PATH에 넣는 방법도 있다. 설치 후 aichat를 실행하면 REPL에 들어가고, CMD 모드로 한 줄 호출도 한다. 제공자·모델·역할은 설정 파일과 환경 변수로 정의한다. 다크·라이트 테마와 REPL 프롬프트는 사용자가 바꿀 수 있다.

전제와 한계

클라우드 제공자를 쓰려면 해당 API 키가 필요하고, 로컬 실행은 Ollama 같은 런타임을 따로 띄워야 한다. cargo 설치에는 Rust 툴체인이 필요하다. 함수 호출과 에이전트는 모델이 도구 호출을 지원해야 동작한다. RAG는 외부 문서를 별도로 준비해야 한다.

관련 논문 3

유사 도구