news 2026/10/18 4:44:07

Codex 入门实践笔记:从安装到安全避坑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Codex 入门实践笔记:从安装到安全避坑

一、Codex 是什么

OpenAI Codex 是 OpenAI 推出的 AI 编程 Agent,2026 年已全面升级,提供本地 CLI、VS Code 扩展、Cursor/Windsurf 集成和桌面应用四种使用形态。核心能力是在终端中自主完成代码编写、修改、执行 Shell 命令、搜索文件和抓取网页等完整工程任务。

Codex CLI 已在 GitHub 完整开源(Apache-2.0),支持 ChatGPT 订阅登录和 API Key 两种认证方式,并通过config.toml支持接入任意 OpenAI 兼容的第三方推理后端。

二、安装与登录

安装方式

Codex 支持四种安装方式,按场景选择即可。

方式一:官方安装脚本(推荐)

macOS / Linux:

bash

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

Windows PowerShell:

powershell

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

脚本会自动下载最新版、校验 checksum,并将codex命令加入 PATH。

方式二:npm(适合已有 Node 环境)

bash

npm install -g @openai/codex

方式三:Homebrew(macOS)

bash

brew install --cask codex

方式四:二进制直接下载:从 GitHub Releases 下载对应平台压缩包,解压后重命名为codex放入 PATH。

验证安装:codex --version

环境要求:macOS 12+、Ubuntu 20.04+/Debian 10+、Windows 11(WSL2),最低 4GB 内存(建议 8GB),可选 Git 2.23+。

登录

两种认证方式:

  • Sign in with ChatGPT:适合已有 ChatGPT Plus / Pro / Business 套餐的用户,在订阅额度内使用,无额外按量计费。执行codex login后自动打开浏览器完成 OAuth 授权。

  • API Key 登录:适合 CI/CD 等编程化调用场景。推荐使用printenv OPENAI_API_KEY | codex login --with-api-key,避免密钥暴露在 shell history 中。

凭据缓存在~/.codex/auth.json,等同于密码,不要提交到 Git。

三、核心交互:CLI 命令与会话内斜杠命令

Codex 的交互分两层:启动 CLI 时的命令行参数,以及进入会话后使用的斜杠命令。

常用 CLI 命令:

命令说明
codex启动交互式会话
codex exec "任务描述"一次性任务,执行完退出
codex --sandbox read-only只读分析模式,不改文件
codex --full-auto自动执行模式(注意安全风险)
codex resume恢复之前的会话
codex login status查看登录状态

常用斜杠命令(会话内):

命令用途
/model切换模型
/diff查看当前 Git 差异
/compact压缩上下文,聊太久 token 爆了靠这个续命
/review让另一个 Codex 代理审查你的代码
/status查看当前会话状态

斜杠命令执行的是程序写死的固定动作,不依赖模型推理,响应更快、行为更确定。

四、记忆系统:两套机制,别搞混

Codex 的记忆相关功能实际上是两套各管各的系统——一套你手写(AGENTS.md),一套它自己写(Memories)。

AGENTS.md是你手动编写的指令文件,用于声明构建命令、测试要求、代码规范、安全边界和审查规则。Codex 每次开工前都会读取它。

Memories是 Codex 自己在后台总结的“私人笔记”——你纠正它一次,它在会话闲置后异步生成记忆,下次开工自动想起。但记忆不是实时生效的,你前脚说完后脚就考它,它可能还没记下来。必须每次都生效的规则,应该写进 AGENTS.md,别赌记忆。

关于 AGENTS.md 的作用域优先级,Codex 按以下顺序读取:

  1. 全局层:~/.codex/AGENTS.override.md(不存在则读~/.codex/AGENTS.md)

  2. 项目层:项目根目录的AGENTS.md

文件大小上限默认 32 KiB,超出部分会被截断。建议从最小化的 AGENTS.md 开始,发现 Codex 需要知道什么再逐步补充。

⚠️ 安全警示:AGENTS.md 不是万能的

AGENTS.md 是“软约束”而非“硬边界”。真正限制 Codex 行为的是沙箱和审批策略,不是你在 AGENTS.md 里写了什么。安全相关的内容将在第八节展开。

五、Git 工作流:分叉回滚与 worktree 并行开发

分叉回滚:对话 + 代码的双重回退

Codex 的fork(分叉)功能可以创建一条继承历史的新对话分支。操作方式:找到上一次对话结尾的位置,点击分叉按钮,选择“派生到本地”。分叉后的新对话剔除了你不想要的部分。

但关键点是:分叉只回退对话历史,不同步回退代码。完整的回滚需要两步走:

  1. 用 Codex 分叉回退对话历史

  2. 在 VS Code 的 Source Control 中找到目标提交的 commit hash,让 Codex 把代码回退到该状态

两步结合,才能实现从代码层面和对话历史层面的完全回滚。

Git worktree:并行开发两个功能

Worktree 本质上是用 git 创建新分支,并将该分支的代码完整复制到一个新文件夹。主文件夹和分支文件夹可以并行工作,互不干扰。

典型使用场景:你想同时优化“客户评价”和“门店信息”两个模块。操作流程:

  1. 在项目上右键创建永久工作树,分别命名(如customer-rating和store-info)

  2. 在第一个工作树中开新对话,要求优化客户评价部分

  3. 在第二个工作树中开新对话,要求优化门店信息部分

  4. 两个分支并行开发,互不干扰

  5. 开发完毕后各自合并回主干

在终端中,Codex 也支持codex fork --last或codex fork [session_id]命令来创建分叉会话,结合 git worktree 可实现对话与文件系统的双重隔离。

六、云端运行环境

Codex 支持在云端运行任务,适合处理需要隔离环境或并行执行的工作。前提是先将代码同步到 GitHub。

云端任务的运行流程如下:

  1. Codex 创建容器,在指定分支或 commit SHA 上检出你的仓库

  2. 运行 setup 脚本(缓存容器恢复时还会运行 maintenance 脚本)

  3. 应用网络访问设置(Agent 阶段的网络默认关闭,可配置为受限或不受限)

  4. Agent 在循环中执行终端命令、编辑代码、运行检查

  5. 如果仓库包含 AGENTS.md,Agent 会用它来找到项目特定的 lint 和 test 命令

  6. 完成后展示回答和文件变更的 diff,你可以开启 PR 或追问

云端环境预装了常用语言和工具(codex-universal镜像),也可以自定义 setup 脚本安装额外依赖。容器状态最多缓存 12 小时,加速后续任务。

七、插件与自动化

Skill:能力封装的最小单元

Skill 用任务专属能力扩展 Codex,把指令、资源和可选脚本打包成可复用单元,基于开放的 Agent Skills 标准。

每个 Skill 是一个独立目录,核心是SKILL.md文件。创建方式有两种:

方式一:用内置 creator(推荐入门)

text

$skill-creator Create a skill named xxx that ...

方式二:手动创建文件结构

text

skills/ my-skill/ SKILL.md # 必需:指令和元数据 references/ # 可选:文档、示例、背景材料 scripts/ # 可选:确定性计算或文件处理的脚本 assets/ # 可选:模板、资源文件

SKILL.md以 name 和 description 开头,description 决定了模型何时考虑使用该 skill。正文写详细流程、格式和安全指令。

Skill 可以通过两种方式触发:显式调用(在提示词里写$skill-name,或用/打开菜单选择)和隐式匹配(任务描述与 skill 的 description 匹配时自动选择)。

插件(Plugin):Skill 的分发格式

Skill 是“编写格式”,Plugin 是“分发格式”。个人自用写 Skill,团队分发用 Plugin。

一个 Plugin 可以打包一个或多个 Skill,也可以同时包含 MCP 配置。Plugin 的清单文件放在.codex-plugin/plugin.json中,声明 skill 目录和 MCP 配置。

Hooks:生命周期扳机

Hooks 解决的是“干活流程走到某个点,自动替我跑段脚本”的问题。它挂在生命周期的固定时机上,事件一到就触发,不依赖模型决策。

主要时机包括:

  • UserPromptSubmit:发送指令时——可做敏感信息检查

  • PreToolUse:工具执行前——可阻断危险操作

  • PostToolUse:工具执行后——可做自动检查、格式化或记录

MCP 集成

MCP(Model Context Protocol)让 Codex 可以连接外部工具和数据源。以 Supabase 为例,官方提供了 Codex 插件,包含:

  • MCP Server:远程连接 Supabase MCP 服务器,支持项目管理、SQL 执行、迁移等

  • Skills:来自 supabase/agent-skills 的 Agent 技能,如postgres-best-practices

安装方式(以阿里云 Supabase MCP 为例):

bash

codex mcp add aliyun-supabase \ -- npx -y @aliyun-supabase/mcp-server-supabase@latest

MCP 服务器兼容 Claude Code、Codex 以及任何符合 MCP 规范的 Agent 运行时。

八、安全实践:沙箱、审批与执行策略

一个问题:在 full-auto 模式下,AGENTS.md 的规则可能被忽略。

Codex 实际的安全机制是三层结构:

第一层:沙箱

Codex 使用操作系统级沙箱限制其可访问的资源。默认情况下,写权限限于当前工作区,网络默认关闭。.git和.codex目录即使在可写根目录下也始终为只读。

三种沙箱模式:

模式说明
read-only只读,最安全
workspace-write可写工作区(推荐默认)
danger-full-access完全访问,仅在受信环境使用

第二层:审批策略

三种审批级别:untrusted(不可信)、on-request(按需请求)、never(从不询问)。与沙箱模式可两两组合。不要把danger-full-access+never作为日常配置。

第三层:执行策略

Execution Policies 在沙箱之前评估,可以:

  • 允许安全命令免审批执行(allowlist)

  • 阻止危险命令执行(blocklist)

实践建议:默认使用workspace-write+on-request,在需要时通过/命令临时提权。AGENTS.md 里写规则有用,但它是提示层的约束,不是安全边界。真正的边界靠沙箱和审批。

九、Code Review 与 PR 自动化

Codex 可以集成到 GitHub 工作流中,实现自动代码审查:

  • 在 Codex 设置中开启 Code review 后,可以配置为自动审查每个新 PR,也可以在 PR 评论中通过@codex review手动触发

  • 审查完成后,通过@codex fix可以让它直接修改代码并推回分支

  • 也可以通过 Codex SDK 的 headless 模式,在 GitHub Actions、Jenkins 等 CI 中构建自定义的代码审查 Action

十、常用命令速查

分类命令说明
安装npm i -g @openai/codexnpm 安装
登录codex loginChatGPT 账号登录
登录printenv OPENAI_API_KEY | codex login --with-api-keyAPI Key 登录
启动codex交互式会话
一次性codex exec "任务"执行后退出
只读codex --sandbox read-only分析模式
恢复codex resume恢复上次会话
分叉codex fork --last分叉最近会话
会话内/diff查看改动
会话内/compact压缩上下文
会话内/review代码审查
会话内/model切换模型
会话内/status查看状态
MCPcodex mcp add <name>添加 MCP 服务器
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 4:43:21

软件开发合同避坑指南:从条款拆解到自动化排期与验收

简介&#xff1a;这份软件开发合同文档面向需要签订或参考软件委托开发协议的甲方客户、乙方开发团队及法务人员&#xff0c;用于规范会员积分制刷卡消费管理系统、公司宣传网站、微信公共服务平台、店铺零售结算系统等多模块项目的合作流程。资源包内含1个doc文件&#xff0c;…

作者头像 李华
网站建设 2026/10/18 4:37:57

智能体设计方法论:从PEAS模型到ReAct架构的工程实践

最近几年&#xff0c;做大模型应用的人越来越绕不开一个词&#xff1a;智能体&#xff08;Agent&#xff09;。我见过不少团队&#xff0c;LLM API接得贼溜&#xff0c;RAG流程也跑得通&#xff0c;但一问到“你的智能体是怎么设计的”&#xff0c;就支支吾吾说不出个所以然。问…

作者头像 李华
网站建设 2026/10/18 4:37:29

恶意代码检测平台实战:从需求分析到TensorFlow部署避坑指南

简介&#xff1a;资源包内含一套完整的本科毕业设计恶意代码检测分类平台项目&#xff0c;面向网络安全方向的高校毕业生和入门开发者&#xff0c;覆盖恶意样本收集、特征提取、自动分类与报告生成等核心环节&#xff0c;并提供了需求分析、用户角色划分、性能指标以及TensorFl…

作者头像 李华
网站建设 2026/10/18 4:37:09

VC6 GDI横版过关游戏源码解析:整图加载与碰撞检测实现

简介&#xff1a;基于Visual C与GDI实现的横版过关游戏完整源码&#xff0c;玩法与画面参考经典超级玛丽&#xff0c;面向毕业设计、项目实训等场景&#xff0c;适合需要掌握C面向对象特性&#xff08;类、继承、多态&#xff09;与Windows GDI图形编程的在校学生。资源共32个文…

作者头像 李华
网站建设 2026/10/18 4:36:19

campus-imaotai 实战教程:如何用 Docker 快速搭建 i茅台自动预约系统

campus-imaotai 实战教程&#xff1a;如何用 Docker 快速搭建 i茅台自动预约系统 【免费下载链接】campus-imaotai i茅台app自动预约&#xff0c;每日自动预约&#xff0c;支持docker一键部署&#xff08;本项目不提供成品&#xff0c;使用的是已淘汰的算法&#xff09; 项目…

作者头像 李华
网站建设 2026/10/18 4:34:30

从补习班到名校:韩国精英教育如何“制造”阶层?

1. 这个标题到底在说什么&#xff1a;从“译文”二字看韩国精英教育朋友把“Elite South Korean of an Elite Education”发给我的时候&#xff0c;她自己都笑了——这英文本身读着有点别扭&#xff0c;更像是先用中文想好了“精英教育下的韩国精英”再翻译回去的。但正是这种“…

作者头像 李华