概覽
將 GitHub 連接至 ChatGPT,即可就你的程式碼提問。
連接 GitHub 後,ChatGPT 可按需要擷取獲准存取的程式碼庫內容,包括程式碼、README 檔案及其他文件。視乎你的方案及產品介面,可用的體驗可能包括標準聊天、深度研究或智能代理工作流程。這種即時存取方式不會建立同步的 GitHub 索引。
GitHub 的可用情況可能因方案、工作區及產品介面而異。即使標準聊天未提供 GitHub,帳戶仍可能可在深度研究或智能代理模式中使用 GitHub。如欲了解研究工作流程,請參閱:ChatGPT 中的深度研究。
將 GitHub 連接至 ChatGPT
如要連接 GitHub,請開啟可用的應用程式或外掛程式,然後選擇 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 可能會使用「檔案上載處理程式後端」之類的查詢來搜尋你的 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 方案詳情。
