OpenAI Codex Sites:用提示词构建和部署托管网站
Sites 让 Codex 能够创建、保存、部署和检查由 OpenAI 托管的网站、Web 应用和游戏。当你想把一个提示词或已有的兼容项目变成托管站点,又不想搭建额外的部署流程时,使用 Sites 插件即可。
每个 Sites 部署 URL 都是一个生产环境地址。如果你想先审查构建结果再公开发布,可以让 Codex 先保存一个版本而不部署。
快速开始
Sites 目前处于预览阶段,仅对 ChatGPT Business 和 Enterprise 工作区开放,后续会支持更多套餐。ChatGPT Enterprise 工作区需要管理员先通过 RBAC 开启该功能。各套餐的功能对比详见 Feature availability。
-
为 Enterprise 工作区启用 Sites
如果你使用 ChatGPT Enterprise,需要联系工作区管理员在 ChatGPT 管理后台的 RBAC 控制中为相应角色开启 Sites。ChatGPT Business 工作区可以跳过此步骤,因为 Sites 默认已启用。
-
添加 Sites 插件
如果 Sites 尚未可用,在 Codex 应用中打开 Plugins,找到 Sites 并添加到 Codex。安装插件后需要开启一个新的会话。
-
开始 Sites 任务
在会话中描述你想要创建或发布的网站。你可以使用
@Sites明确调用插件,尤其是当任务最终需要生成一个托管部署时。 -
决定保存还是部署
让 Codex 验证站点的构建结果,然后告诉它是保存一个可部署的版本供审查,还是直接部署已审核的保存版本。
-
回到已部署的站点
在应用侧边栏打开 Sites 即可返回你的 Sites 项目。你也可以让 Codex 检查已保存的版本、查看部署状态或更改已部署站点的访问权限。
常用提示词示例
创建新网站、仪表盘或内部工具时,需要说明目标受众、核心体验和所需数据:
@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 将此关联关系和可选的存储绑定名称存储在 .openai/hosting.json 中。新建的本地起始项目可以不包含 project_id,Sites 会在分配托管项目后自动添加。
例如,一个使用关系数据库绑定且不使用文件存储的已分配站点可以包含:
{
"project_id": "<project-id>",
"d1": "DB",
"r2": null
}
Sites 发布分为两个独立阶段:
- 保存版本。 Codex 构建可部署的站点,并将该版本与构建时使用的源 Git 提交关联。当你需要审查部署候选版本时使用此阶段。
- 部署版本。 Codex 发布一个已保存的版本,部署成功后报告生产 URL。只有当你确实要让目标受众访问站点时才使用此操作。
需要查找之前的部署候选版本时,可以让 Codex 列出或检查已保存的版本。
选择支持的站点类型
Sites 托管的项目需要构建出兼容 Cloudflare Worker 的 ES 模块输出。新项目可以直接使用 Sites 推荐的起始模板。已有项目则需要先让 Codex 确认项目的构建能够生成兼容的部署产物。
向 Codex 描述你需要的产品行为,让它选择合适的站点类型:
| 站点需求 | 应该请求什么 |
|---|---|
| 内容型网站或落地页 | 无持久应用状态的站点(除非体验需要) |
| 保存记录、用户进度或游戏分数 | D1 — 用于持久化结构化数据的关系数据库 |
| 图片、文档、音频、视频或其他上传文件 | R2 — 用于文件的对象存储 |
| 带可搜索元数据的上传文件 | D1 存储元数据,R2 存储文件内容 |
| 需要当前工作区用户身份的内部站点 | 工作区认证用户身份 |
| 公开登录或外部身份提供商 | 启用认证的 Sites 项目 |
不要为临时展示状态(如主题选择或已关闭的横幅)请求持久存储,但要为用户期望站点记住的产品数据请求持久存储。
访问控制和密钥管理
在分享已部署的 URL 之前设置好受众。对于新站点,在审查内容、数据处理和预期受众之前,将访问权限限制为所有者和工作区管理员。
你可以让 Sites 应用以下访问模式:
| 访问模式 | 谁可以访问站点 |
|---|---|
仅所有者和管理员(admins_only) | 站点所有者和工作区管理员 |
工作区(workspace_all) | 工作区中所有活跃用户 |
自定义(custom) | 你指定的特定活跃用户或工作组,所有者始终有权限 |
例如:
@Sites Change this deployed site's access to everyone in my workspace after
showing me the current site and confirming the deployment URL.
配置运行时环境变量
在应用侧边栏打开 Sites,选择一个项目即可在 Sites 面板中添加、更新或删除托管环境变量和密钥。不要将这些值存储在 .openai/hosting.json 中。保持本地 .env 和 .env.example 文件与本地开发所需的键一致,不要提交密钥值。
当你添加、更新或删除托管环境值后,需要让 Codex 重新部署已审核的保存版本,这样下次部署才会使用更新后的配置。
分享前先审查
在部署或扩大访问范围之前:
- 在 Codex 审查面板中审查源代码变更和数据库迁移。
- 确认构建成功,且选定的保存版本是你打算发布的版本。
- 检查只有目标受众可以访问站点。
- 确认你通过 Sites 配置了运行时密钥值,且没有将其提交到源文件中。
- 部署后,让 Codex 确认部署状态和生产 URL 后再分享。
相关文档
- Plugins 介绍了如何安装和调用 Codex 插件。
- Codex app 介绍了应用导航和项目会话。
- Review and ship changes 介绍了如何在发布前检查源代码变更。
评论互动