Communitygithub.com

Danicahhh/codex-skills

Ensemble de compétences pour utiliser Codex CLI sur AutoDL, permettant de modifier et déboguer du code à distance sans téléchargement local.

Qu'est-ce que codex-skills ?

Cette compétence fournit un guide complet pour installer et utiliser Codex CLI sur une instance AutoDL distante, évitant ainsi de télécharger de gros projets ou données en local. Elle couvre l'intégralité du processus : configuration d'un proxy SSH inversé pour que le serveur puisse accéder à OpenAI, installation de Codex CLI, résolution des problèmes courants (gawk, npm, PATH, SHA-256), connexion via authentification par code, et bonnes pratiques pour travailler avec de grands ensembles de données. Idéale pour les développeurs qui souhaitent que Codex lise, modifie et teste directement le code sur le serveur distant, tout en évitant les pièges réseau et de configuration spécifiques à AutoDL. Le guide inclut également des commandes prêtes à l'emploi, des conseils de dépannage, et des règles de sécurité pour les projets de machine learning volumineux.

Compatible avec~Claude Code✓Codex CLI~Cursor
npx skills add Danicahhh/codex-skills

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Processus complet d'utilisation de Codex CLI dans AutoDL

Cette compétence aide les utilisateurs à utiliser directement Codex CLI sur un serveur distant AutoDL pour modifier et déboguer du code projet, évitant ainsi de télécharger des projets distants et des données volumineuses en local. Elle s'applique aux scénarios suivants :

  • Le code et les données de l'utilisateur se trouvent sur le serveur distant AutoDL ;
  • Les fichiers de données sont volumineux et ne se prêtent pas à un téléchargement local ;
  • L'utilisateur souhaite que Codex lise le code distant, modifie les fichiers et exécute des tests directement ;
  • Le serveur AutoDL ne peut pas accéder directement à chatgpt.com ou api.openai.com ;
  • Problèmes rencontrés lors de l'installation de Codex CLI : réseau, npm, PATH, gawk, validation SHA, etc.

1. Approche générale

Ne pas télécharger le projet depuis AutoDL sur votre machine locale avant de le modifier avec Codex. À la place :

  1. Ouvrir un proxy SSH inversé sur votre machine locale ;
  2. Permettre à AutoDL d'accéder à OpenAI via le proxy local ;
  3. Installer Codex CLI sur le serveur AutoDL ;
  4. Exécuter codex directement dans le répertoire du projet sur AutoDL ;
  5. Laisser Codex lire, modifier et exécuter le code directement sur le serveur distant.

L'objectif final est :

cd /autodl-tmp/votre_repertoire_projet
codex

2. Obtenir l'adresse SSH et le port d'AutoDL

Dans la console AutoDL, trouvez la commande de connexion SSH de l'instance actuelle.

Le format est généralement similaire à :

ssh -p 32384 [email protected]

Où :

[email protected]

est l'adresse AutoDL ;

-p 32384

est le port SSH.

Dans toutes les commandes suivantes, remplacez <PORT> par le port, par exemple 32384 ; <HOST> par l'adresse, par exemple connect.bjb2.seetacloud.com.


3. Ouvrir un proxy SSH inversé sur la machine locale

Si votre machine locale exécute déjà Clash, un VPN ou un autre proxy, et que le port du proxy local est 7890, alors, dans Windows PowerShell, CMD ou Git Bash local, exécutez :

ssh -N -R 7890:127.0.0.1:7890 -p <PORT> root@<HOST>

Exemple :

ssh -N -R 7890:127.0.0.1:7890 -p 32384 [email protected]

Saisissez le mot de passe SSH AutoDL.

Note :

  • Lors de la saisie du mot de passe, le terminal n'affiche aucun caractère, ni * ;
  • Collez le mot de passe et appuyez directement sur Entrée ;
  • Si la connexion réussit, la fenêtre reste bloquée, c'est normal ;
  • Ne fermez pas cette fenêtre, elle maintient le tunnel du proxy entre AutoDL et votre machine locale.

Si le message suivant apparaît :

Permission denied

Cela signifie que le mot de passe est incorrect. Revenez à la console AutoDL pour copier le bon mot de passe SSH.


4. Définir les variables d'environnement du proxy dans AutoDL

Ouvrez un autre terminal, connectez-vous normalement à AutoDL via SSH, ou utilisez le terminal web d'AutoDL.

Une fois dans AutoDL, exécutez :

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890

Testez ensuite le réseau :

curl -I https://chatgpt.com
curl -I https://api.openai.com

Si auparavant vous aviez :

Connection timed out

et que maintenant vous obtenez :

HTTP/1.1 200 Connection established

Cela signifie que le tunnel proxy est actif.

Si l'accès à chatgpt.com retourne :

HTTP/2 403

Cela indique généralement que la connexion au site a réussi, mais que la page elle-même est refusée par Cloudflare ou une politique d'accès – ce qui ne signifie pas nécessairement que le proxy a échoué. Continuez à tester le script d'installation de Codex ou api.openai.com.


5. Installer Codex CLI

Dans AutoDL, exécutez :

curl -fsSL https://chatgpt.com/codex/install.sh | sh

En cas de succès, vous verrez quelque chose comme :

Installing Codex CLI
Detected platform: Linux (x64)
Resolved version: ...
Installing standalone package ...
Codex CLI installed successfully.

6. Gérer les erreurs liées à gawk / validation SHA-256

Si, durant l'installation, vous rencontrez :

Could not find SHA-256 digest for codex-package-x86_64-unknown-linux-musl.tar.gz in codex-package_SHA256SUMS.

C'est souvent parce que l'awk par défaut du système n'est pas GNU awk, et que le script d'installation échoue à analyser le fichier SHA256SUMS.

Vérifiez d'abord :

awk --version

Si la sortie est :

awk: not an option: --version

Cela signifie que l'awk actuel n'est pas GNU awk.

N'utilisez pas :

bash awk --version

C'est une syntaxe erronée. awk est un binaire, pas un script shell.

Pour résoudre :

apt-get update
apt-get install -y gawk

Après installation, vérifiez :

gawk --version
awk --version

Si awk --version n'affiche toujours pas GNU Awk, basculez l'awk par défaut :

update-alternatives --install /usr/bin/awk awk /usr/bin/gawk 20
update-alternatives --set awk /usr/bin/gawk

Vérifiez à nouveau :

awk --version

Une fois correct, réinstallez Codex :

curl -fsSL https://chatgpt.com/codex/install.sh | sh

7. Gérer l'erreur "npm command not found"

Si en exécutant :

npm install -g @openai/codex

vous obtenez :

bash: npm: command not found

Cela signifie que l'environnement AutoDL n'a pas Node.js/npm.

Vous pouvez installer Node.js via conda :

conda install -c conda-forge nodejs -y

Vérifiez :

node -v
npm -v

Ensuite, configurez le proxy pour npm :

npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890

Puis installez Codex :

npm install -g @openai/codex

Si le script d'installation officiel a déjà fonctionné, la méthode npm n'est pas nécessaire.


8. Gérer l'erreur "codex command not found"

Après une installation réussie, si en exécutant :

codex --version

vous obtenez :

bash: codex: command not found

C'est généralement parce que le PATH du terminal actuel n'a pas été rafraîchi.

Exécutez d'abord :

export PATH=/root/.local/bin:$PATH

Puis vérifiez :

which codex
codex --version

Vous pouvez aussi utiliser le chemin complet :

/root/.local/bin/codex --version

Pour que codex soit utilisable à chaque ouverture de terminal, ajoutez-le à .bashrc :

echo 'export PATH=/root/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Vérifiez à nouveau :

codex --version

Normalement, vous devriez voir quelque chose comme :

codex-cli 0.141.0

9. Se connecter à Codex

AutoDL est généralement un environnement sans navigateur, utilisez donc la connexion par code :

codex login --device-auth

Codex affichera dans le terminal un lien de connexion et un code à usage unique.

Ouvrez le lien dans un navigateur sur votre machine locale, connectez-vous à ChatGPT, puis saisissez le code affiché dans le terminal.

Une fois connecté, AutoDL affichera :

Successfully logged in

Vous pouvez vérifier l'état de connexion :

codex login status

10. Lancer Codex dans le répertoire du projet AutoDL

Accédez au répertoire du projet :

cd /autodl-tmp/votre_repertoire_projet

Exemple :

cd /autodl-tmp/Tencent-Advertising-Algorithm-Competition

Lancez Codex :

codex

Ensuite, vous pouvez demander à Codex d'analyser et de modifier directement le code distant.

Première invitation recommandée :

Veuillez d'abord lire la structure du code de ce projet, sans lire l'ensemble du jeu de données. Aidez-moi à analyser le flux d'entraînement et les éventuels problèmes actuels. Ne modifiez pas encore les fichiers, donnez-moi d'abord les propositions de modification.

Si vous souhaitez qu'il modifie le code, vous pouvez dire :

Veuillez modifier le code en fonction de l'analyse précédente. Ne modifiez que les fichiers nécessaires, ne lisez pas l'ensemble du jeu de données, ne supprimez pas les données, les poids et les fichiers journaux. Après la modification, dites-moi quels fichiers ont été modifiés et comment les tester.

11. Règles d'utilisation sécurisée pour les grands projets de données

Les projets AutoDL contiennent souvent de grandes données, des poids de modèle, des journaux et des résultats d'expériences. Avant d'utiliser Codex, il est recommandé de créer un fichier AGENTS.md :

nano AGENTS.md

Écrivez-y :

# Description du projet

Ceci est un projet de machine learning exécuté sur un serveur AutoDL.

## Règles importantes

- Ne pas lire l'ensemble du jeu de données.
- Ne pas ouvrir les répertoires de gros fichiers (data, dataset, checkpoints, outputs, logs) sauf demande explicite de l'utilisateur.
- Si la vérification du format des données est nécessaire, ne lire que les 5 premières lignes ou demander à l'utilisateur de fournir un petit échantillon.
- Avant de modifier le code, expliquez d'abord quels fichiers vous allez modifier.
- Ne supprimer aucun fichier de données, poids de modèle, journal ou résultat d'expérience.
- Ne pas exécuter un entraînement complet, sauf si l'utilisateur le demande explicitement.
- Prioriser les tests légers, les vérifications syntaxiques ou les tests sur de petits échantillons.

Puis exécutez :

codex

12. Ordre recommandé des commandes complètes

Machine locale : Ouvrir le proxy inversé

ssh -N -R 7890:127.0.0.1:7890 -p <PORT> root@<HOST>

Laissez cette fenêtre ouverte.

Serveur AutoDL : Définir le proxy

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890

Serveur AutoDL : Tester le réseau

curl -I https://chatgpt.com
curl -I https://api.openai.com

Serveur AutoDL : Réparer awk

apt-get update
apt-get install -y gawk

Serveur AutoDL : Installer Codex

curl -fsSL https://chatgpt.com/codex/install.sh | sh

Serveur AutoDL : Rafraîchir le PATH

export PATH=/root/.local/bin:$PATH
echo 'export PATH=/root/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Serveur AutoDL : Vérifier la version

codex --version

Serveur AutoDL : Se connecter

codex login --device-auth

Serveur AutoDL : Accéder au projet et lancer

cd /autodl-tmp/votre_repertoire_projet
codex

13. Dépannage rapide des problèmes courants

Problème 1 : curl: (28) Failed to connect to chatgpt.com

Cause : AutoDL ne peut pas accéder directement à ChatGPT.

Solution : Ouvrez un proxy SSH inversé sur la machine locale et définissez les variables d'environnement du proxy dans AutoDL.


Problème 2 : Impossible de coller le mot de passe SSH

Cause : La saisie du mot de passe SSH n'affiche aucun caractère.

Solution : Collez et appuyez directement sur Entrée. Si Permission denied apparaît, le mot de passe est incorrect.


Problème 3 : HTTP/1.1 200 Connection established suivi de HTTP/2 403

Cause : Le tunnel proxy est actif, mais le site cible a refusé la requête.

Solution : Continuez à tester le script d'installation ou api.openai.com ; ce n'est pas nécessairement un échec du proxy.


Problème 4 : npm: command not found

Cause : Node.js/npm n'est pas installé dans AutoDL.

Solution :

conda install -c conda-forge nodejs -y

Problème 5 : Could not find SHA-256 digest

Cause : L'awk par défaut du système n'est pas GNU awk, le script d'installation échoue à analyser le fichier de validation SHA.

Solution :

apt-get install -y gawk

Si nécessaire :

update-alternatives --install /usr/bin/awk awk /usr/bin/gawk 20
update-alternatives --set awk /usr/bin/gawk

Problème 6 : bash: codex: command not found

Cause : Codex est installé, mais le PATH du shell actuel n'a pas été rafraîchi.

Solution :

export PATH=/root/.local/bin:$PATH
source ~/.bashrc

Ou :

/root/.local/bin/codex --version

Problème 7 : Impossible d'ouvrir le navigateur lors de la connexion Codex

Cause : AutoDL est un environnement distant sans navigateur.

Solution :

codex login --device-auth

Effectuez la connexion par code sur le navigateur local.


14. Principes d'utilisation

Lors de l'utilisation de Codex dans AutoDL, respectez les principes suivants :

  1. Activez d'abord le proxy, puis utilisez Codex ;
  2. Ne fermez pas la fenêtre du proxy SSH inversé local ;
  3. Ne lancez pas Codex à la racine des grandes données ;
  4. Lancez Codex de préférence dans le répertoire du code du projet ;
  5. Utilisez AGENTS.md pour empêcher Codex de lire les grandes données ;
  6. Avant de modifier le code, demandez d'abord une proposition à Codex ;
  7. Après modification, vérifiez avec git diff ;
  8. Ne laissez pas Codex supprimer directement des données, poids ou résultats expérimentaux ;
  9. Avant un entraînement complet, demandez d'abord à Codex de faire un test sur un petit échantillon ;
  10. Chaque fois que vous rouvrez un terminal AutoDL, vérifiez que les variables de proxy et le PATH sont toujours présents.

Skills associés