Proceso completo para usar Codex CLI en AutoDL
Este Skill ayuda a los usuarios a usar Codex CLI directamente en un servidor remoto AutoDL para modificar y depurar código de proyectos, evitando descargar proyectos y grandes volúmenes de datos al ordenador local. Es adecuado para los siguientes escenarios:
- El código y los datos del usuario están en el servidor remoto AutoDL;
- Los archivos de datos son grandes y no es adecuado descargarlos localmente;
- El usuario desea que Codex lea directamente el código remoto, modifique archivos y ejecute pruebas;
- El servidor AutoDL no puede acceder directamente a
chatgpt.comoapi.openai.com; - Se encuentran problemas de red, npm, PATH, gawk, verificación SHA, etc., al instalar Codex CLI.
1. Idea general
No descargue el proyecto de AutoDL a su ordenador local para que Codex lo modifique, sino:
- Abra un proxy inverso SSH desde su ordenador local;
- Haga que AutoDL acceda a OpenAI a través del proxy local;
- Instale Codex CLI en el servidor AutoDL;
- Ejecute
codexdirectamente en el directorio del proyecto en AutoDL; - Permita que Codex lea, modifique y ejecute código directamente en el servidor remoto.
El objetivo final es:
cd /autodl-tmp/tu-directorio-del-proyecto
codex
2. Obtener la dirección SSH y el puerto de AutoDL
En la consola de AutoDL, busque el comando de inicio de sesión SSH para la instancia actual.
Normalmente tiene un formato similar a:
ssh -p 32384 [email protected]
Donde:
[email protected]
es la dirección de AutoDL;
-p 32384
es el puerto SSH.
En todos los comandos siguientes, reemplace <PORT> con el puerto, por ejemplo 32384; <HOST> con la dirección, por ejemplo connect.bjb2.seetacloud.com.
3. Abrir un proxy inverso SSH en el ordenador local
Si su ordenador local ya tiene activado Clash, VPN u otro proxy, y el puerto del proxy local es 7890, ejecute lo siguiente en Windows PowerShell, CMD o Git Bash local:
ssh -N -R 7890:127.0.0.1:7890 -p <PORT> root@<HOST>
Ejemplo:
ssh -N -R 7890:127.0.0.1:7890 -p 32384 [email protected]
Introduzca la contraseña SSH de AutoDL.
Nota:
- Al introducir la contraseña, el terminal no mostrará ningún carácter, ni siquiera
*; - Pegue la contraseña y presione directamente Enter;
- Si el inicio de sesión es exitoso, la ventana se quedará bloqueada; esto es normal;
- No cierre esta ventana; es la encargada de mantener el túnel de proxy desde AutoDL al ordenador local.
Si aparece:
Permission denied
significa que la contraseña es incorrecta; debe volver a la consola de AutoDL y copiar la contraseña SSH correcta.
4. Configurar las variables de entorno del proxy en AutoDL
Abra otro terminal, inicie sesión SSH normalmente en AutoDL, o use el terminal web de AutoDL.
Una vez dentro de AutoDL, ejecute:
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
Luego pruebe la red:
curl -I https://chatgpt.com
curl -I https://api.openai.com
Si antes aparecía:
Connection timed out
y ahora aparece:
HTTP/1.1 200 Connection established
significa que el túnel proxy ha funcionado.
Si al acceder a chatgpt.com devuelve:
HTTP/2 403
generalmente significa que ya se ha conectado al sitio web, pero la página en sí ha sido rechazada por Cloudflare o la política de acceso; no necesariamente indica un fallo del proxy. Continúe probando el script de instalación de Codex o api.openai.com.
5. Instalar Codex CLI
En AutoDL, ejecute:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Si tiene éxito, verá algo similar a:
Installing Codex CLI
Detected platform: Linux (x64)
Resolved version: ...
Installing standalone package ...
Codex CLI installed successfully.
6. Manejar el error de gawk / verificación SHA-256
Si durante la instalación aparece:
Could not find SHA-256 digest for codex-package-x86_64-unknown-linux-musl.tar.gz in codex-package_SHA256SUMS.
Generalmente es porque el awk predeterminado del sistema no es GNU awk, y el script de instalación falla al analizar SHA256SUMS.
Primero verifique:
awk --version
Si la salida es:
awk: not an option: --version
significa que el awk actual no es GNU awk.
No use:
bash awk --version
Esto es incorrecto. awk es un programa binario, no un script de shell.
Para solucionarlo:
apt-get update
apt-get install -y gawk
Después de la instalación, verifique:
gawk --version
awk --version
Si awk --version todavía no muestra GNU Awk, cambie el awk predeterminado:
update-alternatives --install /usr/bin/awk awk /usr/bin/gawk 20
update-alternatives --set awk /usr/bin/gawk
Vuelva a verificar:
awk --version
Una vez solucionado, reinstale Codex:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
7. Manejar el error "npm: command not found"
Si al ejecutar:
npm install -g @openai/codex
aparece:
bash: npm: command not found
significa que el entorno AutoDL actual no tiene Node.js/npm.
Puede instalar npm con conda:
conda install -c conda-forge nodejs -y
Verifique:
node -v
npm -v
Luego configure el proxy para npm:
npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890
Y luego instale Codex:
npm install -g @openai/codex
Si el script de instalación oficial ya ha tenido éxito, no necesita el método con npm.
8. Manejar el error "codex: command not found"
Después de una instalación exitosa, si al ejecutar:
codex --version
aparece:
bash: codex: command not found
Generalmente es porque el PATH del terminal actual no se ha actualizado.
Primero ejecute:
export PATH=/root/.local/bin:$PATH
Luego verifique:
which codex
codex --version
También puede usar la ruta completa:
/root/.local/bin/codex --version
Para que codex esté disponible cada vez que abra un terminal, añádalo a .bashrc:
echo 'export PATH=/root/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Vuelva a verificar:
codex --version
Normalmente mostrará algo similar a:
codex-cli 0.141.0
9. Iniciar sesión en Codex
AutoDL normalmente es un entorno sin navegador, por lo que debe iniciar sesión con un código de dispositivo:
codex login --device-auth
Codex mostrará en el terminal un enlace de inicio de sesión y un código de un solo uso.
En el navegador de su ordenador local, abra el enlace, inicie sesión en ChatGPT e introduzca el código mostrado en el terminal.
Después de iniciar sesión correctamente, en AutoDL se mostrará:
Successfully logged in
Puede verificar el estado de inicio de sesión:
codex login status
10. Iniciar Codex en el directorio del proyecto en AutoDL
Navegue al directorio del proyecto:
cd /autodl-tmp/tu-directorio-del-proyecto
Ejemplo:
cd /autodl-tmp/Tencent-Advertising-Algorithm-Competition
Inicie Codex:
codex
A partir de aquí, puede pedir a Codex que analice y modifique el código remoto directamente.
Primer prompt recomendado:
Primero, lee la estructura del código de este proyecto, no leas el conjunto de datos completo. Ayúdame a analizar el flujo de entrenamiento y los posibles problemas actuales. No modifiques archivos aún, primero dame un plan de modificación.
Si necesita que modifique el código, puede decir:
Según el análisis anterior, modifica el código. Solo modifica los archivos necesarios, no leas el conjunto de datos completo, no elimines datos, pesos ni archivos de registro. Después de la modificación, dime qué archivos modificaste y cómo probarlos.
11. Reglas de uso seguro para proyectos con grandes volúmenes de datos
Los proyectos de AutoDL suelen contener grandes volúmenes de datos, pesos de modelos, registros y resultados de experimentos. Antes de usar Codex, se recomienda crear un archivo AGENTS.md:
nano AGENTS.md
Escriba:
# Descripción del proyecto
Este es un proyecto de machine learning que se ejecuta en un servidor AutoDL.
## Reglas importantes
- No leas el conjunto de datos completo.
- No abras directorios grandes como data, dataset, checkpoints, outputs, logs, a menos que el usuario lo solicite explícitamente.
- Si necesitas verificar el formato de los datos, solo lee las primeras 5 líneas o pide al usuario una muestra pequeña.
- Antes de modificar código, explica qué archivos planeas modificar.
- No elimines ningún archivo de datos, pesos de modelo, registros o resultados de experimentos.
- No ejecutes un entrenamiento completo a menos que el usuario lo solicite explícitamente.
- Prioriza la ejecución de pruebas ligeras, comprobaciones de sintaxis o pruebas con muestras pequeñas.
Luego ejecute:
codex
12. Orden de comandos completo recomendado
Ordenador local: Abrir proxy inverso
ssh -N -R 7890:127.0.0.1:7890 -p <PORT> root@<HOST>
Mantenga esta ventana abierta.
Servidor AutoDL: Configurar 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
Servidor AutoDL: Probar red
curl -I https://chatgpt.com
curl -I https://api.openai.com
Servidor AutoDL: Reparar awk
apt-get update
apt-get install -y gawk
Servidor AutoDL: Instalar Codex
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Servidor AutoDL: Actualizar PATH
export PATH=/root/.local/bin:$PATH
echo 'export PATH=/root/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Servidor AutoDL: Verificar versión
codex --version
Servidor AutoDL: Iniciar sesión
codex login --device-auth
Servidor AutoDL: Navegar al proyecto e iniciar
cd /autodl-tmp/tu-directorio-del-proyecto
codex
13. Solución rápida de problemas comunes
Problema 1: curl: (28) Failed to connect to chatgpt.com
Causa: AutoDL no puede acceder directamente a ChatGPT.
Solución: Abra un proxy inverso SSH desde el ordenador local y configure las variables de entorno del proxy en AutoDL.
Problema 2: No se puede pegar la contraseña SSH
Causa: La entrada de la contraseña SSH no muestra ningún carácter.
Solución: Pegue y presione Enter directamente. Si aparece Permission denied, entonces la contraseña es incorrecta.
Problema 3: HTTP/1.1 200 Connection established seguido de HTTP/2 403
Causa: El túnel proxy está funcionando, pero el sitio de destino ha rechazado la solicitud actual.
Solución: Continúe probando el script de instalación o api.openai.com; no necesariamente indica un fallo del proxy.
Problema 4: npm: command not found
Causa: No hay Node.js/npm instalado en AutoDL.
Solución:
conda install -c conda-forge nodejs -y
Problema 5: Could not find SHA-256 digest
Causa: El awk predeterminado del sistema no es GNU awk, y el script de instalación falla al analizar el archivo de verificación SHA.
Solución:
apt-get install -y gawk
Si es necesario:
update-alternatives --install /usr/bin/awk awk /usr/bin/gawk 20
update-alternatives --set awk /usr/bin/gawk
Problema 6: bash: codex: command not found
Causa: Codex se instaló correctamente, pero el PATH del shell actual no se ha actualizado.
Solución:
export PATH=/root/.local/bin:$PATH
source ~/.bashrc
O:
/root/.local/bin/codex --version
Problema 7: No se puede abrir el navegador al iniciar sesión en Codex
Causa: AutoDL es un entorno remoto sin navegador.
Solución:
codex login --device-auth
Complete el inicio de sesión con código de dispositivo en el navegador local.
14. Principios de uso
Al usar Codex en AutoDL, se deben seguir los siguientes principios:
- Primero configure el proxy, luego use Codex;
- No cierre la ventana del proxy inverso SSH local;
- No inicie Codex en el directorio raíz de grandes volúmenes de datos;
- Priorice iniciar Codex en el directorio del código del proyecto;
- Use
AGENTS.mdpara evitar que Codex lea grandes volúmenes de datos; - Antes de modificar código, pida a Codex que primero proporcione un plan;
- Después de las modificaciones, verifique con
git diff; - No permita que Codex elimine datos, pesos o resultados de experimentos directamente;
- Antes de un entrenamiento completo, primero haga que Codex realice pruebas con muestras pequeñas;
- Cada vez que abra un nuevo terminal en AutoDL, verifique que las variables de proxy y PATH sigan presentes.