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를 함께 실행할 수 있습니다. 테스트나 오프라인 데모에 적합합니다.

일반적인 워크플로우

  1. 호스팅된 페이지(또는 자체 배포)를 열고 https://niek.github.io/chatgpt-web/에 접속합니다.
  2. 설정 화면에서 제공자를 선택하고 API 키를 붙여넣은 후, 사용 가능한 모델 목록을 가져옵니다.
  3. 새 대화를 시작하고, 선택적으로 사전 로드된 프롬프트를 선택하거나 사용자 정의 시스템 프롬프트를 입력합니다.
  4. 메시지를 입력하거나 음성으로 말합니다. 앱은 선택한 엔드포인트로 요청을 전달하고 응답을 스트리밍합니다.
  5. 대화는 로컬에 저장되며, 언제든지 내보내거나 저장소를 지울 수 있습니다.

시작하기 (개발자 중심)

  • 로컬에서 실행
    npm ci          # 정확한 종속성 설치
    npm run dev     # Vite 개발 서버 시작 (http://localhost:5173)
    
  • 생산용 빌드
    npm run build   # 정적 `dist/` 폴더 생성. 어떤 정적 호스팅에도 사용 가능
    
  • 내장된 프롬프트 목록 업데이트
    npm run update-prompts   # 공개 API에서 최신 상위 100개 프롬프트 가져오기
    
  • Dockerdocker compose up -d로 UI와 모의 API를 실행합니다. .env 파일에서 VITE_PROVIDER=customVITE_API_BASE=http://localhost:5174를 설정해 UI가 모의 API에 연결되도록 합니다.
  • 데스크톱 앱 – Rust 설치 후 npm run tauri dev로 개발용 창을 실행하거나, npm run tauri buildsrc-tauri/target에 바이너리 생성.

누구에게 유용할까

  • 개인정보를 중시하는 사용자 – 제3자 사이트에 대화 기록을 전송하지 않고도 채팅 UI를 사용하고 싶은 사람.
  • 개발자 – 여러 LLM 제공자를 테스트하거나 모델의 동작을 비교하고 싶은 사람.
  • 교육자 / 교육 담당자 – 수업용 데모에 간단하고 자체 호스팅 가능한 인터페이스가 필요한 사람.
  • 오픈소스 애호가 – 프로젝트를 포크하거나 확장하거나 자신의 프로젝트에 통합하고 싶은 사람.

라이선스 및 커뮤니티

  • 라이선스: GPL-3.0 (전체 소스 공개. 호스팅, 수정, 재배포 가능).
  • 기여자: all-contributors 모델을 따릅니다. 수십 명의 사람들이 코드, 아이디어, 디자인, 문서에 기여했습니다.
  • 이슈 및 PR: GitHub에서 열려 있습니다. README에는 새로운 프롬프트 추가, 모의 API 커스터마이징, 데스크톱 버전 빌드 방법에 대한 안내가 포함되어 있습니다.

요약

ChatGPT‑web은 어떤 OpenAI 호환 채팅 서비스에도 사용 가능한 실용적이고 개인정보를 최우선으로 한 프론트엔드입니다. 음성, 이미지 생성, 프롬프트 라이브러리, 내보내기와 같은 유용한 기능을 제공하면서도 브라우저 내에서 또는 작고 가벼운 데스크톱 앱으로도 실행 가능합니다.

관련

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