Day 01 / 共 20 天 · 第 1 周 · 会用 + 建立心智
项目全景与目录地图
Codex CLI 是什么、和桌面端/IDE 的边界、仓库顶层与 codex-rs 关键 crate。
📍 你在整门课的位置 · 第 1 周 · 会用 + 建立心智
D01 项目全景与目录地图→D02 安装、登录与第一次对话→D03 沙箱与审批→D04 CLI 子命令全家桶→D05 TUI 交互与 Slash 命令
L01
Codex CLI 是什么
🤔 痛点想在终端里让 AI 读仓库、改代码、跑测试,还要能脚本化进 CI——浏览器聊天框不够用。
💡 本质OpenAI 开源的本地编码 Agent CLI:交互模式是 TUI,非交互是
codex exec,核心逻辑在 Rust 工作区 codex-rs/。🍼 一句话你在终端说人话 → 模型决定调哪些工具(读文件/跑 shell/打补丁)→ 沙箱里执行 → 结果喂回模型,直到任务完成。
仓库 README:README.md · 官方文档 developers.openai.com/codex
L02
和桌面端 / IDE 的边界
| 形态 | 本仓库? | 适合 |
|---|---|---|
| Codex CLI(本教程) | ✅ 主体 | 终端、脚本、CI |
| ChatGPT Desktop / Codex 模式 | ❌ UI 不在仓内;CLI 有 codex app 拉起 | 本地项目 GUI、预览 |
| IDE 扩展 | ❌;靠 codex app-server | 编辑器内联 |
| Codex Web | ❌ | 云端任务 |
关键:桌面/IDE 与 CLI 共用
codex-core + app-server 协议;本仓开源的是 CLI 与服务端,不是 Electron/桌面 UI。已有桌面端教程:Codex 桌面端使用教程。
L03
仓库顶层目录
| 路径 | 角色 |
|---|---|
| codex-cli/ | npm 包 @openai/codex:Node 薄包装,spawn 平台原生二进制 |
| codex-rs/ | ★ Rust workspace:几乎全部产品逻辑;二进制名 codex |
| sdk/ | TypeScript / Python SDK,脚本化驱动 CLI |
| docs/ | 贡献者/安装说明;多数用法指向官网 |
| AGENTS.md | 本仓库给 Agent 的工程约定(读源码时必看) |
| .codex/skills/ | 仓库级 Skills |
心智模型:
npm i -g @openai/codex 装的是发射器;真正干活的是 codex-rs 编出来的原生 codex。L04
codex-rs 关键 crate 地图
cli
二进制入口 MultitoolCli,子命令分发。Day 04/06
tui
ratatui 交互界面、slash、composer。Day 05
core
会话、turn、工具、配置胶水——大脑。Day 08/11
protocol
Op / Event / SandboxMode 共享类型。Day 07
app-server
JSON-RPC:TUI/exec/IDE 共用控制面。Day 07/19
exec
非交互 runner + JSONL。Day 17
login / config
认证与分层配置。Day 09/10
apply-patch · sandbox · mcp
补丁、沙箱、MCP。Day 12/13
坑crate 一百多个,别按字母表扫。先抓 cli → tui/exec → app-server → core → protocol 这条链。
L05
Agent 循环心智图
先把圈刻进脑子(细节 Day 08):
① 输入TUI / exec
② app-serverturn/start
③ coresubmit(Op)
④ 模型Responses API
⑤ 工具shell/patch/MCP
⑥ 沙箱Seatbelt/bwrap
⑦ 回填下一轮
› 修一下 README 里过期的安装命令,并跑相关检查
● 我先读 README 和 docs/install.md…
⎿ shell(rg …) ⎿ apply_patch ✓ 已更新两处链接
读源顺序(后面 19 天都按这个走)
①
cli/src/main.rs 看命令怎么进 →
② protocol::Op 看动词表 →
③ session/turn.rs::run_turn 看主循环 →
④ tools/handlers/ 看手脚 →
⑤ exec/ 与 app-server/ 看非交互与 IDE 复用。
L06
今日小结 + 动手
✅ 能回答:CLI 是什么;和桌面端边界;顶层目录;8 个关键 crate;一次任务的七步环。
# 假设你已 clone openai/codex
cd /path/to/codex
ls -la
ls codex-rs | head -40
head -40 README.md
head -30 AGENTS.md
ls codex-cli/bin/
sed -n '100,212p' codex-rs/cli/src/main.rs # MultitoolCli + Subcommand
明天:真正装起来、登录、完成第一次交互对话。