Day 05 / 共 20 天 · 第 1 周 · 会用 + 建立心智
TUI 交互与 Slash 命令
终端界面结构、高频 /model /permissions /plan /skills、!shell 捷径。
📍 你在整门课的位置 · 第 1 周 · 会用 + 建立心智
D01 项目全景与目录地图→D02 安装、登录与第一次对话→D03 沙箱与审批→D04 CLI 子命令全家桶→D05 TUI 交互与 Slash 命令
L01
交互界面在干什么
消息区chatwidget
底部输入composer
弹层审批 / slash
footer状态
主目录:codex-rs/tui/src/——chatwidget.rs(编排)、bottom_pane/(输入)、slash_command.rs。
ratatui:Rust 终端 UI 库。Codex TUI 用它画布局,不是 Electron。
L02
高频 Slash 命令(用法)
| 命令 | 用途 |
|---|---|
/model | 切模型 |
/permissions | 审批 / 权限 |
/plan | 进入/围绕 Plan 协作模式 |
/skills | 技能 |
/mcp | MCP |
/review | 代码审查 |
/diff | 看变更 |
/compact | 压缩上下文 |
/new /resume /fork | 会话 |
/init | 生成项目 AGENTS.md |
/status /usage | 状态与用量 |
/quit | 退出 |
输入框前缀 ! 可直接跑用户 shell(走 Op::RunUserShellCommand 一类路径)。
L03
源码:枚举顺序 = 弹层展示顺序
codex-rs/tui/src/slash_command.rs 注释写明:不要按字母排序——枚举顺序就是 popup 展示顺序,高频靠前。
pub enum SlashCommand {
Model, Ide, Permissions, Keymap, Vim,
ElevateSandbox, // /setup-default-sandbox
// ... Skills, Review, Plan, Agent, Diff, Mcp ...
}L04
今日小结
✅ 会用 /model /permissions /plan /init;知道 slash 定义文件位置。