Zurück zu Fragen und Antworten zu KI
Verändert Codex Exec keine Dateien im CI? Nur lesen ist der Standardschlüssel

Verändert Codex Exec keine Dateien im CI? Nur lesen ist der Standardschlüssel

Fragen und Antworten zu KI Admin 1 Aufrufe

codex exec In CI kann er Code analysieren, ohne Änderungen vorzunehmen; zuerst den Sandbox-Modus prüfen: Der nicht-interaktive Modus ist standardmäßig nur lesbar. Wenn er Patches erstellen oder Arbeitsbereiche ändern muss, wird das --sandbox workspace-write explizit weitergegeben und sichergestellt, dass das Boot-Verzeichnis ein überprüftes Git-Repository ist.

Wie man den minimal beschreibbaren Befehl schreibt

codex exec \  --sandbox workspace-write \  -C "$GITHUB_WORKSPACE" \  "运行测试,修复失败项,只修改必要文件,然后重新运行测试"

workspace-write Nur das Schreiben in den aktuellen Arbeitsbereich erlauben, was nicht bedeutet, den gesamten Runner zu steuern. Wechsle nicht nur wegen eines einzigen Fehlers zu --yolo oder danger-full-access; Berechtigungen werden nur erweitert, wenn externe Isolation streng getrennt ist und die Aufgabe sie wirklich benötigt. Das --full-auto im alten Skript ist bereits ein Kompatibilitätsparameter; die neue Pipeline sollte die Sandbox direkt deklarieren.

Ich habe die Dokumente immer noch nicht geändert, schau dir diese drei Standorte an

  1. Lagerkontroll-Fehlschlag: Bestätigen Sie, dass der Checkout erfolgreich ist, dann prüfen Sie pwd und git status. Sichere temporäre Verzeichnisse außerhalb des Lagers können --skip-git-repo-check verwenden.
  2. Befehle erfordern eine interaktive Genehmigung: CI kann kein neues Genehmigungsfenster öffnen, und Aktionen, die eine temporäre Autorisierung erfordern, schlagen fehl und geben einen Fehler zurück. Sandboxen und Genehmigungsrichtlinien sollten im Voraus festgelegt werden.
  3. Der Prompt erfordert nur Analyse: Sag klar "Datei ändern, Validierung ausführen, diff behalten." Nach Abschluss überprüfen Sie Git-Diff oder generieren Sie das Patch-Artefakt; schauen Sie sich nicht nur den endgültigen Text an.

Lassen Sie die Pipeline parsbare Ergebnisse erhalten

Verwenden Sie JSONL, wenn Sie einen vollständigen Ereignisstrom verbrauchen müssen:

codex exec --json "检查仓库并给出风险列表" > codex-events.jsonl

Schreibe einfach in die Datei mit -o, wenn du auf die endgültige Antwort antwortest; Nutze --output-schema, wenn Felder behoben werden müssen. Die Authentifizierung sollte auch die Exposition minimieren: Injiziere CODEX_API_KEY nur im codex exec Ausführung und lass nicht zu, dass der gesamte Job, Abhängigkeitsskripte oder nicht vertrauenswürdiger Code den Schlüssel liest.

Empfohlene Tools

Mehr