Niek/chatgpt-web
ChatGPT web interface using the OpenAI API
ChatGPT‑web – 어떤 OpenAI 호환 모델에도 사용 가능한 가벼운 자체 호스팅 채팅 UI
무엇인가요 – 브라우저에서 직접 대규모 언어 모델 채팅 엔드포인트 (OpenAI, Anthropic, Google Gemini, Mistral, xAI, OpenRouter 등)에 대화할 수 있는 단일 페이지 웹 애플리케이션입니다. 제공자 이름과 API 키를 입력하면 앱이 해당 엔드포인트가 제공하는 모델을 자동 탐지하고, 즉시 대화를 시작할 수 있습니다.
왜 중요한가요 – 모든 대화 기록은 브라우저의 로컬 스토리지에 저장되므로, 제3자 서버로 전송되지 않습니다. UI는 오픈소스(GPL-3.0)이며, 어디에나 호스팅 가능하며, Tauri를 사용해 데스크톱 앱으로 패키징하거나 Docker로 로컬에서 실행할 수 있습니다. 상용 사이트에서 제공하는 것과 동일한 채팅 경험을 제공하면서도 데이터를 보호하고, 호환 가능한 어떤 제공자든 선택할 수 있습니다.
핵심 기능 (README에 설명됨)
- 제공자 독립 – OpenAI 채팅 스펙을 따르는 모든 API와 호환됩니다. OpenAI, Anthropic, xAI, Google Gemini, Mistral AI, APIpie, OpenRouter, OrcaRouter에 대한 사전 설정이 있으며, 일반적인 '커스텀' 모드도 제공됩니다.
- 로컬 전용 저장소 – 대화는 브라우저의 로컬 스토리지에만 저장되며, 서버 측 지속성은 없습니다.
- 사용자 정의 모델 설정 – 각 대화마다 온도, 시스템 프롬프트, 기타 파라미터를 조정할 수 있습니다.
- 음성 I/O – 음성 인식 입력과 텍스트 음성 출력을 지원합니다.
- 프롬프트 라이브러리 – awesome-chatgpt-prompts 컬렉션에서 선정한 100개의 인기 프롬프트가 기본 제공됩니다.
- 내보내기 – 대화를 Markdown 파일로 저장하여 공유하거나 아카이브할 수 있습니다.
- 코드 처리 – 코드 블록을 감지하고 구문 강조 표시를 적용하며, 한 번의 클릭으로 복사할 수 있는 버튼을 추가합니다.
- 이미지 생성 – 선택한 제공자가 이미지 엔드포인트를 제공하는 경우, "show me an image of ..."라고 입력하면 이미지를 요청할 수 있습니다. UI는 제공자에 맞는 이미지 모델(예: OpenAI의 경우
gpt-image-2)을 자동으로 선택합니다. - 스트리밍 응답 – 모델의 출력이 도착하는 대로 실시간으로 표시하여 ChatGPT의 실시간 느낌을 재현합니다.
- 모바일 친화적 – 반응형 레이아웃으로 스마트폰과 태블릿에서도 잘 작동합니다.
- 데스크톱 빌드 – Tauri(Rust 기반)를 사용해 웹 앱을 Windows/macOS/Linux용 네이티브 데스크톱 애플리케이션으로 패키징할 수 있습니다.
- Docker 지원 –
docker compose파일을 사용해 UI와 모의 API를 함께 실행할 수 있습니다. 테스트나 오프라인 데모에 적합합니다.
일반적인 워크플로우
- 호스팅된 페이지(또는 자체 배포)를 열고
https://niek.github.io/chatgpt-web/에 접속합니다. - 설정 화면에서 제공자를 선택하고 API 키를 붙여넣은 후, 사용 가능한 모델 목록을 가져옵니다.
- 새 대화를 시작하고, 선택적으로 사전 로드된 프롬프트를 선택하거나 사용자 정의 시스템 프롬프트를 입력합니다.
- 메시지를 입력하거나 음성으로 말합니다. 앱은 선택한 엔드포인트로 요청을 전달하고 응답을 스트리밍합니다.
- 대화는 로컬에 저장되며, 언제든지 내보내거나 저장소를 지울 수 있습니다.
시작하기 (개발자 중심)
- 로컬에서 실행
npm ci # 정확한 종속성 설치 npm run dev # Vite 개발 서버 시작 (http://localhost:5173) - 생산용 빌드
npm run build # 정적 `dist/` 폴더 생성. 어떤 정적 호스팅에도 사용 가능 - 내장된 프롬프트 목록 업데이트
npm run update-prompts # 공개 API에서 최신 상위 100개 프롬프트 가져오기 - Docker –
docker compose up -d로 UI와 모의 API를 실행합니다..env파일에서VITE_PROVIDER=custom과VITE_API_BASE=http://localhost:5174를 설정해 UI가 모의 API에 연결되도록 합니다. - 데스크톱 앱 – Rust 설치 후
npm run tauri dev로 개발용 창을 실행하거나,npm run tauri build로src-tauri/target에 바이너리 생성.
누구에게 유용할까
- 개인정보를 중시하는 사용자 – 제3자 사이트에 대화 기록을 전송하지 않고도 채팅 UI를 사용하고 싶은 사람.
- 개발자 – 여러 LLM 제공자를 테스트하거나 모델의 동작을 비교하고 싶은 사람.
- 교육자 / 교육 담당자 – 수업용 데모에 간단하고 자체 호스팅 가능한 인터페이스가 필요한 사람.
- 오픈소스 애호가 – 프로젝트를 포크하거나 확장하거나 자신의 프로젝트에 통합하고 싶은 사람.
라이선스 및 커뮤니티
- 라이선스: GPL-3.0 (전체 소스 공개. 호스팅, 수정, 재배포 가능).
- 기여자: all-contributors 모델을 따릅니다. 수십 명의 사람들이 코드, 아이디어, 디자인, 문서에 기여했습니다.
- 이슈 및 PR: GitHub에서 열려 있습니다. README에는 새로운 프롬프트 추가, 모의 API 커스터마이징, 데스크톱 버전 빌드 방법에 대한 안내가 포함되어 있습니다.
요약
ChatGPT‑web은 어떤 OpenAI 호환 채팅 서비스에도 사용 가능한 실용적이고 개인정보를 최우선으로 한 프론트엔드입니다. 음성, 이미지 생성, 프롬프트 라이브러리, 내보내기와 같은 유용한 기능을 제공하면서도 브라우저 내에서 또는 작고 가벼운 데스크톱 앱으로도 실행 가능합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트