jan

Local AI RunnersCLITypeScript

★ 44,451주당 +139조회 5

무엇인가

Jan은 로컬 LLM 추론과 채팅 UI를 하나의 데스크톱 애플리케이션으로 묶은 도구다. 클라우드 챗봇 클라이언트의 자리를 로컬 실행으로 대체하는 계열에 속한다. 모델 가중치와 대화 내용이 사용자 컴퓨터를 벗어나지 않는 구성을 목표로 한다.

어떻게 동작하나

구성은 Tauri 셸, TypeScript 프론트엔드, 번들된 llama.cpp 추론 엔진으로 나뉜다. 모델은 HuggingFace에서 내려받아 로컬에 저장하고 추론은 llama.cpp가 담당한다. 앱은 localhost:1337에 OpenAI 호환 HTTP 서버를 열어 다른 프로그램이 같은 모델을 호출하게 한다. MCP(Model Context Protocol)로 외부 도구를 연결해 에이전트 동작을 붙인다. OpenAI, Anthropic, Mistral, Groq, MiniMax 같은 클라우드 제공자도 같은 인터페이스로 연결된다.

무엇과 다른가

클라우드 API 기반 챗봇과의 차이는 추론 위치다. 요청이 외부 서버로 전송되지 않고 로컬 프로세스에서 처리된다. 로컬 러너 계열과의 차이는 포함 범위다. 채팅 UI, 어시스턴트 설정, OpenAI 호환 서버, MCP 연동이 한 애플리케이션 안에 들어 있다. 추론 백엔드는 JAN_ENGINE_VARIANT로 선택하며 cpu, vulkan, metal, cuda12, cuda13, hip/rocm 토큰을 '-'로 조합한다.

어떻게 쓰나

설치는 운영체제별 바이너리를 받아 실행한다. Windows는 jan.exe, macOS는 jan.dmg, Linux는 jan.deb 또는 jan.AppImage를 쓴다. 소스에서 빌드할 때는 make dev가 의존성 설치, 코어 컴포넌트 빌드, 앱 실행을 한 번에 처리한다. make build는 프로덕션 빌드, make test는 테스트와 린트, make clean은 전체 삭제를 담당한다. Windows에서는 Git Bash에서 make dev를 실행한다.

전제와 한계

요구 사항은 macOS 13.6 이상, Windows 10 이상, 그리고 대부분의 Linux 배포판이다. 로컬 모델 실행에는 RAM이 필요해 3B 모델에 8GB, 7B에 16GB, 13B에 32GB를 권장한다. GPU 가속은 NVIDIA, AMD, Intel Arc를 지원한다. Windows 빌드 경로가 260자 MAX_PATH를 넘으면 nvcc가 실패하므로 빌드 트리를 %LOCALAPPDATA%\jan-engine으로 옮기거나 JAN_ENGINE_BUILD_DIR을 짧은 경로로 지정한다.

관련 논문 2

유사 도구