数据和连接
保存记录、连接应用,并为网站添加登录功能
你的网站可能需要保存请求、记住进度或显示连接的应用中的信息。告诉 ChatGPT 要保存什么、信息来自哪里,以及哪些人应有访问权限。
选择存储和登录功能
对于新项目,sites 工作流可以从推荐的网站 起始模板开始。对于现有项目,请要求 ChatGPT 先确认项目能够 生成兼容的部署产物,再请求部署。
描述网站应实现的功能,以便 ChatGPT 选择所需的存储和身份功能:
| 网站需求 | 向 sites 提出的要求 |
|---|---|
| 以内容为主的网站或落地页 | 不持久保存应用状态的网站,除非使用体验需要如此 |
| 保存的记录、用户进度或游戏分数 | D1,用于持久保存结构化数据的关系数据库 |
| 图像、文档、音频、视频或其他上传内容 | R2,用于存放文件的对象存储 |
| 带有可搜索元数据的上传文件 | 使用 D1 存储元数据,使用 R2 存储文件内容 |
| 需要当前工作区用户身份的内部网站 | 经过工作区认证的用户身份 |
| 公开登录或外部身份提供商 | 启用身份验证的网站 |
对于主题选择或已关闭的横幅等临时界面状态,不要请求 持久存储。对于用户期望托管网站记住的产品数据, 则应请求持久存储。
添加“使用 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可能包含非空的个人资料名称。请将 其视为可选项,缺失时回退到电子邮件地址。
在服务器端代码中进行授权判断,不要依赖 拆分姓名的请求头。
通过插件将用户数据引入网站
在 sites 中使用插件,构建能够从每位网站访客自己连接的应用中 加载数据的网站。例如,问题看板 可以向你显示分配给你的问题,并向队友显示分配给他们的 问题。每位访客都使用 ChatGPT 登录,并选择允许使用的连接账号 和访问权限。
使用连接的数据构建网站
- 要求 ChatGPT Work 或 Codex 构建网站。指明插件连接器及其应执行的操作,或询问有哪些可用插件。
- 使用真实数据试用预览。智能体在构建和预览网站时会使用你可用的 连接。
- 要求智能体将网站发布到你的工作区,并 将链接分享给队友。
例如:
提示词:
Build a site using my connected issue tracker that shows issues assigned to me, grouped by priority. Add project filters, links to the original issues, and a Refresh button.你还可以构建链接到原始文档的文档查找工具,或 整合工单和消息的项目概览。
数据加载
页面加载时,sites 会使用访客的连接和权限读取连接的数据。Sites 负责管理缓存和重新加载;如有需要,请要求 ChatGPT Work 或 Codex 添加手动刷新操作。
默认情况下,当连接器返回游标时,sites 会使用 加载更多 操作来获取下一页。
技术参考:插件发现
Sites 使用 getContext() 查找插件的操作。它会返回缓存的工具名称、描述和架构;不会刷新发现结果。
有关支持的连接应用操作及其可用性,请参阅帮助中心的创建和使用 ChatGPT Sites。
让访客选择自己的连接
要使用连接功能,访客需使用 ChatGPT 登录,查看网站 请求的应用访问权限,选择允许使用的连接账号和访问权限, 然后返回网站。分享网站不会授予他人访问你所连接账号的 权限。网站会从每位访客允许的应用中接收数据。
访客可以在不授予应用访问权限的情况下继续,但需要该权限的功能 将无法使用。如果某个应用不可用,请检查它是否已在正确的 工作区中连接,并且工作区设置允许使用它。