CommunityArte y diseñogithub.com

Danicahhh/codex-skills

自己整理的Codex Skill

Compatible con~Claude CodeCodex CLI~Cursor
npx skills add Danicahhh/codex-skills

Documentación


name: autodl-codex-setup description: Guide the user through installing, configuring, logging into, and troubleshooting OpenAI Codex CLI on an AutoDL remote server, including SSH reverse proxy, proxy variables, gawk checksum errors, npm fallback, PATH setup, and safe usage inside large-data projects.

AutoDL 中使用 Codex CLI 的完整流程

本 Skill 用于帮助用户在 AutoDL 远程服务器中直接使用 Codex CLI 修改和调试项目代码,避免将远程项目和大数据下载到本地。适用于以下场景:

  • 用户的代码和数据都在 AutoDL 远程服务器上;
  • 数据文件较大,不适合下载到本地;
  • 用户希望 Codex 直接读取远程代码、修改文件、运行测试;
  • AutoDL 服务器无法直接访问 chatgpt.comapi.openai.com
  • 安装 Codex CLI 时遇到网络、npm、PATH、gawk、SHA 校验等问题。

1. 总体思路

不要把 AutoDL 上的项目下载到本地再让 Codex 修改,而是:

  1. 在本地电脑开 SSH 反向代理;
  2. 让 AutoDL 通过本地代理访问 OpenAI;
  3. 在 AutoDL 服务器中安装 Codex CLI;
  4. 在 AutoDL 项目目录中直接运行 codex
  5. 让 Codex 在远程服务器上直接读取、修改、运行代码。

最终目标是:

cd /autodl-tmp/你的项目目录
codex

2. 获取 AutoDL 的 SSH 地址和端口

在 AutoDL 控制台中找到当前实例的 SSH 登录命令。

通常格式类似:

ssh -p 32384 [email protected]

其中:

[email protected]

是 AutoDL 地址;

-p 32384

是 SSH 端口。

后续所有命令中的 <PORT> 替换为端口,例如 32384<HOST> 替换为地址,例如 connect.bjb2.seetacloud.com


3. 在本地电脑开启 SSH 反向代理

如果本地电脑已经开启 Clash、VPN 或其他代理,并且本地代理端口是 7890,则在本地 Windows PowerShell、CMD 或 Git Bash 中运行:

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

示例:

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

输入 AutoDL 的 SSH 密码。

注意:

  • 输入密码时,终端不会显示任何字符,也不会显示 *
  • 粘贴密码后直接按 Enter;
  • 如果登录成功,该窗口会卡住不动,这是正常的;
  • 不要关闭这个窗口,它负责维持 AutoDL 到本地代理的隧道。

如果提示:

Permission denied

说明密码错误,需要回 AutoDL 控制台复制正确的 SSH 密码。


4. 在 AutoDL 中设置代理环境变量

打开另一个终端,正常 SSH 登录 AutoDL,或者使用 AutoDL 网页终端。

进入 AutoDL 后执行:

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

然后测试网络:

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

如果之前是:

Connection timed out

现在变成:

HTTP/1.1 200 Connection established

说明代理隧道已经生效。

如果访问 chatgpt.com 返回:

HTTP/2 403

这通常说明已经连到了网站,只是网页本身被 Cloudflare 或访问策略拒绝,不一定代表代理失败。应继续测试 Codex 安装脚本或 api.openai.com


5. 安装 Codex CLI

在 AutoDL 中执行:

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

如果成功,会看到类似:

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

6. 处理 gawk / SHA-256 校验报错

如果安装过程中出现:

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

通常是系统默认 awk 不是 GNU awk,安装脚本解析 SHA256SUMS 失败。

先检查:

awk --version

如果输出:

awk: not an option: --version

说明当前 awk 不是 GNU awk。

不要使用:

bash awk --version

这是错误写法。awk 是二进制程序,不是 shell 脚本。

修复方式:

apt-get update
apt-get install -y gawk

安装后检查:

gawk --version
awk --version

如果 awk --version 仍然不是 GNU Awk,则切换默认 awk:

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

再次检查:

awk --version

正常后重新安装 Codex:

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

7. 处理 npm command not found

如果执行:

npm install -g @openai/codex

出现:

bash: npm: command not found

说明当前 AutoDL 环境没有 Node.js/npm。

可以使用 conda 安装:

conda install -c conda-forge nodejs -y

检查:

node -v
npm -v

然后给 npm 设置代理:

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

再安装 Codex:

npm install -g @openai/codex

如果官方安装脚本已经成功,则不需要 npm 方案。


8. 处理 codex command not found

安装成功后,如果运行:

codex --version

却出现:

bash: codex: command not found

通常是当前终端 PATH 没刷新。

先执行:

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

然后检查:

which codex
codex --version

也可以直接用完整路径:

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

为了以后每次打开终端都能使用 codex,写入 .bashrc

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

再次检查:

codex --version

正常情况下会显示类似:

codex-cli 0.141.0

9. 登录 Codex

AutoDL 通常是无浏览器环境,应使用设备码登录:

codex login --device-auth

Codex 会在终端里给出登录链接和一次性 code。

在本地电脑浏览器中打开链接,登录 ChatGPT,然后输入终端给出的 code。

登录成功后,AutoDL 中会显示:

Successfully logged in

可以检查登录状态:

codex login status

10. 在 AutoDL 项目目录中启动 Codex

进入项目目录:

cd /autodl-tmp/你的项目目录

示例:

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

启动 Codex:

codex

之后即可让 Codex 直接分析和修改远程代码。

推荐第一条 prompt:

请先阅读这个项目的代码结构,不要读取完整数据集。帮我分析训练流程和当前可能的问题。先不要修改文件,先给我修改方案。

如果需要它修改代码,可以说:

请根据刚才的分析修改代码。只修改必要文件,不要读取完整数据集,不要删除数据、权重和日志文件。修改后告诉我改了哪些文件,以及如何测试。

11. 大数据项目的安全使用规则

AutoDL 项目通常包含大数据、模型权重、日志和实验结果。使用 Codex 前建议新建 AGENTS.md

nano AGENTS.md

写入:

# 项目说明

这是一个运行在 AutoDL 服务器上的机器学习项目。

## 重要规则

- 不要读取完整数据集。
- 不要打开 data、dataset、checkpoints、outputs、logs 等大文件目录,除非用户明确要求。
- 如果需要检查数据格式,只读取前 5 行或请求用户提供小样本。
- 修改代码前,先说明准备修改哪些文件。
- 不要删除任何数据文件、模型权重、日志或实验结果。
- 不要直接运行完整训练,除非用户明确要求。
- 优先运行轻量级测试、语法检查或小样本测试。

然后再运行:

codex

12. 推荐的完整命令顺序

本地电脑:开启反向代理

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

保持该窗口不关闭。

AutoDL 服务器:设置代理

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

AutoDL 服务器:测试网络

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

AutoDL 服务器:修复 awk

apt-get update
apt-get install -y gawk

AutoDL 服务器:安装 Codex

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

AutoDL 服务器:刷新 PATH

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

AutoDL 服务器:检查版本

codex --version

AutoDL 服务器:登录

codex login --device-auth

AutoDL 服务器:进入项目并启动

cd /autodl-tmp/你的项目目录
codex

13. 常见问题速查

问题 1:curl: (28) Failed to connect to chatgpt.com

原因:AutoDL 无法直接访问 ChatGPT。

解决:本地电脑开启 SSH 反向代理,并在 AutoDL 设置代理环境变量。


问题 2:输入 SSH 密码时粘贴不上

原因:SSH 密码输入不会显示任何字符。

解决:粘贴后直接按 Enter。如果出现 Permission denied 才说明密码错误。


问题 3:HTTP/1.1 200 Connection established 后出现 HTTP/2 403

原因:代理隧道已通,目标网站拒绝了当前请求。

解决:继续测试安装脚本或 api.openai.com,不一定是代理失败。


问题 4:npm: command not found

原因:AutoDL 中没有安装 Node.js/npm。

解决:

conda install -c conda-forge nodejs -y

问题 5:Could not find SHA-256 digest

原因:系统默认 awk 不是 GNU awk,安装脚本解析 SHA 校验文件失败。

解决:

apt-get install -y gawk

必要时:

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

问题 6:bash: codex: command not found

原因:Codex 安装成功,但当前 shell 的 PATH 没有刷新。

解决:

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

或者:

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

问题 7:Codex 登录时打不开浏览器

原因:AutoDL 是远程无浏览器环境。

解决:

codex login --device-auth

在本地浏览器中完成设备码登录。


14. 使用原则

在 AutoDL 中使用 Codex 时,应遵守以下原则:

  1. 先开代理,再用 Codex;
  2. 不要关闭本地 SSH 反向代理窗口;
  3. 不要在大数据根目录启动 Codex;
  4. 优先在项目代码目录启动 Codex;
  5. 使用 AGENTS.md 限制 Codex 不要读取大数据;
  6. 修改代码前让 Codex 先给方案;
  7. 修改后用 git diff 检查;
  8. 不要让 Codex 直接删除数据、权重或实验结果;
  9. 完整训练前,先让 Codex 做小样本测试;
  10. 每次重新打开 AutoDL 终端时,确认代理变量和 PATH 是否仍然存在。

Skills relacionados