codex是OpenAI推出的命令行AI编程助手,它最大的特点是能直接读取整个项目的代码结构,理解上下文后帮你完成编码任务。很多刚安装codex的朋友会有一个疑问:是不是必须进到某个特殊界面才能用?其实完全不需要,只要在项目的根目录下打开终端,运行一条命令就能直接开始任务。本文就从安装配置、根目录启动、权限模式选择这几个角度,把整个流程讲清楚。

先确认codex已正确安装并登录
在项目根目录启动任务之前,前提是本机已经装好codex CLI并且完成了账号认证。codex目前通过npm分发,安装非常简单,只要本机有Node.js环境,一条命令就能搞定。建议Node.js版本在18以上,过低版本可能会遇到兼容性问题。
npm install -g @openai/codex # 安装完成后验证版本 codex --version # 首次使用需要登录认证,会引导你完成ChatGPT账号授权 codex login
执行codex login后,终端会给出一个授权链接或直接拉起浏览器,用你的ChatGPT账号登录并确认授权即可。如果你使用的是API Key方式,也可以通过设置环境变量的方式提供凭证,这种方式更适合CI环境或者无头服务器。认证完成后,可以随便找个目录运行codex,如果能看到交互式对话界面,说明环境已经就绪。
这里有个常见的坑需要注意:如果你在Windows上使用,建议在WSL或者Git Bash里运行codex,原生CMD下部分交互功能体验不佳。macOS和Linux用户则可以直接在自带终端中使用,基本不会遇到额外障碍。
在项目根目录直接启动codex的完整步骤
codex的核心使用逻辑非常直接:它会把当前工作目录当作项目上下文。所以要在项目根目录开始任务,操作就是两步——cd到项目根目录,然后运行codex命令。这一点和git的用法非常类似,codex的一切文件读写操作默认都限定在当前目录及其子目录范围内。
# 第一步:进入项目根目录 cd /path/to/your-project # 第二步:直接启动codex交互模式 codex # 或者启动时直接带上任务描述,省去手动输入 codex "帮我梳理这个项目的目录结构,并补充README文档"
如果不带参数直接运行codex,会进入交互式会话界面,你可以像聊天一样持续下达指令,codex会逐步执行并展示它读过的文件、执行的命令和修改的内容。如果在启动命令后面直接跟上任务描述字符串,codex会立即开始处理这个任务,适合目标明确的场景。比如修复一个明确的bug、补一个函数、写一批单元测试,都可以一句话直接开工。
还有一种情况是项目根目录不在当前终端位置,但你又不想cd过去。这时可以用codex的部分子命令配合路径参数操作,不过对于交互式任务来说,最稳妥的方式还是老老实实进入根目录再启动,这样沙箱的工作目录设置才不会出问题。
理解权限模式:为什么首次运行会卡在授权环节
很多人在项目根目录启动codex后,发现它读取文件没问题,但一执行命令或写文件就提示需要批准,任务推进很慢。这是因为codex默认运行在只读或者需要逐步确认的模式下,这是出于安全考虑的设计。理解几种模式之间的区别,能让你按需选择合适的启动方式。
# 默认模式:读写操作需要逐个确认,最安全 codex # 全自动模式:工作区内自动读写和执行命令,网络访问仍受限制 codex --full-auto # 指定审批策略和沙箱模式 codex --ask-for-approval never --sandbox workspace-write
对于自己熟悉的项目,推荐用--full-auto模式,codex可以在项目目录内自由读写文件、运行测试命令,效率高很多。而对于包含敏感配置或者不希望被自动修改的项目,保持默认模式更稳妥,每一步改动都会先展示diff再等你确认。需要注意,即使开了全自动模式,工作区外的操作和网络请求依然受到沙箱限制,不会出现代码跑飞了把系统搞乱的情况。
另外,会话中途也可以切换权限模式。在交互界面里输入斜杠开头的命令即可调出模式菜单,不用退出重启,这在任务复杂度升级时特别实用。
用好AGENTS.md让codex更懂你的项目
在项目根目录直接开始任务时,还有一个提升效果显著的做法:在根目录放置一个AGENTS.md文件。codex每次启动都会自动读取这个文件,把它作为项目级的指导说明。相当于你提前给AI写了一份项目交接文档,它就不用每次都从零开始摸索。
# AGENTS.md 示例内容 ## 项目技术栈 - 后端:Go 1.21,Web框架为Gin - 数据库:PostgreSQL 15,ORM使用GORM - 前端:Vue 3 + TypeScript ## 开发规范 - 所有函数必须有中文注释 - 提交前必须运行 make lint 和 make test - 不要直接修改migrations目录下的历史迁移文件 ## 常用命令 - 启动开发服务:make dev - 运行测试:go test ./...
AGENTS.md里写清楚技术栈、代码规范、常用命令、目录约定这些信息,codex生成代码的准确率会明显提升,尤其是团队有固定风格要求的时候,能省掉大量反复纠正的成本。这个文件也可以放在子目录中,codex处理对应子目录的任务时会读取就近的说明文件,实现更细粒度的约束。
断点续接与常用启动参数技巧
实际使用中,任务往往不是一次就能做完的。codex提供了resume参数,可以恢复上一次的会话继续工作,所有上下文都还在,不用重新描述任务背景。这在处理跨天的大型任务时非常好用。
# 恢复最近一次会话 codex resume # 从历史会话列表中选择要恢复的会话 codex resume --last # 非交互式执行单个任务,适合脚本化场景 codex exec "运行全部单元测试并汇总失败用例"
codex exec是另一个值得掌握的用法,它以非交互模式执行完任务后直接退出,非常适合写在脚本里做自动化,比如每次提交前让codex自动跑一遍代码检查。配合项目根目录启动的原则,脚本里先cd到项目根目录再执行exec,就能保证codex拿到正确的项目上下文。
总结一下,在项目根目录直接开始codex任务的要点其实就四条:进入根目录再启动、按需选择权限模式、写好AGENTS.md提供项目上下文、善用resume和exec管理任务流。把这几点用顺了,codex基本可以承担项目中大部分重复性的编码工作,让你把精力集中在真正需要思考的设计问题上。