Cloud-Umgebungen
Abhängigkeiten und Tools für Codex anpassen
Mit Umgebungen steuern Sie, was Codex während Cloud-Chats installiert und ausführt. Sie können beispielsweise Abhängigkeiten hinzufügen, Tools wie Linter und Formatierer installieren und Umgebungsvariablen festlegen.
Konfigurieren Sie Umgebungen in den Codex-Einstellungen.
So werden Codex-Cloud-Chats ausgeführt
Wenn Sie einen Prompt absenden, geschieht Folgendes:
- Codex erstellt einen Container und checkt Ihr Repository am ausgewählten Branch oder Commit-SHA aus.
- Codex führt Ihr Einrichtungsskript sowie optional ein Wartungsskript aus, wenn ein zwischengespeicherter Container fortgesetzt wird.
- Codex wendet Ihre Einstellungen für den Internetzugriff an. Einrichtungsskripte werden mit Internetzugriff ausgeführt. Der Internetzugriff des Agenten ist standardmäßig deaktiviert. Bei Bedarf können Sie jedoch eingeschränkten oder uneingeschränkten Zugriff aktivieren. Weitere Informationen finden Sie unter Internetzugriff des Agenten.
- Der Agent führt in einer Schleife Terminalbefehle aus. Er bearbeitet Code, führt Prüfungen aus und versucht, seine Arbeit zu validieren. Wenn Ihr Repository
AGENTS.mdenthält, verwendet der Agent diese Datei, um projektspezifische Lint- und Testbefehle zu finden. - Wenn der Agent fertig ist, zeigt er seine Antwort und einen Diff aller von ihm geänderten Dateien an. Sie können einen PR öffnen oder Anschlussfragen stellen.
Universelles Standard-Image
Der Codex-Agent wird in einem Standard-Container-Image namens universal ausgeführt, in dem gängige Sprachen, Pakete und Tools vorinstalliert sind.
Wählen Sie in den Umgebungseinstellungen Paketversionen festlegen aus, um Versionen von Python, Node.js und anderen Laufzeitumgebungen festzuschreiben.
Obwohl codex-universal aus Gründen der Geschwindigkeit und Benutzerfreundlichkeit bereits vorinstallierte Sprachen enthält, können Sie dem Container mithilfe von Einrichtungsskripten zusätzliche Pakete hinzufügen.
Umgebungsvariablen und Geheimnisse
Umgebungsvariablen werden für die gesamte Dauer des Chats festgelegt (einschließlich der Einrichtungsskripte und der Agentenphase).
Geheimnisse ähneln Umgebungsvariablen, mit folgenden Unterschieden:
- Sie werden mit einer zusätzlichen Verschlüsselungsebene gespeichert und nur zur Ausführung der Aufgabe entschlüsselt.
- Sie stehen nur Einrichtungsskripten zur Verfügung. Aus Sicherheitsgründen werden Geheimnisse vor Beginn der Agentenphase entfernt.
Automatische Einrichtung
Bei Projekten, die gängige Paketmanager verwenden (npm, yarn, pnpm, pip, pipenv und poetry), kann Codex Abhängigkeiten und Tools automatisch installieren.
Manuelle Einrichtung
Wenn Ihre Entwicklungsumgebung komplexer ist, können Sie auch ein benutzerdefiniertes Einrichtungsskript bereitstellen. Beispiel:
# Install type checker
pip install pyright
# Install dependencies
poetry install --with test
pnpm install
Container-Caching
Codex speichert den Containerzustand bis zu 12 Stunden zwischen, um neue Chats und Anschlussfragen zu beschleunigen.
Wenn eine Umgebung zwischengespeichert wird:
- Codex klont das Repository und checkt den Standard-Branch aus.
- Codex führt das Einrichtungsskript aus und speichert den resultierenden Containerzustand zwischen.
Wenn ein zwischengespeicherter Container fortgesetzt wird:
- Codex checkt den für den Chat angegebenen Branch aus.
- Codex führt das optionale Wartungsskript aus. Dies ist hilfreich, wenn das Einrichtungsskript für einen älteren Commit ausgeführt wurde und Abhängigkeiten aktualisiert werden müssen.
Codex macht den Cache automatisch ungültig, wenn Sie das Einrichtungsskript, das Wartungsskript, Umgebungsvariablen oder Geheimnisse ändern. Wenn sich Ihr Repository so ändert, dass der zwischengespeicherte Zustand nicht mehr kompatibel ist, wählen Sie auf der Umgebungsseite Cache zurücksetzen aus.
Internetzugriff und Netzwerkproxy
Während der Einrichtungsskriptphase ist Internetzugriff verfügbar, um Abhängigkeiten zu installieren. Während der Agentenphase ist der Internetzugriff standardmäßig deaktiviert. Sie können jedoch eingeschränkten oder uneingeschränkten Zugriff konfigurieren. Weitere Informationen finden Sie unter Internetzugriff des Agenten.
Umgebungen werden aus Sicherheitsgründen und zur Missbrauchsprävention hinter einem HTTP/HTTPS-Netzwerkproxy ausgeführt. Der gesamte ausgehende Internetverkehr wird über diesen Proxy geleitet.