학술 파이프라인 전체를 위한 Claude Code 스킬: 연구, 작성, 검토
한국어는 runchr 제공 번역입니다. 원문 README는 English tool page.
ollama-gui
Ollama 서버와 브라우저에서 직접 통신하는 싱글 페이지 웹 앱으로, 스트리밍 채팅, 사고 모델, 첨부 파일, 모델 풀, 채팅 기능을 제공합니다.
- Kind
- chat
- Platform
- web
- Models
- ollama
프로젝트 README (번역)
GitHub ↗Written by the project's own authors, not by runchr. Snapshot taken 2026-10-29.
Ollama GUI
Ollama를 통해 로컬 모델과 대화할 수 있는 웹 인터페이스입니다.
Ollama GUI는 브라우저에서 Ollama API와 직접 통신하는 싱글 페이지 앱입니다. 자체 백엔드가 없습니다. 채팅은 브라우저의 IndexedDB에 저장되며, 연결한 Ollama 서버에 도달하는 경우를 제외하고는 여러분의 머신을 벗어나지 않습니다.
기능
Chat: 중지, 재생성, 편집이 가능한 스트리밍 응답. 편집과 재생성은 전환할 수 있는 버전으로 보관되며, 모든 응답은 새 채팅으로 분기할 수 있습니다.
qwen3, deepseek-r1, gpt-oss 같은 사고 모델: 추론 과정이 접을 수 있는 블록에 표시되며, 사고를 켜거나 끌 수 있습니다(gpt-oss의 경우 effort 레벨 설정 가능).
Attachments: 비전 모델(llava, gemma3)용 이미지와 텍스트 또는 코드 파일을 메시지에 추가할 수 있습니다.
Models: 입력하는 대로 Ollama 라이브러리를 검색하고 크기를 선택한 뒤 진행률과 함께 pull할 수 있습니다. 또한 삭제, 기능과 컨텍스트 길이 확인, 메모리에서 모델 언로드가 가능합니다.
Settings: 시스템 프롬프트와 생성 파라미터(temperature, num_ctx, top_p, seed 등)를 전역, 모델별 또는 채팅별로 설정합니다.
History: 날짜별로 그룹화된 채팅으로, 고정, 보관, 이름 변경, 자동 생성 제목, 전체 텍스트 검색(⌘K)을 지원합니다.
구문 강조와 수식(KaTeX)을 지원하는 Markdown.
Appearance: 라이트 및 다크 테마. 날짜와 숫자는 로캘 또는 선택한 형식을 따릅니다.
Import and export: 모든 채팅을 JSON으로, 또는 단일 채팅을 Markdown으로 내보낼 수 있습니다.
키보드 단축키
Shortcut
Action
⌘/Ctrl K
채팅과 메시지 검색, 명령 실행
⌘/Ctrl ⇧ O
새 채팅
⌘/Ctrl ⇧ ⌫
현재 채팅 삭제
Enter / ⇧ Enter
전송 / 줄바꿈
Esc
생성 중지
↑ (빈 메시지 입력창에서)
마지막 메시지 편집
시작하기
Ollama가 실행 중이어야 하며, 개발을 위해서는 Bun과 Node.js 20 이상이 필요합니다.
ollama pull llama3.2 # 어떤 모델이든 됩니다. 앱에서도 pull할 수 있습니다
ollama serve
git clone https://github.com/HelgeSverre/ollama-gui.git
cd ollama-gui
bun install
bun run dev # http://localhost:5173
개발 서버는 /api를 http://localhost:11434로 포워딩하므로 Ollama에 CORS 설정이 필요하지 않습니다. bun run dev --host를 사용하면 네트워크의 다른 기기에서도 앱을 사용할 수 있습니다. 다른 곳의 Ollama 인스턴스를 사용하려면 Settings → Connection에서 URL을 설정하거나, VITE_NO_PROXY=true로 개발 서버를 시작하세요.
일반 HTTP LAN 접속에서는 채팅, 히스토리, 가져오기, 내보내기, 텍스트 복사가 지원됩니다. Gravatar 아바타, 서비스 워커 오프라인 캐싱, 영구 저장소 요청은 보안 컨텍스트(HTTPS 또는 localhost)가 필요합니다. 복사는 HTTP에서 레거시 브라우저 폴백을 사용하며, 브라우저가 이를 차단하면 텍스트를 직접 선택해 복사하세요. HTTP는 메시지를 암호화하지 않으므로 신뢰할 수 없는 네트워크에서는 HTTPS를 사용하세요.
채팅이 저장되는 위치
IndexedDB는 앱이 제공되는 정확한 origin에 한정됩니다. localhost:5173, 127.0.0.1:5173, 다른 포트, 다른 브라우저, 시크릿 창은 각각 별도의 히스토리를 가집니다. 이러한 이유로 개발 서버는 항상 5173 포트를 사용하며, 포트가 사용 중이면 조용히 다른 포트로 옮기지 않고 시작에 실패합니다. Settings → Data에서 채팅을 내보내고 가져오거나, 브라우저에 데이터를 영구적으로 보관하도록 요청할 수 있습니다.
호스팅 버전
호스팅 버전은 브라우저에서 실행되며 로컬 Ollama에 연결됩니다. Ollama를 시작할 때 해당 origin을 허용하세요:
OLLAMA_ORIGINS=https://ollama-gui.vercel.app ollama serve
macOS에서 Ollama 데스크톱 앱을 사용하는 경우에는 앱용으로 변수를 설정하고 Ollama를 재시작하세요:
launchctl setenv OLLAMA_ORIGINS " https://ollama-gui.vercel.app "
Chrome과 Edge는 사이트가 로컬 네트워크의 기기에 접근해도 되는지도 묻습니다. Allow를 선택하세요. 닫아버렸다면 주소 표시줄 옆 사이트 설정에서 "Local network access"를 다시 활성화하세요.
Docker
이미지는 nginx로 앱을 제공하고 /api를 Ollama로 프록시하므로, 브라우저는 하나의 origin과만 통신하며 OLLAMA_ORIGINS가 필요하지 않습니다.
# Ollama와 GUI를 함께, http://localhost:8080
docker compose up -d
# GUI만, 호스트 머신의 Ollama 사용
docker run -d -p 8080:80 --add-host=host.docker.internal:host-gateway ghcr.io/helgesverre/ollama-gui
# GUI만, 다른 머신의 Ollama 사용
docker run -d -p 8080:80 -e OLLAMA_URL=http://gpu-box:11434 ghcr.io/helgesverre/ollama-gui
OLLAMA_URL은 nginx가 API 요청을 포워딩할 위치를 설정합니다(기본값 http://host.docker.internal:11434). 이미지는 amd64와 arm64용으로 게시되며, 태그는 릴리스를 따릅니다(latest, 2.0.0, 2.0). 직접 빌드하려면 docker build -t ollama-gui .를 실행하세요. compose.yml에서 deploy 블록의 주석을 해제하면 Ollama에 GPU 접근 권한을 부여할 수 있습니다. 모델은 ./ollama_data에 저장됩니다.
배포
bun run build는 정적 사이트를 dist/에 작성합니다. 브라우저가 Ollama에 도달할 수 있어야 하며, 다음 두 가지 방법 중 하나로 구성할 수 있습니다:
Same origin: /api/를 Ollama로 포워딩하는 리버스 프록시 뒤에서 dist/를 제공하고, VITE_OLLAMA_URL=/로 빌드합니다. nginx/default.conf.template이 동작하는 예시입니다.
Different origin: VITE_OLLAMA_URL=https://ollama.example.com으로 빌드하고(사용자가 Settings에서 변경할 수도 있음), OLLAMA_ORIGINS=https://your-domain.com으로 Ollama를 시작합니다.
개발
bun run lint # ESLint
bun run test # Vitest 단위 및 통합 테스트
bun run test:coverage # 동일하게, 커버리지 리포트 포함
bun run test:e2e # Playwright, 모킹된 Ollama API 대상
bun run build # 타입 체크 및 프로덕션 빌드
e2e/real-ollama.spec.ts는 모킹 대신 실제 Ollama를 대상으로 첨부 파일 및 비전 흐름을 실행합니다. 기본적으로 건너뜁니다:
ollama pull qwen3-vl:2b && ollama pull qwen3:0.6b
OLLAMA_REAL=1 bun run test:e2e real-ollama
모델 검색은 ollama-library-scraper로 빌드된 src/data/model-catalog.json의 Ollama 라이브러리 스냅샷을 사용합니다. bun run catalog:update로 갱신하세요. 앱 자체는 ollama.com에 접속하지 않습니다.
코드 구조 개요는 CLAUDE.md를 참고하세요.
Vue, Vite, Tailwind CSS, VueUse, Dexie, markdown-it, highlight.js, KaTeX, Tabler Icons로 제작되었습니다.
License
MIT
No comments yet.
to comment.