概述
将 GitHub 连接到 ChatGPT,即可询问有关代码的问题。
连接 GitHub 后,ChatGPT 可按需检索你有权访问的代码仓库内容,包括代码、README 文件和其他文档。根据你的套餐和产品界面,可用体验可能包括标准聊天、深度研究或智能体工作流。这种实时访问不会创建同步的 GitHub 索引。
GitHub 的可用性可能因套餐、工作空间和产品界面而异。即使无法在标准聊天中使用 GitHub,账户仍可能可以在深度研究或智能体模式中使用 GitHub。有关研究工作流的信息,请参阅:ChatGPT 中的深度研究。
将 GitHub 连接到 ChatGPT
要连接 GitHub,请根据可用选项打开应用或插件,然后选择 GitHub 或包含它的插件。有关账户连接步骤,请参阅:在 ChatGPT 中连接和管理应用账户。
随后,系统会将你转到 GitHub,以安装 ChatGPT 应用并为其授权,然后选择 ChatGPT 可以访问的代码仓库。ChatGPT 会按需检索获准访问的代码仓库内容。目前不支持 GitHub 同步,也不支持单独配置代码仓库索引。
要更改代码仓库访问权限:
打开设置。
根据可用选项,选择应用或插件。
打开 GitHub。
选择可用的代码仓库管理选项。
要断开 GitHub 连接,请打开同一应用设置并选择断开连接。
根据 GitHub pull request 活动创建任务
符合条件的用户可在工作中,为已连接的 github.com 代码仓库活动创建事件触发(基于 webhook)的任务。支持的活动可包括打开 pull request、将其标记为可供审核或将其关闭。根据触发条件,你还可以监控 pull request 审核、评论、提交更新或已完成的合并。
该任务只能访问已为所连接 GitHub 账户授权的代码仓库。事件触发的任务不支持连接自行托管的 GitHub Enterprise。
共享使用 GitHub 的计划任务
当你的账户可以共享计划任务时,你可以共享说明中提及 GitHub 且符合条件的计划任务。符合条件的接收者可以连接自己的 GitHub 账户,创建单独的任务。其账户必须有权访问任务副本所需的所有代码仓库。
共享任务链接不会转移你的 GitHub 连接、凭据、代码仓库访问权限或代码仓库文件。共享链接中会显示任务说明,因此请在共享前移除敏感代码或代码仓库信息。现有的 GitHub 管理员审批和应用只读限制仍然适用。
事件触发的 GitHub 任务可以共享。符合条件的接收者必须连接自己的 GitHub 账户,并授权访问其任务所需的 github.com 代码仓库。
有关更多信息,请参阅:ChatGPT 中的计划任务。
查找缺失的 GitHub 代码仓库
代码仓库通常需要大约 5 分钟才会在 ChatGPT 中显示为可用。
代码仓库可能尚未显示的其他原因包括:
对于私有或新建的代码仓库,只有为正确的账户或组织安装 GitHub 应用并授予其该代码仓库的访问权限后,才可能显示。打开 GitHub 应用的代码仓库设置,确认该代码仓库已被选中并获批准。如果 GitHub 显示已连接但没有可用的代码仓库,请先检查这些设置,再重新连接。
你的 GitHub 组织可能要求管理员批准 ChatGPT 应用或特定代码仓库。检查 GitHub 应用的代码仓库设置,并通过组织所显示的审批流程申请访问权限。
GitHub 自身的搜索索引可能需要一段时间才能纳入新代码仓库。这与 ChatGPT 应用同步无关:ChatGPT 中的 GitHub 访问会按需检索已授权的代码仓库内容,不会创建由管理员管理的 GitHub 索引。
数据与隐私
ChatGPT 如何与 GitHub 协同工作
ChatGPT 会根据你的提示词生成搜索查询,以便在已连接的 GitHub 代码仓库中查找相关信息,并将这些查询发送给 GitHub。例如,如果你问:“能告诉我后端处理文件上传的代码在哪里吗?”ChatGPT 可能会使用“file upload handler backend”之类的查询来搜索你的 GitHub 代码仓库。如有需要,它可能会执行几次不同的搜索,以找到最相关的代码或文件。
了解模型训练与 GitHub 数据
默认情况下,使用商业版产品(如 ChatGPT Business、Enterprise、Edu 和我们的 API)的客户所发送的内容不会用于改进我们的模型。如需了解 OpenAI 如何使用商业数据,请参阅:企业隐私。
对于符合条件的个人账户内容,是否用于改进模型取决于你的为所有人改进模型设置。有关账户控制和已连接应用的隐私信息,请参阅:ChatGPT 中应用的数据共享与隐私。
ChatGPT 数据驻留仅适用于工作空间所选区域内受支持且在适用范围内的客户内容。发送给 GitHub 的信息还须遵守 GitHub 自身的存储、处理和数据驻留条款。有关当前适用范围,请参阅:ChatGPT 的数据驻留与推理驻留。
常见问题
GitHub 管理员如何批准 ChatGPT 应用?
如果你的组织限制 OAuth 应用访问,组织所有者可以按照 GitHub 的说明批准适用于其组织的 OAuth 应用。安装 GitHub 应用与授予其代码仓库访问权限是两个独立的步骤。
如何在代码仓库中搜索单个文件?
代码仓库选择器搜索的是代码仓库名称,而不是仓库内的文件。在支持 GitHub 连接的 ChatGPT 体验中,你可以要求 ChatGPT 使用文件名、函数名或错误消息搜索已授权的代码仓库。请提供代码仓库名称;如果知道文件路径,也请一并提供。
能否禁止 ChatGPT 应用访问特定代码仓库?
可以。代码仓库访问权限由 GitHub 控制。组织所有者可以检查已安装的 GitHub 应用,更改该应用可以访问的代码仓库。
连接到 ChatGPT 后,我能否将代码、更新或 PR 推送到 GitHub?
ChatGPT 中的 GitHub 应用只允许读取你的代码仓库,以便分析和搜索代码。要生成、编辑代码并将其直接推送到 GitHub,请使用 Codex。有关更多信息,请参阅:帮助中心的 Codex 文章。
如果我在 GitHub 上启用了 IP 允许列表,该怎么办?
如果你的 GitHub 企业或组织启用了 IP 允许列表,请将 OpenAI 的出站 IP 地址段添加到 IP 允许列表。
为什么 GitHub 可用于深度研究或智能体模式,却无法用于聊天?
GitHub 的可用性可能因 ChatGPT 套餐和产品体验而异。某些套餐可能支持在深度研究或智能体模式中使用 GitHub,但不支持在标准聊天中使用。如果标准聊天中没有 GitHub,请查看你的 ChatGPT 套餐详情。
