尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Codex 使用教程:CLI/IDE/桌面端实战

Codex 使用教程:CLI/IDE/桌面端实战 Codex 使用教程CLI/IDE/桌面端实战OpenAI 在 2025 年把 Codex 从「藏在 ChatGPT 里的一个功能」做成了三个独立形态终端里的 CLI、VS Code 里的扩展、还有独立的桌面端 App。我陆陆续续用了一年多最深的感受是它跟过去把代码粘进网页对话框、再把答案粘回来的工作方式根本不是一回事。命令能直接改你的文件能看 diff能自己跑测试更像一个真正坐在你旁边动手干活的实习生而不是一个只会说教的老师。这篇文章打算把三个形态一次讲清楚各自怎么启动、适合干什么、命令和交互长什么样。收尾用一个完整任务串一遍「从描述到提交」的全流程再聊聊我用下来的技巧和限制。默认你已经装好了 Node.js 和 npm我在 Windows WSL 环境验证过macOS 的命令完全一致。版本号拿不准的地方我都标了以官方文档为准截图用占位符标注你照着跑一遍就能看到预期输出。三种形态怎么选先看一张对比Codex 的三种形态共用同一套账号体系登录一次模型权限和会话数据是打通的。差异主要在交互方式和擅长的场景上。形态启动方式适合场景交互方式主要局限CLI命令行终端输入codex完整任务、批量操作、脚本化、CI 环境文本对话 自动编辑文件没有图形界面上手有门槛IDE 扩展VS Code 侧边栏/命令面板单文件小改、重构、选中代码提问选中代码后对话框功能比 CLI 精简复杂任务仍要回终端桌面端 App独立应用多任务并排、聊天式规划图形窗口 对话对本地项目文件的操作能力弱我自己的用法是这样划分的需要它「动手改代码、跑命令、反复迭代」的任务走 CLI只是在编辑器里顺手改个函数、问一段代码什么意思用 IDE 扩展要做需求拆解、写方案这类「先聊天后动手」的交给桌面端。CLI从安装到跑通第一个任务CLI 是三种形态里功能最全的官方更新也最勤。先装。# 全局安装 Codex CLInpminstall-gopenai/codex# 验证安装成功codex--version# 预期输出codex/0.x.x具体版本号以官方文档为准装完要登录。这一步会拉起浏览器你需要在 OpenAI 账号里授权 Codex 访问你的项目。codex login# 浏览器弹窗出现后登录 OpenAI 账号授权完成后回到终端按回车确认# 预期输出Login successful登录后直接输入codex就进入交互模式提示符是。它默认只读代码要改文件会先给你看 diff等你确认。codex# 进入交互模式出现类似这样的提示符# 【此处需补真实截图codex 登录成功 进入交互模式的终端截图】我实测跑的第一个任务很简单——让它在当前项目里给一个函数补 docstring给 src/main.py 里的 process_data 函数补一份中英文 docstring改动尽量小它会先读文件、分析结构然后给出修改计划再展示 diff。在 diff 界面里操作键是Tab循环切换方案y接受当前方案n拒绝跳到下一个q直接退出不改。确认后文件就真的被改了。【此处需补真实截图Codex 展示 diff、等待确认的终端截图】除了交互模式CLI 还支持一条命令跑完的exec模式适合脚本化和 CI# 非交互执行一步到位codexexec给 README.md 补一节「安装」说明# 限制它只能读文件、不能写用于先出方案codexexec--sandboxread-only列出这个项目里所有未处理的 TODO# 全自动模式所有修改都直接应用不逐条确认codexexec--full-auto跑一下测试把失败的用例修好--sandbox read-only这个选项我日常用得多。先让它出一版方案看完确认没问题再放开写权限能省不少来回。IDE 扩展在编辑器里小步快改在 VS Code 扩展市场搜 “Codex”装官方扩展然后CtrlShiftP打开命令面板输入 “Codex: Sign in” 登录。扩展的核心交互是「选中代码 → 对话」。选中一段代码后点侧边栏的 Codex 图标或右键选择 “Ask Codex”它只以上下文里的选中内容为准不会像 CLI 那样读整个仓库。这既是优点也是缺点不容易误伤别的文件但它对项目全局的理解也弱。【此处需补真实截图VS Code 里选中代码调起 Codex 扩展对话的截图】IDE 扩展适合的粒度再强调一次改一个函数的返回值、加一段注释、把某段逻辑抽成函数这类改动落点清晰的任务它非常顺手。但牵扯多个文件联动、要跑测试、要查全局依赖的活儿扩展版容易顾头不顾尾这时候切回 CLI 更稳。桌面端多任务并排的工作台桌面端更像 ChatGPT 的界面左侧是历史任务列表中间是对话区可以同时开多个任务窗口切换互不干扰。适合做需求梳理、代码方案评审这类写代码前的工作也适合聊完一个方案再导出给 CLI 落地。【此处需补真实截图Codex 桌面端任务列表与对话区截图】桌面端还有个用处被很多人忽略它可以当作任务看板用。一个复杂需求拆成几个子任务分别开成独立会话左侧列表一眼看到每个子任务的进行状态。做完一个勾一个比在终端里来回翻记录直观。它的输出格式也更适合贴到文档或评审里。一个完整任务从描述到提交下面用真实任务串一遍完整流程。场景我维护的一个 Python 小工具parse_config函数读配置文件时对非法格式直接抛异常我想让它改成跳过坏行并打印警告。第 1 步进 CLI 交互模式把需求说清楚项目里 src/config_reader.py 的 parse_config 函数现在读到非法格式会直接抛异常。改成跳过坏行打印一条警告到 stderr函数返回能解析的部分。第 2 步它给出计划并开始读文件。中途可以补充约束警告信息要带行号格式统一成config line {n}: {reason}这一步 Codex 会先读文件、分析结构然后给出修改计划。以parse_config为例改动前后的核心逻辑大致是这样修改前读到非法格式直接抛异常整个解析中断。defparse_config(path):config{}withopen(path,encodingutf-8)asf:forlineinf:key,valueline.strip().split(,1)# 格式不对直接抛 ValueErrorconfig[key]valuereturnconfig修改后跳过坏行打印带行号的警告函数返回能解析的部分。defparse_config(path):config{}withopen(path,encodingutf-8)asf:forline_no,lineinenumerate(f,start1):lineline.strip()ifnotlineorline.startswith(#):# 跳过空行和注释continuetry:key,valueline.split(,1)# 只按第一个 切分exceptValueError:# 关键逻辑坏行不中断打印警告后继续下一行print(fconfig line{line_no}: 缺少 已跳过该行,filesys.stderr)continueconfig[key.strip()]value.strip()returnconfig几个关键点enumerate(f, start1)拿到真实行号正好对应约束里要求的config line {n}: {reason}格式try/except把「解析失败」从致命错误降级成「跳过 警告」保证单行坏数据不影响其余配置continue让循环继续往下走而不是整个函数崩掉。第 3 步看 diff逐个确认。y接受n拒绝不满意的地方直接说这里改成 xxx它会迭代。第 4 步让它自测跑一下项目里的测试然后给我一个包含非法行的临时配置验证一下第 5 步验收。这一步别省——自己读一遍改动的 diff特别是它处理边界条件空文件、全是坏行的逻辑。第 6 步提交帮我 commitmessage 写清楚改动内容第 7 步push。到这里整个任务闭环。整个过程 CLI 会改动文件、跑测试我在旁边只负责判断这么改对不对、意图对不对重复劳动基本为零。技巧与限制几个我在实战里摸索出来的用法用--sandbox read-only先出方案。复杂改动先让它只读分析、给方案你确认方向后再放开写避免它大动干戈。任务描述越具体结果越可控。说改好不如说改成什么行为、异常怎么处理、警告格式是什么。小步确认优于一次大改。一个请求只让它做一件事diff 好审出问题也好回退。保留 git 回退能力。让 Codex 动代码前先确认工作区是干净的或者提前 commit这样它改砸了git checkout就能回来。限制也讲清楚。exec模式跑复杂任务时上下文很长token 消耗快账单要盯一下CLI 会读写你的真实文件企业项目、涉密代码慎用Codex 用的模型版本会随官方迭代变化行为可能跟网上教程描述的不一致以官方文档为准。这些不是劝退理由但先知道比踩坑后知道好。常见问题与排查新手阶段问得最多的几个问题整理成一张排查表现象常见原因处理办法安装后提示codex不是内部或外部命令npm 全局目录没进 PATHWindows 把%APPDATA%\npm加进系统 PATH重开终端再试打开就弹登录、反复要求授权认证状态失效或环境变量冲突重新执行codex login检查是不是 export 了跟它冲突的 API keydiff 界面不知道按什么键快捷键没记住界面底部有按键提示Tab切换方案、y/n接受或拒绝、q退出长任务做到一半失忆上下文窗口耗尽让它把当前进展整理成摘要新开会话接着干别硬续改动了不该动的文件任务边界没描述清楚描述里点名只动哪几个文件复杂任务先--sandbox read-only出方案生成的代码风格跟项目不一致缺项目上下文描述时让它先读一两个现有文件再动手风格自然对齐请求一直超时代理或网络出口问题检查 HTTP_PROXY/HTTPS_PROXY 设置确认外网可达其中改动了不该动的文件最容易让人措手不及。AI 能理解你的意图但理解不了你没说出口的边界。写任务描述的时候把允许动的文件和禁止动的目录都写清楚比事后回退省太多事。我遇到过两次它顺手改了package.json的缩进虽然不影响运行但 diff 里混进无关改动review 起来很烦。关于费用交互模式里能查当前会话的开销命令名以官方文档为准。我的习惯是复杂任务开新会话跑别让一个会话无限续——既省 token也避免上下文残留把后面的任务带偏。结论Codex 的价值不在帮你写代码而在把写代码这件事变成一个可以对话、可以确认、可以回退的过程。日常小任务交给 IDE 扩展完整任务走 CLI规划类工作用桌面端三者配合基本覆盖了我一天里绝大部分开发场景。
返回列表