Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
602 changes: 301 additions & 301 deletions docs/zh/.translation-manifest.json

Large diffs are not rendered by default.

50 changes: 25 additions & 25 deletions docs/zh/api/docs/actions/actions-library.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
# GPT Actions
# GPT Actions library

> 如需查看完整的文档索引,请参阅 [llms.txt](/llms.txt). 文档页面的 Markdown 版本可通过在页面 URL 后追加 `.md` 获取
> 如需查看完整文档索引,请参阅 [llms.txt](/llms.txt)文档页面的 Markdown 版本可通过在页面 URL 末尾追加 `.md` 来获取

## 目的
## 用途

尽管对于 API 开发者来说,设置 GPT Actions 的工作量应远小于从头构建一个使用这些 API 的完整应用程序,但要让 GPT Actions 正常运行仍然需要进行一些设置。GPT Actions 库旨在为在常见应用程序上构建 GPT Actions 提供指导。
虽然相较于从零开始构建使用这些 API 的完整应用,GPT Actions API 开发者的搭建工作量已大幅减少,但要启动并运行 GPT Actions 仍需要一些配置。GPT Actions 资料库旨在为在常见应用上构建 GPT Actions 提供指导。

## 快速开始
## 入门指南

如果你以前从未构建过操作,请先阅读 [入门指南](https://developers.openai.com/api/docs/actions/getting-started) 以更好地理解操作的工作原理
如果你从未构建过 action,请先阅读 [入门指南](https://developers.openai.com/api/docs/actions/getting-started) ,以便更好地了解 action 的工作原理

通常,本指南面向熟悉并能自如调用 API 调用的人群。如需调试帮助,请尝试向 ChatGPT 解释你的问题,并附上截图。
一般来说,本指南面向熟悉并能够自如调用 API 的用户。如果需要调试帮助,请尝试向 ChatGPT 描述你遇到的问题,并附上截图。

## 如何访问
## 访问方式

[OpenAI Cookbook](https://developers.openai.com/cookbook) 有一个 [目录](https://developers.openai.com/cookbook/topic/chatgpt) ,其中收录了第三方应用程序和中间件应用。
[OpenAI Cookbook](https://developers.openai.com/cookbook) 提供了一个 [目录](https://developers.openai.com/cookbook/topic/chatgpt) ,其中收录了第三方应用程序和中间件应用。

### 第三方 Actions 手册
### 第三方 Actions cookbook

GPT Actions 可以直接与 HTTP 服务集成。GPT Actions 利用 SaaS API 将直接从 SaaS 提供商( [Google Drive](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_action_google_drive) 或 [Snowflake](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_action_snowflake_direct).
GPT Actions 可以直接与 HTTP 服务集成。直接利用 SaaS API 的 GPT Actions 将直接从 SaaS 提供商(例如 [Google Drive](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_action_google_drive) 或 [Snowflake](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_action_snowflake_direct).

### Middleware Actions 操作手册
### Middleware Actions cookbook

GPT Actions 可以受益于拥有中间件。它允许进行预处理、数据格式化、数据过滤,甚至连接到未通过 HTTP 暴露的端点(例如:数据库)。有多个中间件 cookbook 提供了示例实现路径的描述,例如 [Azure](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_middleware_azure_function), [GCP](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_middleware_google_cloud_function) 和 [AWS](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_middleware_aws_function).
GPT Actions 可以从中间件中受益。它允许预处理、数据格式化、数据过滤,甚至连接到未通过 HTTP 暴露的端点(例如:数据库)。多个中间件 cookbook 可用于描述示例实现路径,例如 [Azure](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_middleware_azure_function), [GCP](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_middleware_google_cloud_function) 和 [AWS](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_middleware_aws_function).

## 向我们提供反馈
## 向我们反馈

是否有你希望我们优先处理的集成?我们的集成中是否存在错误?请在 cookbook 页面的 GitHub 上提交 PR 或 issue,我们会查看。
有没有希望我们优先支持的集成?我们的集成里有没有错误?请在 cookbook 页面的 GitHub 上提交 PR 或 issue,我们会查看。

## 为我们的库做贡献
## 为我们的文档库做贡献

如果你有兴趣为我们的库做贡献,请遵循以下指南,然后在 github 上提交 PR 供我们审查。总体而言,请遵循类似 [此示例 GPT 行动](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_action_bigquery).
如果你有兴趣为我们的库做出贡献,请遵循以下指南,然后在 github 中提交 PR 以供我们审阅。通常,遵循类似于 [这个 GPT Action 示例](https://developers.openai.com/cookbook/examples/chatgpt/gpt_actions_library/gpt_action_bigquery).

指南 - 包含以下部分
指南 - 包含以下章节

- 应用信息 - 描述第三方应用,并包含应用网站链接和API文档
- 自定义 GPT 指令 - 包含要纳入自定义 GPT 的准确指令
- OpenAPI架构 - 包含要在 GPT Action 中纳入的准确 OpenAPI架构
- 身份验证说明 - 对于 OAuth,包含确切的项目集(授权 URL、令牌 URL、作用域等);还包括如何在应用程序中编写回调 URL 的说明(以及任何其他步骤
- 常见问题与故障排除 - 用户可能遇到的常见陷阱是什么?在这里写下它们及解决方法
- Application Information - 描述第三方应用,并附上应用网站链接以及 API 文档
- Custom GPT Instructions - 包含要在 Custom GPT 中包含的精确指令
- OpenAPI Schema - 包含要在 GPT Action 中包含的精确 OpenAPI schema
- Authentication Instructions - 对于 OAuth,包含精确的项目集(授权 URL、token URL、scope 等);同时包含如何在应用中编写回调 URL 的说明(以及其他步骤
- FAQ and Troubleshooting - 用户可能遇到的常见问题有哪些?在此列出以及对应的解决方法

## 免责声明

此操作库旨在作为与 OpenAI 无法控制的第三方交互的指南。这些第三方可能会更改其 API 设置或配置, OpenAI 无法保证这些操作能永久有效。请将它们视为起点
此 Actions 库旨在作为与不受 OpenAI 控制的第三方交互的指南。这些第三方可能会更改其 API 设置或配置, OpenAI 无法保证这些 Actions 将永久有效。请将其视为一个起点

本指南面向开发人员以及熟悉编写 API 调用的人员。非技术用户可能会觉得这些步骤具有挑战性。
本指南面向具备编写 API 调用经验的开发者和相关人员。非技术用户可能会觉得这些步骤具有挑战性。
50 changes: 25 additions & 25 deletions docs/zh/api/docs/actions/authentication.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
# GPT 操作身份验证
# GPT Action 身份验证

> 如需完整的文档索引,请参阅 [llms.txt](/llms.txt)。此外,在页面 URL 后追加 `.md` 即可获取文档页面的 Markdown 版本。
> 完整文档索引请参阅 [llms.txt](/llms.txt)。你也可以在页面 URL 末尾追加 `.md` 来获取对应文档页面的 Markdown 版本。

操作提供不同的认证方案,以满足各种使用场景。要为你的操作指定认证方案,请使用 GPT 编辑器并选择None”、“API Key”或“OAuth
Actions 提供不同的身份验证方案以适应各种用例。若要为你的 action 指定身份验证方案,请使用 GPT 编辑器并选择 "None"、"API Key" 或 "OAuth"

默认情况下,所有操作的认证方式均设为“None,但你可以更改此设置,并允许不同操作使用不同的认证方式
默认情况下,所有 actions 的身份验证方法均设置为 "None",但你可以更改此设置,并允许不同的 action 使用不同的身份验证方法

## 无需认证
## 无身份验证

我们支持无需认证的流程,适用于用户可以直接向你的 API 发送请求而无需 API 密钥或通过 OAuth 登录的应用程序
我们支持无认证流程,适用于用户可以直接向你的API发送请求而无需API密钥或通过 OAuth 登录的应用场景

考虑在初始用户交互时不使用认证,因为如果用户被迫登录应用程序,可能会导致用户流失。你可以创建“已登出”体验,然后通过启用单独操作将用户移至“已登录”体验。
对于初次用户交互,请考虑使用无认证方式,因为强制用户登录应用可能会导致用户流失。你可以创建一个“未登录”体验,然后通过启用单独的操作将用户迁移到“已登录”体验。

## API 密钥认证

正如用户可能已经在使用你的 API 一样,我们也允许通过 GPT 编辑器界面使用 API 密钥认证。我们在数据库中存储密钥时会对其进行加密,以确保你的 API 密钥安全。
就像用户可能已经在使用你的 API 一样,我们也允许通过 GPT 编辑器界面进行 API 密钥身份验证。我们在将密钥存入数据库时对其加密,以确保你的 API 密钥安全。

如果你有一个 API 执行的操作比无认证流程更具影响力,但又不需要单个用户登录,这种方法就会很有用。添加 API 密钥认证可以保护你的 API,并为你提供更精细的访问控制以及请求来源的可见性
如果你的 API 会执行比无身份验证流程影响稍大的操作,但又不要求每个用户单独登录,那么这种做法非常有用。添加 API 密钥身份验证可以保护你的 API,并提供更细粒度的访问控制,以及对请求来源的可观测性

## OAuth

操作允许每位用户进行 OAuth 登录。这是提供个性化体验并让用户获得最强大功能的最佳方式。带操作功能的 OAuth 流程的一个简单示例如下
Actions 允许为每个用户进行 OAuth 登录。这是提供个性化体验并让用户使用最强大的 actions 的最佳方式。下面是使用 actions 的 OAuth 流程的一个简单示例

- 首先,在 GPT 编辑器界面中选择“认证”,然后选择“OAuth”。
- 系统将提示你输入 OAuth 客户端 ID、客户端密钥、授权 URL、令牌 URL 和作用域
- 客户端 ID 和密钥可以是简单的文本字符串,但应 [遵循 OAuth 最佳实践](https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/).
- 我们会存储客户端密钥的加密版本,而客户端 ID 对最终用户可见
- OAuth 请求将包含以下信息: `request={'grant_type': 'authorization_code', 'client_id': 'YOUR_CLIENT_ID', 'client_secret': 'YOUR_CLIENT_SECRET', 'code': 'abc123', 'redirect_uri': 'https://chat.openai.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback'}` 注意: `https://chatgpt.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback` 也是有效的
- 为了让用户使用带 OAuth 的操作,他们需要发送一条调用该操作的消息,然后在 ChatGPT 界面中会显示一个“登录 [域名]”按钮。
- 该 `authorization_url` 端点应返回如下响应
- 首先,在 GPT 编辑器界面中选择 “Authentication”,然后选择 “OAuth”。
- 系统会提示你输入 OAuth 客户端 ID、客户端密钥、授权 URL、令牌 URL 和 scope(作用域)
- 客户端 ID 和密钥可以是简单的文本字符串,但应当 [遵循 OAuth 最佳实践](https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/).
- 我们会存储加密后的客户端密钥,而客户端 ID 对终端用户可见
- OAuth 请求将包含以下信息: `request={'grant_type': 'authorization_code', 'client_id': 'YOUR_CLIENT_ID', 'client_secret': 'YOUR_CLIENT_SECRET', 'code': 'abc123', 'redirect_uri': 'https://chat.openai.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback'}` 注意: `https://chatgpt.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback` 同样有效
- 若要使某人能够使用带有 OAuth 的操作,他们需要发送一条会触发该操作的消息,随后用户将在 ChatGPT 界面中看到一个 “Sign in to [domain]” 按钮。
- 该 `authorization_url` 端点应返回如下所示的响应
`{ "access_token": "example_token", "token_type": "bearer", "refresh_token": "example_token", "expires_in": 59 }`
- 在用户登录过程中,ChatGPT 会向你的 `authorization_url` 发出请求,使用指定的 `authorization_content_type`,我们期望收到一个访问令牌,以及可选的 [刷新令牌](https://auth0.com/learn/refresh-tokens) ,我们用它定期获取新的访问令牌。
- 每次用户向该操作发出请求时,用户的令牌都会在 Authorization 头中传递:("Authorization": "[Bearer/Basic] [user's token]")。
- 我们要求 OAuth 应用使用 [状态参数](https://auth0.com/docs/secure/attack-protection/state-parameters#set-and-compare-state-parameter-values) 以确保安全。
- 在用户登录过程中,ChatGPT 会向你的 `authorization_url` 发起请求,使用指定的 `authorization_content_type`,我们预期会收到一个访问令牌,以及可选的 [刷新令牌](https://auth0.com/learn/refresh-tokens) ,我们用它定期获取新的访问令牌。
- 每当用户向该操作发起请求时,用户的令牌将通过 Authorization 头传递:("Authorization": "[Bearer/Basic] [user's token]")。
- 我们要求 OAuth 应用程序使用 [state 参数](https://auth0.com/docs/secure/attack-protection/state-parameters#set-and-compare-state-parameter-values) 以确保安全。

自定义 GPT 上无法登录的问题(重定向 URL)?
自定义 GPT 上的登录失败问题(重定向 URL)?

- 请务必在 OAuth 应用中启用此重定向 URL:
- #1 重定向 URL: `https://chat.openai.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback` (某些客户端可能使用不同域名
- #2 重定向 URL: `https://chatgpt.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback` (保存后在 ChatGPT 界面 URL 栏中获取你的 GPT ID)如果你有多个 GPT,需要为每个 GPT 启用,或根据风险承受能力使用通配符
- 调试说明:你的身份验证提供程序通常会记录失败(例如“redirect_uri 未注册到客户端”),这也有助于排查登录问题。
- 请确保在你的 OAuth 应用中启用此重定向 URL:
- #1 重定向 URL: `https://chat.openai.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback` (某些客户端的域名可能不同
- #2 重定向 URL: `https://chatgpt.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback` (保存后在 ChatGPT 界面的 URL 栏中获取你的 GPT ID)如果你有多个 GPT,需要分别为每个启用,或根据风险偏好使用通配符
- 调试提示:你的身份提供方通常会记录失败信息(例如“redirect_uri is not registered for client”),这也有助于排查登录问题。
Loading