中文

Sites

Sites

在 ChatGPT 中构建和分享托管站点

Sites 可让 ChatGPT 创建、托管、完善和分享网站、Web 应用和游戏。 如果你希望将提示词或兼容的现有项目转化为托管体验, 而不必设置单独的部署工作流,请使用 Sites。

在 ChatGPT 桌面应用中打开 Sites。你可以根据提示词或 兼容的本地项目创建站点,然后返回 Sites 视图进行管理。

在网页版 ChatGPT 中使用 Sites 创建和管理托管站点。选择 More > Sites,或直接前往 chatgpt.com/sites,查找你创建的 Sites。

Sites 没有独立的 Codex CLI 管理视图。请使用网页版 ChatGPT 或 桌面应用创建、保存、部署和管理 Sites 项目。你仍可 在发布本地项目前使用 Codex CLI 对其进行编辑和测试。

Sites 没有独立的 IDE 扩展管理视图。请使用网页版 ChatGPT 或桌面应用执行 Sites 操作,并使用 IDE 扩展编辑和 测试本地源项目。

开始使用 Sites

在 ChatGPT 中,在提示词里加入“website”一词或提及 @Sites, 即可明确启动 Sites 工作流。

  1. 描述 Site

    描述 Site 的受众、用途、所需行为以及应使用的 信息。

  2. 审核 Site

    审核生成的内容和行为。检查 Site 是否使用了 预期信息,并按预期处理数据。

  3. 完善 Site

    描述你希望进行的更改。如果相关文件或视觉上下文 有助于 ChatGPT 完成更改,请一并添加。

  4. 管理和分享 Site

    返回 Sites,重新打开或完善 Site。准备就绪后,选择哪些人 可以访问,并分享生成的链接。

在预览中选择 Edit。在 Describe website edits 下,描述你希望进行的 更改。如果额外上下文有所帮助,请使用 ScreenshotAdd files and more

使用提示词让 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.

查看 Site 分析数据

Sites 会自动记录流量,因此无需添加分析 SDK,即可了解用户如何使用已部署的 Site。分析视图会显示独立访客总数和页面浏览量, 以及这两项指标随时间的变化。更改日期范围或 粒度可查看不同的时间段。

打开 Sites,找到该 Site,然后选择 More actions > Analytics

前往 chatgpt.com/sites,找到该 Site,然后选择 More actions > Analytics

Sites 在 CLI 或 IDE 扩展中没有独立的分析视图。请在 网页版 ChatGPT 或桌面应用中打开 Site,查看其分析数据。

Site 分析

独立访客和页面浏览量会以总数和所选时间段的时间序列图显示。

添加使用 ChatGPT 登录

公开 Sites 可以继续向所有人开放,同时提供可选的使用 ChatGPT 登录功能,用于需要识别身份的功能,例如保存进度、个性化视图, 或属于特定人员的记录。仅限工作区访问的 Sites 已经 使用 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 通过平台提供的路径处理登录和退出流程, 然后将访客送回你的 Site:

<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 可能包含非空的个人资料名称。请将 其视为可选值,并在缺失时回退到电子邮件地址。

请在服务器端代码中做出授权决策,不要依赖 拆分姓名的标头。

了解项目、版本和部署

Site 是一种持久化的托管产物,你可以在 ChatGPT 的 Sites 中重新打开、 完善、配置和分享它。

Sites 项目会将本地源项目关联到通过 Sites 管理的托管服务。 Sites 会将该关联关系和可选的存储绑定名称保存在 .openai/hosting.json 中。新创建的本地初始项目可以在没有 project_id 的情况下开始;Sites 会在预配托管项目后添加该文件。

例如,一个使用关系数据库绑定但不使用 文件存储的已预配站点可以包含:

{
  "project_id": "<project-id>",
  "d1": "DB",
  "r2": null
}

即使创建 Site 的 ChatGPT Work 对话已结束,该 Site 仍会显示在你的 Sites 列表中。 你无需本地项目或清单即可在网页上创建 Site。Site 与 ChatGPT Project 相互独立。

Sites 发布分为两个独立阶段:

  1. 保存版本。 ChatGPT 会构建一个可部署版本。对于本地源 项目,ChatGPT 会将该版本与构建时使用的 Git 提交关联。 如果你希望获得可审核的候选部署,请使用此阶段。
  2. 部署版本。 ChatGPT 会发布已保存的版本,并在部署成功时 报告生产 URL。仅当你希望选定受众访问该站点时, 才使用此阶段。

需要确定以前的候选部署时,请让 ChatGPT 列出或检查 已保存的版本。

选择受支持的站点形态

对于新项目,Sites 工作流可以从其推荐的 Site 初始项目开始。对于现有项目,请先让 ChatGPT 确认该项目能够 生成兼容的部署产物,再请求部署。

向 ChatGPT 说明你需要的产品行为,以便它选择合适的 站点形态:

Site 需求 向 Sites 提出的要求
以内容为主的网站或落地页 除非体验需要,否则使用不含持久化应用状态的 Site
保存的记录、用户进度或游戏分数 使用 D1,即用于持久化结构化数据的关系数据库
图片、文档、音频、视频或其他上传内容 使用 R2,即用于文件的对象存储
带有可搜索元数据的上传文件 使用 D1 存储元数据,使用 R2 存储文件内容
需要当前工作区用户身份的内部站点 使用工作区认证的用户身份
公开登录或外部身份提供商 使用启用身份认证的 Site

不要为临时展示状态(例如主题选择或已关闭的横幅)请求 持久化存储。对于用户期望托管站点能够记住的产品数据, 则应请求持久化存储。

控制访问权限和密钥

在你更改访问权限之前,新 Site 仅限其所有者和工作区管理员访问。 审核内容、数据处理方式和预期受众期间,请保持访问受限。

根据你的账户和工作区设置,分享选项可能包括:

  • 所有者和工作区管理员
  • 选定的活跃用户或群组(如果支持)
  • 工作区中的任何人(如果支持)
  • 互联网上的任何人(仅在启用公开发布时)

访客访问权限允许用户打开 Site,但不会授予编辑权限。 在 Enterprise 工作区中,公开发布默认关闭,必须由 管理员启用。

对于受限分享,受邀访客必须使用获得访问权限的账户登录。 公开 Site 无需 ChatGPT 工作区访问权限即可使用。Site 的受众设置与 Site 内置的任何登录功能是相互独立的控制项。

例如:

Change this Site's access to everyone in my workspace after showing me the
current Site and confirming its URL.

协作编辑 Site

Site 协作需要工作区。功能可用时,Site 所有者可以邀请同一工作区的活跃成员担任编辑者。

编辑者可以读取 Site 的实时数据库数据。请仅邀请你信任且可以接触 Site 代码和数据的人员。

  1. 打开 Site 并选择 Share
  2. Add people or groups 下,查找并选择一名工作区成员。该成员 将被添加为访客。
  3. 打开该人员旁边的 Can view,然后选择 Can edit。访问权限会 自动保存。该 Site 会显示在该成员 Sites 视图的 Shared with you 下。
  4. 所有者首次发布 Site 后,编辑者可以打开 Site、进行更改、保存版本并发布 更新。

Site 所有者负责管理编辑者访问权限,可以将现有访客提升为 编辑者、将编辑者改为 Can view,或移除其访问权限。协同编辑 不会添加单独的工作区权限开关。

编辑者无法更改 Site 的受众、邀请或移除其他人员、管理 设置或分析数据、恢复较早版本或转移所有权。 编辑者也无法执行 Site 的首次发布;所有者必须先发布 Site,编辑者才能发布后续更新。

编辑者访问权限与访客访问权限相互独立。上述步骤先将该人员添加为 访客,然后授予编辑权限。将访客提升为编辑者 不会更改 Site 的受众设置。

配置运行时环境值

打开 Sites,然后打开 Site 的设置,以添加、更新或移除托管 环境变量和密钥。不要在提示词、附件 和 Site 内容中包含密钥值。

前往 chatgpt.com/sites,找到该 Site,然后选择 More actions > Settings

不要将这些值存储在 .openai/hosting.json 中。确保本地 .env.env.example 文件与本地开发所需的键保持一致,且 不要提交密钥值。

添加、更新或移除托管环境值后,请让 ChatGPT 重新部署已批准的已保存版本,以便下一次部署使用更新后的 配置。

更改 Site URL

如果 URL 编辑功能可用,Site 所有者无需创建其他部署, 即可更改现有 Site 的 ChatGPT 托管 URL。

  1. 打开 Sites,找到该 Site,并打开其设置。
  2. 找到 Site URL,然后选择 Change URL
  3. 输入一个可用名称。该名称必须至少包含五个字符,以 小写字母开头,并且只能使用小写字母、数字和单个 连字符。不能以连字符结尾,也不能包含连续的连字符。
  4. 确认更改并等待 Sites 更新地址。

更改 URL 不会创建其他部署。之前的地址 会重定向到新地址,包括路由和查询参数。

更改 ChatGPT 托管 URL 不会添加、移除或更改自定义域名。 自定义域名是一项独立的现有功能;该功能可用时,请使用自定义域名 设置。

连接自定义域名

如果自定义域名功能可用,你可以连接自己已有的根域名或子域名。 Sites 不会代你注册域名,因此你必须能够 更改该域名的 DNS 记录。自定义域名在发布之初不适用于 Enterprise 工作区。

连接域名:

  1. 打开 Site 的设置,然后选择 Add domain
  2. 输入你希望使用的根域名或子域名。
  3. 复制 Sites 提供的 DNS 记录和值,然后通过你的 域名提供商添加这些记录和值。
  4. 等待几分钟,然后返回 Site 设置并刷新域名 状态。

你也可以让 ChatGPT 帮助将域名指向你的 Site。如果启用了浏览或 计算机操作功能,登录后 ChatGPT 可以帮助你浏览域名提供商的 界面。

分享前进行审核

分享 Site 前:

  • 审核其内容、生成的文本和图片、链接、上传的文件、表单 以及交互行为。
  • 确认其中没有暴露机密或敏感信息、密钥 值,或你无权分享的第三方内容。
  • 从预期访客的视角测试 Site,包括其访问和 登录行为。
  • 审核收集个人信息或其他访客内容的功能。 确定 Site 是否应收集、分享或发布这些信息。
  • 如果 Site 使用“使用 ChatGPT 登录”,请说明它会接收哪些访客信息, 以及如何使用这些信息。
  • 如果 Site 收集或处理个人数据,请遵守 适用的隐私和数据保护法律
  • 选择符合预期受众需求的最严格分享选项。
  • 打开分享后的 Site,确认预期受众可以访问。

对于基于本地项目构建的 Site,还应在 Codex 审核窗格中审核源代码更改和所有 数据库迁移。

下线或删除 Site

若要在不删除 Site 的情况下移除访问权限,请打开其分享设置,将访问权限限制为 仅你自己或选定人员。确认之前的受众已无法再 打开该 Site。

永久删除 Site:

  1. 打开 Sites 并找到该 Site。
  2. 选择 Delete site,然后按照提示中的说明操作。
  3. 输入 Site slug,然后选择 Permanently delete

删除 Site 会将其永久移除。已删除的 Site 无法恢复。

了解限制和不受支持的用途

Sites 托管在受支持的 Sites 运行时中运行的 Web 体验。某些 框架、专用网络、数据库、后台服务和托管 模式不受支持。

每个 Site 都有以下存储限制:

资源 限制
D1 数据库存储 10 GB
R2 对象存储 无固定存储限制

Sites 发布之初不支持数据驻留或推理驻留。这 包括已部署的 Sites、Site 代码、D1 和 R2 数据与文件存储、生成的 产物及日志。

请勿使用 Sites 处理受保护健康信息或支付卡数据; 以 13 岁以下儿童或低于适用数字同意年龄的儿童为目标用户;支持 金融交易;传播恶意软件;实施网络钓鱼;冒充个人 或组织;或以其他方式违反 OpenAI 政策。有关当前限制和政策链接, 请参阅创建和管理 ChatGPT Sites

相关文档