codex exec En CI, il peut analyser le code sans apporter de modifications ; vérifiez d’abord le bac à sable : le mode non interactif est en lecture seule par défaut. Lorsqu’il doit générer des correctifs ou modifier des espaces de travail, passez explicitement le --sandbox workspace-write et assurez-vous que le répertoire de démarrage est un dépôt Git coché.
Comment écrire la commande minimale écrivable
codex exec \ --sandbox workspace-write \ -C "$GITHUB_WORKSPACE" \ "运行测试,修复失败项,只修改必要文件,然后重新运行测试"workspace-write N’autoriser l’écriture que dans l’espace de travail actuel, ce qui ne signifie pas contrôler l’ensemble du runner. Ne pas passer à --yolo ou danger-full-access simplement à cause d’un seul échec ; Les permissions ne sont étendues que lorsque l’isolation externe est strictement séparée et que la tâche en a vraiment besoin. Le --full-auto dans l’ancien script est déjà un paramètre de compatibilité ; le nouveau pipeline doit déclarer directement le bac à sable.
Je n’ai toujours pas changé les documents, vérifie ces trois emplacements
- Échec de la vérification en entrepôt : Confirmez que le paiement a été réussi, puis vérifiez
pwdetgit status. Les annuaires temporaires sécurisés non liés à l’entrepôt peuvent utiliser--skip-git-repo-check. - Les commandes nécessitent une approbation interactive : le CI ne peut pas ouvrir une nouvelle fenêtre d’approbation, et les actions nécessitant une autorisation temporaire échoueront et retourneront une erreur. Les bacs à sable et les politiques d’approbation doivent être définis à l’avance.
- La demande ne nécessite qu’une analyse : indiquer clairement « modifier le fichier, exécuter la validation, conserver la diff. » Après avoir terminé, vérifiez Git diff ou générez un artefact de patch ; ne regardez pas simplement le texte final.
Laissez le pipeline obtenir des résultats analysables
Utilisez JSONL lorsque vous devez consommer un flux d’événement complet :
codex exec --json "检查仓库并给出风险列表" > codex-events.jsonlIl suffit d’écrire dans le fichier avec -o lors de la réponse finale ; Utiliser --output-schema quand il faut corriger des champs. L’authentification doit aussi minimiser l’exposition : injecter CODEX_API_KEY uniquement à l’étape d’exécution codex exec, et ne pas laisser le travail entier, les scripts de dépendance ou le code non fiable lire la clé.