今天在chatgpt网页上收到了chatgpt的灰度推送,可以尝试gpt的codex代码助手了,迫不及待的尝试了一番,有一些坑和注意事项在本文进行了汇总,方便其他园子里的有plus的小伙伴尝鲜,下面开始正文。
note:由于之前没有用过类似的编码助手,包括copilot和cursor等等,所以我也是一个坑一个坑的趟完的,本文完全适合0基础的小伙伴上手。
首先对codex做一个基础的了解,codex不同于网页上使用chatgpt那种问答助手,也不同于claude的computer use那种帮你操控你自己电脑的助手,而是通过授权连接github你的仓库,在它自己的隔离沙箱中帮你敲代码的助手。
所以你需要准备一个github仓库,并且需要从chatgpt连接它,让chatgpt有权限拉取代码以及提交rp
第一步:访问https://chatgpt.com/codex/。根据引导会进入创建环境页面,点击github组织,选择添加github账号,对引导你到github上创建连接授权服务

在这里你可以选择你的所有仓库,也可以选择部分仓库(根据你自己的需求)。

创建好以后回到https://chatgpt.com/codex/settings/environment/create会列出你的账号下的仓库(私有仓库我没测过,公开的是有的)这个过程大概会有3-5分钟同步。这里会遇到第一个坑,即仓库怎么搜索都不出来。原因在于github的索引服务是懒加载,如果你的仓库没有活跃or很低活跃,就不会被索引。这时候你需要主动的索引一下。索引的方法是在浏览器访问这个urlhttps://github.com/search?q=repo:{你的账号}/{你的仓库} import&type=code。以我的DDD脚手架项目为例:
https://github.com/search?q=repo:sd797994/DDDScaffold import&type=code
等待数分钟后,仓库就可以被正确的搜索出来了。

接下来选择好你的仓库,你需要进行沙箱的初始化(就是装软件包)。chatgpt默认提供的软件包并不包含.net环境,所以我们需要准备一份脚本让容器初始化的时候自动安装dotnet sdk。


把这段脚本根据你自己的需求调整好以后。放置到脚本栏,点击连接终端,chatgpt就会自动初始化沙箱容器
#!/usr/bin/env bash
set -e
# 1) 可按需修改的变量
DOTNET_DIR="$HOME/.dotnet" # 安装目录
CHANNEL="STS" # LTS=8.x,STS=9.x,或具体版本号
# 2) 检测机器架构并映射到官方脚本支持的值
UNAME_M="$(uname -m)"
case "$UNAME_M" in
x86_64) ARCH="x64" ;;
aarch64) ARCH="arm64" ;;
armv7l|armv7*) ARCH="arm" ;;
*)
echo "不支持的架构: $UNAME_M"
exit 1
;;
esac
# 3) 下载并执行官方安装脚本(这里不再传 --quality 参数)
curl -sSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh
chmod +x /tmp/dotnet-install.sh
/tmp/dotnet-install.sh \
--install-dir "$DOTNET_DIR" \
--channel "$CHANNEL" \
--architecture "$ARCH"
# 4) 将 dotnet 路径加到当前 shell 以及 ~/.bashrc
export DOTNET_ROOT="$DOTNET_DIR"
export PATH="$DOTNET_DIR:$PATH"
if ! grep -q 'DOTNET_ROOT' ~/.bashrc 2>/dev/null; then
{
echo ''
echo '# .NET SDK'
echo "export DOTNET_ROOT=\"$HOME/.dotnet\""
echo "export PATH=\"\$DOTNET_ROOT:\$PATH\""
} >> ~/.bashrc
fi
# 5) 验证安装是否成功
"$DOTNET_DIR/dotnet" --info

运行完毕正确的打印了dotnet info后就表示你的容器设置完毕了,可以点击保存环境。至于代理网络看你需求,如果你在开发过程中还需要agent通过外网访问资源则需要打开,否则建议关闭。

接下来就可以回到首页选择你的仓库和分支,就可以进行玩耍了


除了一般的对仓库进行提问,写代码也是可以的

当它工作完成后,你可以选择创建PR。这样你的github的就能获取到agent上传的记录,可以按需选择合并到主干/分支。这样你就搞定了一个需求



以上内容基本就是教你如何一步一步让AI来帮你写代码的。不知道各位小伙伴看了之后是会心一笑还是背脊发凉呢。