Skip to content

雲端環境 ​

本頁是 OpenAI 官方文件 的中文鏡像,譯文由官方維護。以官方頁面為準。

使用環境來控制 Codex 在雲端對話期間安裝及執行的內容。例如,您可以加入相依套件、安裝程式碼檢查和格式化等工具,並設定環境變數。

請在Codex 設定中設定環境。

Codex 雲端對話的運作方式 ​

提交提示詞後,系統會進行以下操作:

  1. Codex 會建立容器,並簽出程式碼庫的所選分支或提交 SHA。
  2. Codex 會執行設定指令碼;如果是恢復使用快取的容器,則還會執行選用的維護指令碼。
  3. Codex 會套用您的網際網路存取設定。執行設定指令碼時可存取網際網路。智慧體預設無法存取網際網路,但如有需要,可以啟用受限或不受限的存取權。請參閱智慧體的網際網路存取。
  4. 智慧體會反覆執行終端指令,編輯程式碼、執行檢查,並嘗試驗證工作成果。如果程式碼庫中包含 AGENTS.md,智慧體會使用其中的資訊,找出該專案專用的 lint 和測試指令。
  5. 智慧體完成後,會顯示其回覆以及所有已變更檔案的差異。您可以建立 PR 或提出後續問題。

預設 universal 映像檔 ​

Codex 智慧體會在名為 universal 的預設容器映像檔中執行;其中已預先安裝常用程式語言、套件和工具。

在環境設定中,選取設定套件版本,即可鎖定 Python、Node.js 和其他執行階段的版本。

若要了解安裝內容的詳細資訊,請參閱 openai/codex-universal,其中提供 參考 Dockerfile,以及可在本機提取並測試的映像檔。

雖然 codex-universal 為提升速度和便利性而預先安裝了程式語言,但您也可以使用設定指令碼,將其他套件安裝至容器。

環境變數與密鑰 ​

環境變數會在整個對話期間生效(包括設定指令碼和智慧體階段)。

密鑰與環境變數類似,但有以下不同:

  • 這些密鑰會經過額外一層加密後儲存,且只會在執行任務時解密。
  • 只有設定指令碼可以使用這些密鑰。基於安全考量,密鑰會在智慧體階段開始前移除。

自動設定 ​

對於使用常見套件管理工具(npm、yarn、pnpm、pip、pipenv 以及 poetry)的專案,Codex 可以自動安裝相依套件和工具。

手動設定 ​

如果開發環境的設定較為複雜,您也可以提供自訂設定指令碼。例如:

bash
# Install type checker
pip install pyright

# Install dependencies
poetry install --with test
pnpm install

設定指令碼會在與智慧體不同的 Bash 工作階段中執行,因此像 export 這類指令的效果不會延續到智慧體階段。若要讓環境 變數持續生效,請將其加入 ~/.bashrc,或在環境設定中加以設定。

容器快取 ​

為了加快新對話和後續提問的速度,Codex 最多會將容器狀態快取 12 小時。

快取環境時:

  • Codex 會複製程式碼庫並簽出預設分支。
  • Codex 會執行設定指令碼,並快取執行後的容器狀態。

恢復使用快取的容器時:

  • Codex 會簽出為該對話指定的分支。
  • Codex 會執行維護指令碼(選用)。如果設定指令碼是在較舊的提交上執行,而相依套件需要更新,這項機制就很有用。

如果您變更設定指令碼、維護指令碼、環境變數或密鑰,Codex 會自動使快取失效。如果程式碼庫的變更造成快取狀態不相容,請在環境頁面選取重設快取。

對於商務版和企業版使用者,快取會由所有具備 該環境存取權的使用者共用。使快取失效會影響您工作區中可存取該 環境的所有使用者。

網際網路存取與網路代理伺服器 ​

執行設定指令碼的階段可存取網際網路,以便安裝相依套件。智慧體階段預設無法存取網際網路,但您可以設定受限或不受限的存取權。請參閱智慧體的網際網路存取。

基於安全及防止濫用考量,環境會在 HTTP/HTTPS 網路代理伺服器後方運作。所有對外網際網路流量都會經由此代理伺服器。

非官方社群教程 · 「官方文件」區為 learn.chatgpt.com 中文原文映象 · 以官方頁面為準