OpenAI Codex 中文教程

Sites

使用 Sites 插件创建、保存、部署并检查 OpenAI 托管的网站、Web App 和游戏。

Sites 可以让 Codex 创建、保存、部署并检查由 OpenAI 托管的网站、Web App 和游戏。当你希望把一个提示词或兼容的现有项目变成托管站点,又不想单独搭建部署流程时,可以使用 Sites 插件。

开始使用 Sites

Sites 目前处于 preview 阶段,当前面向 ChatGPT Business 和 Enterprise 工作区开放,后续会逐步扩展到更多计划。对于 ChatGPT Enterprise 工作区,管理员必须先通过 role-based access control(RBAC)启用 Sites,成员才能使用。各计划支持情况可在 Feature availability(功能可用性)中比较。

  1. 为 Enterprise 工作区启用 Sites

    如果你使用 ChatGPT Enterprise,请让工作区管理员打开 ChatGPT admin settings 中的 RBAC 控制,并为合适的角色启用 Sites。ChatGPT Business 工作区可以跳过这一步,因为 Sites 默认启用。

  2. 添加 Sites 插件

    如果 Sites 尚不可用,请在 Codex App 中打开 Plugins(插件),找到 Sites,并把它添加到 Codex。安装插件后,请重新开始一个线程。

  3. 启动 Sites 任务

    在线程中描述你要创建或发布的站点。你可以用 @Sites 显式指定插件,尤其是在任务需要以托管部署收尾时。

    Codex App 输入框中提到 Sites 插件和已连接应用
  4. 决定保存还是部署

    让 Codex 验证站点构建。随后告诉它是保存一个可部署版本供你审查,还是部署已经批准的保存版本。

  5. 返回已部署站点

    打开 App 侧边栏中的 Sites,即可回到你的 Sites 项目。你也可以让 Codex 检查保存版本、查看部署状态,或调整已部署站点的访问对象。

    Codex App 中的 Sites 项目列表

针对常见任务提示 Sites

对于新网站、dashboard 或内部工具,请在请求中说明受众、核心体验和所需数据:

@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 准备并发布当前应用:

@Sites Deploy this project. Check whether it is compatible with Sites, make any
required changes, and give me the deployment URL.

如果站点需要持久化应用数据或上传文件,请在请求中说清楚:

@Sites Add persistent player scores and avatar uploads to this game. Use
the appropriate Sites storage and deploy the updated game.

你可以浏览 Sites showcase,查看已部署的内部应用以及用于创建它们的完整提示词。

理解项目、版本与部署

一个 Sites 项目会把本地源项目关联到由 Sites 管理的托管服务。Codex 会把这层关联关系以及可选的存储 binding 名写入 .openai/hosting.json。新创建的本地 starter 可以暂时没有 project_id;当 Sites 完成托管项目预配后,会补入这个 ID。

例如,一个已经预配、使用关系型数据库 binding 且不使用文件存储的站点,可以包含:

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

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

  1. 保存版本。 Codex 会构建可部署站点,并把该版本关联到构建所使用的源 Git commit。当你需要一个可审查的部署候选版本时,使用这一阶段。
  2. 部署版本。 Codex 会发布一个已保存版本,并在部署成功后报告生产 URL。只有当你希望选定受众访问该站点时,才使用这一阶段。

当你需要识别之前的部署候选版本时,可以让 Codex 列出或检查保存版本。

选择受支持的站点形态

Sites 托管的项目需要构建出与 Cloudflare Worker 兼容的 ES module 输出。对于新项目,Sites 工作流可以从推荐的站点 starter 开始。对于现有站点,请先让 Codex 确认该项目的构建能否产出兼容的部署 artifact,再请求部署。

请告诉 Codex 你需要的产品行为,这样它才能选择合适的站点形态:

站点需求 应该让 Sites 做什么
内容型网站或 landing page 创建一个没有持久化应用状态的站点,除非体验本身需要保存状态
已保存记录、用户进度或游戏分数 使用 D1 作为持久化结构化数据的关系型数据库
图片、文档、音频、视频或其他上传内容 使用 R2 作为文件对象存储
带可搜索 metadata 的上传文件 使用 D1 保存 metadata,并用 R2 保存文件内容
需要当前工作区用户身份的内部站点 使用工作区认证的用户身份
公开登录或外部 identity provider 创建启用认证的 Sites 项目

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

控制访问与密钥

分享部署 URL 之前,请先设置访问对象。对于新站点,在你完成内容、数据处理方式和预期受众审查前,建议只允许 owner 和工作区管理员访问。

你可以让 Sites 应用以下访问模式之一:

访问模式 谁可以访问站点
Owner and admins(admins_only 站点 owner 和工作区管理员
Workspace(workspace_all 工作区中的所有活跃用户
Custom(custom 你选择的特定活跃用户或工作区群组;Sites 会继续允许 owner 访问

例如:

@Sites Change this deployed site's access to everyone in my workspace after
showing me the current site and confirming the deployment URL.

配置运行时环境值

打开 App 侧边栏中的 Sites,选择一个项目,即可在 Sites 面板中添加、更新或移除托管环境变量和 secrets。不要把这些值保存在 .openai/hosting.json 中。请让本地 .env.env.example 文件与本地开发所需的 key 保持一致,并且不要提交 secret 值。

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

分享前审查

部署或扩大访问范围前,请检查:

  • 在 Codex review pane(评审面板)中审查源代码改动和所有数据库迁移。
  • 确认构建已成功,并且选中的保存版本正是你打算发布的版本。
  • 检查只有预期受众可以访问该站点。
  • 确认运行时 secret 值是通过 Sites 配置的,而不是提交在源文件里。
  • 部署后,让 Codex 确认部署状态和生产 URL,再分享给他人。

相关文档