概覽
將 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 可能會使用「file upload handler backend」之類的查詢來搜尋你的 GitHub 程式碼庫。如有需要,可能會進行幾種不同的搜尋,以找出最相關的程式碼或檔案。
瞭解模型訓練與 GitHub 資料
根據預設,使用商務方案(例如 ChatGPT Business、Enterprise、Edu 和我們 API)的客戶所傳送的內容,不會用於改善我們的模型。如需瞭解 OpenAI 如何使用商務資料,請參閱:企業隱私權。
對於符合資格的個人帳戶內容,是否用於改善模型取決於你的為所有人改善模型設定。如需瞭解帳戶控制項和已連線應用程式的隱私權資訊,請參閱:ChatGPT 應用程式的資料分享與隱私權。
ChatGPT 資料駐留僅適用於工作區所選區域內受支援且涵蓋於範圍內的客戶內容。傳送至 GitHub 的資訊也受 GitHub 本身的儲存、處理及資料駐留條款約束。如需瞭解目前的適用範圍,請參閱:ChatGPT 的資料駐留與推論駐留。
常見問題
GitHub 管理員如何核准 ChatGPT 應用程式?
如果你的組織限制 OAuth 應用程式存取權,組織擁有者可以按照 GitHub 的為組織核准 OAuth 應用程式指示操作。安裝 GitHub 應用程式與授予程式碼庫存取權是兩個不同的步驟。
如何在程式碼庫中搜尋個別檔案?
程式碼庫選取器會搜尋程式碼庫名稱,而非程式碼庫內的檔案。在支援的 ChatGPT 體驗中連線 GitHub 後,你可以要求 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 方案詳細資料。
