For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

雲端環境

自訂 Codex 的相依套件與工具

使用環境來控制 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 為提升速度和便利性而預先安裝了程式語言,但您也可以使用設定指令碼,將其他套件安裝至容器。

環境變數與密鑰

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

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

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

自動設定

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

手動設定

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

# 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 網路代理伺服器後方運作。所有對外網際網路流量都會經由此代理伺服器。