HelgeSverre/ollama-gui

A Web Interface for chatting with your local LLMs via the ollama API

Ollama GUI – 로컬에서 실행되는 LLM용 브라우저 기반 채팅 프론트엔드

무엇인가요 – Ollama 엔진에서 제공하는 어떤 모델과도 대화할 수 있는 단일 페이지 웹 애플리케이션입니다. UI는 브라우저 내에서 완전히 실행되며, 자체 백엔드를 호스팅하지 않습니다. 모든 채팅 기록은 브라우저의 IndexedDB에 로컬로 저장되므로, 앱이 원격 Ollama 서버에 연결하지 않는 한 데이터는 당신의 기계를 벗어나지 않습니다.

주요 기능

  • 채팅 경험 – 스트리밍 응답, 생성 중지, 재생성, 메시지 편집. 모든 편집은 되돌릴 수 있는 버전으로 저장되며, 응답은 새로운 대화로 분기할 수 있습니다.
  • "사고" 모델 – 추론 트레이스를 노출하는 모델(예: qwen3, deepseek-r1, gpt-oss)의 경우 UI는 모델의 내부 사고 흐름을 접을 수 있는 블록으로 표시합니다. gpt-oss의 경우 노력 수준을 조정할 수 있습니다.
  • 첨부 파일 – 시각 모델(llava, gemma3)용 이미지를 드래그하거나 텍스트/코드 파일을 첨부합니다. 이들은 프롬프트와 함께 전송됩니다.
  • 모델 관리 – Ollama 모델 카탈로그 검색, 크기 선택, 진행률 표시로 다운로드, 삭제, 기능 확인, 컨텍스트 길이 보기, 메모리에서 모델 언로드.
  • 세부 설정 – 시스템 프롬프트, 온도, num_ctx, top_p, 시드 등은 전역, 모델별, 채팅별로 설정 가능.
  • 히스토리 UI – 날짜별로 채팅 그룹화, 고정, 아카이브, 이름 변경, 자동 제목, 전체 텍스트 검색(⌘K).
  • 풍부한 마크다운 – 구문 강조 코드 블록, KaTeX 수식 렌더링.
  • 외관 – 라이트/다크 테마, 로케일 기반 날짜 및 숫자.
  • 내보내기/가져오기 – 모든 채팅을 JSON으로 덤프하거나, 하나의 채팅을 Markdown으로 내보내기.

실행 방법

  1. 로컬에 Ollama를 설치하고 실행 중으로 유지(기본값 http://localhost:11434).
  2. Bun(또는 Node 20)을 설치하고 리포지토리를 클론.
  3. bun install && bun run dev – 개발 서버는 /api를 Ollama로 프록시하므로 CORS 변경이 필요 없습니다.
  4. http://localhost:5173 열기.

배포 옵션

  • 정적 빌드 – bun run build로 dist/ 폴더 생성 가능. 어떤 웹 서버(nginx 예시 제공) 뒤에서 제공 가능. UI는 여전히 Ollama에 직접 연결되며, 동일 출처 프록시 또는 크로스 오리진 URL을 통해 통신.
  • Docker – 미리 빌드된 이미지가 nginx로 UI를 제공하고 /api를 Ollama 인스턴스로 프록시. 제공된 docker-compose.yml로 Ollama와 GUI를 함께 실행하거나, GUI만 실행하고 외부 Ollama에 연결 가능.
  • 호스팅된 데모 – Vercel에서 호스팅된 버전(https://ollama-gui.vercel.app)은 OLLAMA_ORIGINS에 원본을 추가하면 로컬 Ollama 인스턴스와 함께 작동합니다.

개발 및 테스트

  • 정리(bun run lint), 단위/통합 테스트(bun run test), 커버리지, Playwright 기반 엔드투엔드 테스트. 특별한 플래그(OLLAMA_REAL=1)로 실제 Ollama 서버에서 e2e 테스트 실행 가능.
  • 모델 카탈로그는 별도의 스크래퍼로 공개 Ollama 라이브러리에서 생성. bun run catalog:update로 업데이트 가능.

기술 스택 – Vue 3 + Vite, Tailwind CSS, VueUse, Dexie (IndexedDB 래퍼), markdown-it, highlight.js, KaTeX, Tabler Icons.

라이선스 – MIT.


요약하면, Ollama GUI는 버전 관리 편집, 추론 시각화, 파일 첨부, 완전한 모델 관리를 제공하는 로컬에서 호스팅되는 정교한 웹 프론트엔드로, 별도의 서버가 필요하지 않습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트