Sites는 공개 베타로 제공되며 ChatGPT Plus, Pro, Business, Enterprise 및 Edu 플랜에서 이용할 수 있습니다. 베타 기간에는 모든 사이트에 걸쳐 플랜별 사용 한도가 적용됩니다. ChatGPT는 현재 한도를 표시하고 한도에 가까워지면 알려줍니다. 한도에 도달하면 사이트를 만들거나 스토리지를 추가하거나 사용량이 많은 사이트를 공개 상태로 유지하지 못할 수 있지만, 기존 사이트는 계속 편집하고 관리할 수 있습니다.
Sites를 사용하면 ChatGPT가 웹사이트, 웹 앱, 게임을 만들고 호스팅하며 개선하고 공유할 수 있습니다. 별도의 배포 워크플로우를 설정하지 않고 프롬프트나 호환되는 기존 프로젝트를 호스팅되는 웹 환경으로 구현하려면 Sites를 사용하세요.
ChatGPT 데스크톱 앱에서 Sites를 여세요. 프롬프트 또는 호환되는 로컬 프로젝트를 바탕으로 사이트를 만든 다음 Sites 화면으로 돌아가 관리할 수 있습니다.
웹용 ChatGPT에서 Sites를 사용해 호스팅되는 사이트를 만들고 관리하세요. 만든 사이트를 찾으려면 더 보기 > Sites를 선택하거나 chatgpt.com/sites로 바로 이동하세요.
Sites에는 별도의 Codex CLI 관리 화면이 없습니다. Sites 프로젝트를 만들고 저장하고 배포하고 관리하려면 웹용 ChatGPT 또는 데스크톱 앱을 사용하세요. 게시하기 전에 Codex CLI로 로컬 프로젝트를 편집하고 테스트할 수 있습니다.
IDE 확장에는 Sites 전용 관리 화면이 없습니다. Sites 작업에는 웹용 ChatGPT 또는 데스크톱 앱을 사용하고, 로컬 소스 프로젝트를 편집하고 테스트할 때는 IDE 확장을 사용하세요.
Sites의 모든 배포 URL은 프로덕션 배포를 가리킵니다. 빌드를 실제 서비스에 배포하기 전에 검토하려면 배포하지 않고 버전만 저장하도록 ChatGPT에 요청하세요.
Sites 시작하기
ChatGPT 프롬프트에 "website"라는 단어를 포함하거나 @Sites를 멘션해
Sites 워크플로우를 명시적으로 시작하세요.
-
사이트 설명
사이트의 사용 대상, 목적, 필요한 동작과 사이트에서 사용할 정보를 설명하세요.
-
사이트 검토
생성된 콘텐츠와 동작을 검토하세요. 사이트가 의도한 정보를 사용하고 데이터를 예상대로 처리하는지 확인하세요.
-
사이트 개선
원하는 변경 사항을 설명하세요. 관련 파일이나 시각적 컨텍스트가 ChatGPT의 변경 작업에 도움이 된다면 함께 추가하세요.
-
사이트 관리 및 공유
Sites로 돌아가 사이트를 다시 열거나 개선하세요. 준비가 되면 방문할 수 있는 대상을 선택하고 생성된 링크를 공유하세요.
미리 보기에서 편집을 선택하세요. 웹사이트 수정 사항 설명 아래에 원하는 변경 사항을 설명하세요. 추가 컨텍스트가 도움이 된다면 스크린샷 또는 파일 및 기타 항목 추가를 사용하세요.
일반적인 작업을 Sites에 요청하기
새 웹사이트, 대시보드 또는 내부 도구를 만들 때는 사용 대상, 핵심 사용자 경험과 필요한 정보를 포함하세요:
Build a project request dashboard for my operations team. Let team members
submit requests, see who owns each one, update the status, and filter the list.
Require people to sign in with their workspace account, and keep the request
data saved between visits.
기존 프로젝트의 경우 현재 앱을 준비하고 게시하도록 Sites에 요청하세요:
Deploy this project with Sites. Check whether it is compatible, make any
required changes, and give me the deployment URL. 사이트에 영구 저장할 애플리케이션 데이터나 업로드 파일이 필요하다면 요청에 명시하세요:
Add player scores and avatar uploads to this game. Keep the scores and uploaded
avatars between visits.
Sites 쇼케이스에서 배포된 내부 앱과 앱을 만드는 데 사용된 전체 프롬프트를 확인하세요.
사이트 분석 확인
Sites는 트래픽을 자동으로 기록하므로 분석 SDK를 추가하지 않고도 배포된 사이트의 이용 현황을 확인할 수 있습니다. 분석 화면에는 총 순 방문자 수와 페이지 조회수뿐 아니라 시간에 따른 두 지표의 변화도 표시됩니다. 다른 기간을 확인하려면 날짜 범위나 집계 단위를 변경하세요.
Sites를 열고 사이트를 찾은 다음 추가 작업 > 분석을 선택하세요.
chatgpt.com/sites로 이동해 사이트를 찾은 다음 추가 작업 > 분석을 선택하세요.
CLI나 IDE 확장에는 Sites 전용 분석 화면이 없습니다. 분석 정보를 확인하려면 웹용 ChatGPT 또는 데스크톱 앱에서 사이트를 여세요.
현재 분석 기능은 엔터프라이즈 워크스페이스 소유가 아닌 사이트에서만 이용할 수 있습니다.
ChatGPT로 로그인 기능 추가
공개 사이트는 누구나 이용할 수 있도록 유지하면서 ChatGPT로 로그인하는 기능을 선택적으로 제공할 수 있습니다. 이 로그인 기능은 진행 상황 저장, 개인화된 화면, 특정 사용자에게 속한 레코드 등 사용자 식별이 필요한 기능에 사용할 수 있습니다. 워크스페이스로 접근이 제한된 사이트는 이미 ChatGPT 신원 정보를 사용해 공유 설정을 적용합니다.
로그인 기능을 추가하도록 Sites에 요청하세요:
Add Sign in with ChatGPT to this public Site. Keep the Site available to signed-out visitors. Show a Sign in with ChatGPT action when someone is signed out. After they sign in, greet them with their full name when available, or their email address otherwise. Add a Sign out action, and keep authorization decisions in server-side code.
작동 방식
Sites는 플랫폼에서 제공하는 경로를 통해 로그인과 로그아웃 플로우를 처리한 다음 방문자를 사이트로 돌려보냅니다:
<a href="/signin-with-chatgpt">Sign in with ChatGPT</a>
<a href="/signout-with-chatgpt">Sign out</a>방문자가 로그인하면 Sites는 다음 요청 헤더를 통해 방문자의 신원 정보를 서버로 전달합니다:
oai-authenticated-user-email에는 인증된 이메일 주소가 포함됩니다.oai-authenticated-user-full-name에는 비어 있지 않은 프로필 이름이 포함될 수 있습니다. 이 값은 선택 사항으로 처리하고, 값이 없으면 이메일 주소를 대신 사용하세요.
권한 부여 여부는 서버 측 코드에서 판단하고, 이름을 나누어 제공하는 헤더에 의존하지 마세요.
프로젝트, 버전 및 배포 이해하기
사이트는 지속적으로 호스팅되는 결과물로, ChatGPT의 Sites에서 다시 열어 개선하고 설정하거나 공유할 수 있습니다.
Sites 프로젝트는 로컬 소스 프로젝트를 Sites가 관리하는 호스팅에 연결합니다.
Sites는 연결 정보와 선택 사항인 스토리지 바인딩 이름을
.openai/hosting.json에 저장합니다. 새로 만든 로컬 스타터는
project_id 없이 시작할 수 있으며, Sites는 호스팅 프로젝트를 프로비저닝한 후 이 값을 추가합니다.
예를 들어 관계형 데이터베이스 바인딩을 사용하고 파일 스토리지는 사용하지 않는 프로비저닝된 사이트에는 다음과 같은 내용이 포함될 수 있습니다:
{
"project_id": "<project-id>",
"d1": "DB",
"r2": null
} 사이트를 만든 ChatGPT Work 채팅이 종료된 후에도 해당 사이트는 Sites 목록에 표시됩니다. 웹에서 사이트를 시작할 때 로컬 프로젝트나 매니페스트는 필요하지 않습니다. 사이트는 ChatGPT 프로젝트와 별개입니다.
Sites 게시 과정은 두 단계로 나뉩니다:
- 버전 저장. ChatGPT가 배포 가능한 버전을 빌드합니다. 로컬 소스 프로젝트의 경우 이 버전을 빌드에 사용한 Git 커밋과 연결합니다. 검토할 수 있는 배포 후보가 필요할 때 이 단계를 사용하세요.
- 버전 배포. ChatGPT가 저장된 버전을 게시하고, 배포에 성공하면 프로덕션 URL을 알려줍니다. 선택한 대상 사용자가 사이트에 접근할 수 있도록 하려는 경우에만 이 단계를 사용하세요.
이전 배포 후보를 찾아야 할 때는 저장된 버전의 목록을 보여 주거나 내용을 확인하도록 ChatGPT에 요청하세요.
지원되는 사이트 구성 선택
새 프로젝트는 Sites 워크플로우에서 권장하는 사이트 스타터로 시작할 수 있습니다. 기존 프로젝트의 경우 배포를 요청하기 전에 호환되는 배포 아티팩트를 생성할 수 있는지 ChatGPT에 확인해 달라고 요청하세요.
ChatGPT가 적절한 사이트 구성을 선택할 수 있도록 제품이 어떻게 동작해야 하는지 설명하세요:
| 사이트 요구 사항 | Sites에 요청할 항목 |
|---|---|
| 콘텐츠 중심 웹사이트 또는 랜딩 페이지 | 사용자 경험에 필요한 경우가 아니면 애플리케이션 상태를 영구 저장하지 않는 사이트 |
| 저장된 레코드, 사용자 진행 상황 또는 게임 점수 | D1, 구조화된 데이터를 영구 저장하는 관계형 데이터베이스 |
| 이미지, 문서, 오디오, 동영상 또는 기타 업로드 파일 | R2, 파일용 객체 스토리지 |
| 검색 가능한 메타데이터가 있는 업로드 파일 | 메타데이터 저장용 D1과 파일 콘텐츠 저장용 R2 |
| 현재 워크스페이스 사용자의 신원 정보가 필요한 내부 사이트 | 워크스페이스에서 인증된 사용자 신원 정보 |
| 공개 로그인 또는 외부 ID 공급자 | 인증 기능이 활성화된 사이트 |
테마 선택이나 배너를 닫았는지 여부처럼 일시적인 화면 표시 상태에는 영구 스토리지를 요청하지 마세요. 사용자가 호스팅된 사이트에 계속 저장되기를 기대하는 제품 데이터에는 영구 스토리지를 요청하세요.
액세스 권한 및 비밀 값 관리
새 사이트는 액세스 설정을 변경하기 전까지 소유자와 워크스페이스 관리자만 이용할 수 있습니다. 콘텐츠, 데이터 처리 방식, 예상 대상 사용자를 검토하는 동안에는 액세스를 제한하세요.
계정 및 워크스페이스 설정에 따라 다음과 같은 공유 옵션을 사용할 수 있습니다:
- 소유자 및 워크스페이스 관리자
- 지원되는 경우 선택한 활성 사용자 또는 그룹
- 지원되는 경우 워크스페이스의 모든 사용자
- 공개 게시가 활성화된 경우에만 인터넷상의 모든 사용자
방문자 권한이 있으면 사이트를 열 수 있지만 편집 권한은 부여되지 않습니다. 엔터프라이즈 워크스페이스에서는 공개 게시가 기본적으로 비활성화되어 있으며 관리자가 활성화해야 합니다.
제한적으로 공유하는 경우 초대받은 방문자는 액세스 권한이 부여된 계정으로 로그인해야 합니다. 공개 사이트는 ChatGPT 워크스페이스에 대한 액세스 권한 없이도 이용할 수 있습니다. 사이트의 대상 사용자 설정과 사이트에 구현된 로그인 기능은 서로 별도로 관리됩니다.
예를 들면 다음과 같습니다:
Change this Site's access to everyone in my workspace after showing me the
current Site and confirming its URL.
사이트에서 협업하기
사이트에서 협업하려면 워크스페이스가 필요합니다. 이 기능을 사용할 수 있는 경우 사이트 소유자는 같은 워크스페이스의 활성 구성원을 편집자로 초대할 수 있습니다.
편집자는 사이트의 운영 데이터베이스에 있는 데이터를 열람할 수 있습니다. 사이트의 코드와 데이터를 믿고 맡길 수 있는 사람만 초대하세요.
- 사이트를 열고 공유를 선택하세요.
- 사용자 또는 그룹 추가에서 워크스페이스 구성원을 찾아 선택하세요. 선택한 구성원이 방문자로 추가됩니다.
- 해당 사용자 옆의 보기 가능 메뉴를 열고 편집 가능을 선택하세요. 액세스 권한은 자동으로 저장됩니다. 사이트는 해당 구성원의 Sites 화면에서 나와 공유됨 섹션에 표시됩니다.
- 편집자는 사이트를 열고 수정하고 버전을 저장할 수 있으며, 소유자가 사이트를 처음 게시한 후에는 업데이트를 게시할 수 있습니다.
사이트 소유자는 편집자 권한을 관리하며 기존 방문자를 편집자로 변경하거나 편집자의 권한을 보기 가능으로 바꾸거나 액세스 권한을 제거할 수 있습니다. 공동 편집을 위해 워크스페이스에 별도의 권한 토글이 추가되지는 않습니다.
편집자는 사이트의 대상 사용자를 변경하거나, 다른 사람을 초대하거나 제외하거나, 설정 또는 분석을 관리하거나, 이전 버전을 복원하거나, 소유권을 이전할 수 없습니다. 또한 편집자는 사이트를 처음 게시할 수 없습니다. 소유자가 먼저 사이트를 게시해야 편집자가 이후 업데이트를 게시할 수 있습니다.
편집 권한은 방문자 권한과 별개입니다. 위 단계에서는 먼저 해당 사용자를 방문자로 추가한 다음 편집 권한을 부여합니다. 방문자를 편집자로 변경해도 사이트의 대상 사용자 설정은 바뀌지 않습니다.
런타임 환경 값 구성
Sites를 연 다음 사이트 설정을 열어 호스팅에 사용되는 환경 변수와 비밀 값을 추가, 업데이트 또는 삭제하세요. 비밀 값은 프롬프트, 첨부 파일, 사이트 콘텐츠에 포함하지 마세요.
chatgpt.com/sites로 이동해 사이트를 찾은 다음 추가 작업 > 설정을 선택하세요.
이 값을 .openai/hosting.json에 저장하지 마세요. 로컬 .env 및
.env.example 파일에는 로컬 개발에 필요한 키를 일치시켜 유지하고,
비밀 값은 커밋하지 마세요.
호스팅 환경의 값을 추가, 업데이트 또는 삭제하면 ChatGPT에 승인된 저장 버전을 재배포하도록 요청하세요. 그러면 다음 배포에 업데이트된 구성이 적용됩니다.
사이트 URL 변경
URL 편집 기능을 사용할 수 있는 경우 사이트 소유자는 새 배포를 생성하지 않고 기존 사이트의 ChatGPT 호스팅 URL을 변경할 수 있습니다.
- Sites를 열어 사이트를 찾은 다음 해당 사이트의 설정을 여세요.
- 사이트 URL을 찾은 다음 URL 변경을 선택하세요.
- 사용 가능한 이름을 입력하세요. 이름은 5자 이상이어야 하고 영문 소문자로 시작해야 하며, 영문 소문자, 숫자, 하이픈만 사용할 수 있습니다. 하이픈으로 끝나거나 하이픈을 연속해서 사용할 수 없습니다.
- 변경을 확인한 다음 Sites가 주소를 업데이트할 때까지 기다리세요.
URL을 변경해도 새 배포가 생성되지 않습니다. 기존 주소는 경로와 쿼리 매개변수를 포함하여 새 주소로 리디렉션됩니다.
ChatGPT 호스팅 URL을 변경해도 사용자 지정 도메인이 추가, 삭제 또는 변경되지 않습니다. 사용자 지정 도메인은 기존의 별도 기능이므로 해당 기능을 사용할 수 있는 경우 사용자 지정 도메인 설정을 사용하세요.
사용자 지정 도메인 연결
사용자 지정 도메인을 사용할 수 있는 경우 이미 소유한 루트 도메인 또는 서브도메인을 연결할 수 있습니다. Sites는 도메인을 대신 등록해 주지 않으므로 해당 도메인의 DNS 레코드를 변경할 수 있어야 합니다. 출시 시점에는 엔터프라이즈 워크스페이스에서 사용자 지정 도메인을 사용할 수 없습니다.
도메인을 연결하려면 다음 단계를 따르세요:
- 사이트 설정을 열고 도메인 추가를 선택하세요.
- 사용할 루트 도메인 또는 서브도메인을 입력하세요.
- Sites가 제공하는 DNS 레코드와 값을 복사한 다음 도메인 공급자를 통해 추가하세요.
- 몇 분간 기다린 다음 사이트 설정으로 돌아가 도메인 상태를 새로 고치세요.
ChatGPT에 도메인이 사이트를 가리키도록 설정하는 데 도움을 요청할 수도 있습니다. 웹 탐색 또는 컴퓨터 사용 기능이 활성화되어 있다면 도메인 공급자 사이트에 로그인한 후 ChatGPT의 도움을 받아 해당 사이트를 탐색할 수 있습니다.
공유 전 검토
사이트를 공유하기 전에 다음 사항을 확인하세요:
- 사이트 콘텐츠, 생성된 텍스트와 이미지, 링크, 업로드된 파일, 양식, 상호작용 동작을 검토하세요.
- 기밀 정보나 민감한 정보, 비밀 값, 공유할 권한이 없는 제3자 콘텐츠가 노출되지 않는지 확인하세요.
- 대상 방문자의 관점에서 액세스 및 로그인 동작을 포함한 사이트 이용 경험을 테스트하세요.
- 개인정보나 방문자가 제공한 기타 콘텐츠를 수집하는 기능을 검토하세요. 사이트에서 해당 정보를 수집, 공유 또는 게시할지 결정하세요.
- 사이트에서 ChatGPT로 로그인 기능을 사용하는 경우 어떤 방문자 정보를 전달받고 그 정보를 어떻게 사용하는지 설명하세요.
- 사이트에서 개인 데이터를 수집하거나 처리하는 경우 적용되는 개인정보 보호 및 데이터 보호 법률을 준수하세요.
- 대상 사용자에게 적합한 공유 옵션 중 범위가 가장 좁은 옵션을 선택하세요.
- 공유된 사이트를 열어 대상 사용자가 방문할 수 있는지 확인하세요.
로컬 프로젝트로 만든 사이트라면 소스 변경 사항과 데이터베이스 마이그레이션도 Codex 검토 창에서 검토하세요.
사이트 게시 중단 또는 삭제
사이트를 삭제하지 않고 액세스를 차단하려면 공유 설정을 열고 본인 또는 선택한 사용자만 액세스할 수 있도록 제한하세요. 기존 대상 사용자가 더 이상 사이트를 열 수 없는지 확인하세요.
사이트를 영구 삭제하려면 다음 단계를 따르세요:
- Sites를 열고 해당 사이트를 찾으세요.
- 사이트 삭제를 선택하고 표시되는 안내를 따르세요.
- 사이트 슬러그를 입력한 다음 영구 삭제를 선택하세요.
사이트를 삭제하면 영구적으로 제거됩니다. 삭제한 사이트는 복원할 수 없습니다.
제한 사항과 지원되지 않는 용도 이해하기
Sites는 지원되는 Sites 런타임에서 실행되는 웹 환경을 호스팅합니다. 일부 프레임워크, 사설 네트워크, 데이터베이스, 백그라운드 서비스, 호스팅 방식은 지원하지 않습니다.
HTTP, HTTPS, WebSockets는 지원합니다. 원시 TCP 연결은 인바운드와 아웃바운드 모두 지원하지 않습니다.
각 사이트에는 다음 스토리지 한도가 적용됩니다:
| 리소스 | 한도 |
|---|---|
| D1 데이터베이스 스토리지 | 10 GB |
| R2 객체 스토리지 | 고정된 스토리지 한도 없음 |
Sites는 출시 시점에 데이터 레지던시나 추론 레지던시를 지원하지 않습니다. 이는 배포된 Sites, 사이트 코드, D1 및 R2 데이터와 파일 스토리지, 생성된 아티팩트, 로그에 적용됩니다.
Sites를 사용해 보호 대상 건강 정보나 결제 카드 데이터를 처리하거나, 13세 미만 또는 적용되는 디지털 동의 연령 미만의 아동을 대상으로 삼거나, 금융 거래를 지원하거나, 악성코드를 배포하거나, 피싱을 지원하거나, 개인이나 조직을 사칭하거나, 그 밖의 방식으로 OpenAI 정책을 위반하지 마세요. 현재 한도와 정책 링크는 ChatGPT Sites 만들기 및 관리하기 문서에서 확인하세요.
관련 문서
- ChatGPT 데스크톱 앱에서는 앱 탐색, 프로젝트, 채팅을 소개합니다.
- 변경 사항 검토 및 배포에서는 소스 변경 사항을 게시하기 전에 검토하는 방법을 설명합니다.
- 프로젝트 및 채팅에서는 폴더와 워크스페이스의 컨텍스트가 채팅 간에 어떻게 이어지는지 설명합니다.
- 변경 사항 검토 및 배포에서는 각 Codex 클라이언트의 검토 워크플로우를 설명합니다.
- 샌드박스에서는 로컬 실행 경계를 설명합니다.
- ChatGPT에서 Sites를 열어 이전에 만든 Sites로 돌아가세요.
- 프로젝트 및 채팅에서는 관련 채팅과 소스 파일을 함께 관리하는 방법을 설명합니다.
- 파일 작업하기에서는 ChatGPT Web에서 생성된 파일을 검토하는 방법을 설명합니다.