Appearance
Codex 使用教程
配置完成后,本文介绍如何使用 Codex CLI 进行日常开发。
基本用法
简单对话
bash
codex "你好"多行输入
bash
codex "
创建一个 React 项目:
- 使用 TypeScript
- 集成 Tailwind CSS
- 包含路由配置
"交互模式
bash
codex进入交互模式后,可以连续对话。输入 exit 或按 Ctrl+D 退出。
文件操作
读取文件
bash
codex "审查 src/main.ts 的代码质量"Codex 会自动读取文件内容并分析。
批量操作
bash
codex "分析 src/*.ts 中的性能问题"创建文件
bash
codex "创建一个 utils/validator.ts 文件,包含邮箱和手机号验证函数"项目级操作
创建完整项目
bash
codex "创建一个 Express + TypeScript 的 REST API 项目,包含用户认证"Codex 会:
- 创建项目目录结构
- 生成配置文件(tsconfig.json, package.json 等)
- 编写核心代码
- 添加测试
- 生成 README
添加新功能
bash
codex "在当前项目中添加 Redis 缓存支持"生成测试
bash
codex "为整个项目生成单元测试"常见使用场景
1. 代码生成
bash
codex "用 Python 写一个爬虫,抓取某网站的文章标题"2. Bug 修复
bash
codex "修复这个错误:TypeError: Cannot read property 'map' of undefined"或直接展示代码:
bash
codex "
这段代码有问题:
\`\`\`javascript
function UserList({ users }) {
return users.map(user => <div>{user.name}</div>)
}
\`\`\`
"3. 代码重构
bash
codex "将 src/legacy.js 重构为现代 ES6+ 代码"4. 单元测试
bash
codex "为 utils/math.js 生成 Jest 测试用例"5. 文档生成
bash
codex "为整个项目生成 API 文档(Swagger/OpenAPI 格式)"6. Git 操作
bash
# 提交代码
codex "提交当前更改,commit message 要描述性强"
# 创建 PR
codex "创建一个 Pull Request,修复用户登录 bug"
# 查看差异
codex "解释这次 git diff 的变更内容"7. 依赖管理
bash
codex "更新项目依赖到最新版本,检查兼容性"8. 性能优化
bash
codex "分析并优化项目的性能瓶颈"高级功能
指定模型
bash
# 使用 GPT-4(复杂任务)
codex --model gpt-4 "设计一个微服务架构"
# 使用 GPT-3.5(简单任务)
codex --model gpt-3.5-turbo "生成一个函数"
# 使用 Claude 3.5 Sonnet(代码分析)
codex --model claude-3-5-sonnet-20241022 "审查代码质量"沙箱模式
Codex 支持安全的沙箱模式执行命令:
bash
# 允许 Codex 执行命令
codex "运行测试并修复失败的用例"
# Codex 会:
# 1. 执行 npm test
# 2. 分析错误
# 3. 修改代码
# 4. 重新运行测试并行任务
bash
codex "同时为所有组件生成测试"Codex 会并行处理多个文件。
项目上下文
Codex 会自动理解项目结构:
bash
# Codex 会分析 package.json、tsconfig.json 等
codex "添加一个新的 API 端点"工作流示例
完整功能开发
bash
# 1. 创建功能分支
codex "创建 feature/user-profile 分支"
# 2. 设计数据模型
codex "设计用户资料的数据库表结构"
# 3. 生成代码
codex "实现用户资料的 CRUD 操作"
# 4. 添加测试
codex "为用户资料功能生成测试"
# 5. 代码审查
codex "审查用户资料相关代码"
# 6. 创建 PR
codex "创建 PR,添加用户资料功能"Bug 修复流程
bash
# 1. 重现 Bug
codex "如何重现 issue #123?"
# 2. 定位问题
codex "分析 error.log,找出根本原因"
# 3. 修复代码
codex "修复这个 bug"
# 4. 添加测试
codex "添加测试防止这个 bug 再次出现"
# 5. 提交
codex "提交修复,关联 issue #123"代码审查
bash
# 审查 PR
codex "审查 PR #42 的代码变更"
# 优化建议
codex "给出代码优化建议"
# 安全检查
codex "检查是否有安全漏洞"最佳实践
1. 清晰的问题描述
❌ 不好的提问:
bash
codex "代码有问题"✅ 好的提问:
bash
codex "
React 组件在 props 更新时没有重新渲染,代码如下:
\`\`\`jsx
function UserProfile({ userId }) {
const [user, setUser] = useState(null);
useEffect(() => {
fetchUser(userId).then(setUser);
}, []);
return <div>{user?.name}</div>;
}
\`\`\`
可能是什么原因?如何修复?
"2. 提供上下文
bash
codex "
项目:Next.js 14 + TypeScript + Prisma
目标:添加用户认证
要求:
- 使用 NextAuth.js
- 支持邮箱/密码登录
- 支持 Google OAuth
- JWT token
请帮我实现
"3. 逐步细化
bash
# 第一步:概要设计
codex "设计一个博客系统的架构"
# 第二步:细化模块
codex "详细设计文章管理模块"
# 第三步:生成代码
codex "实现文章 CRUD 功能"4. 利用历史对话
在交互模式中,Codex 会记住对话历史:
bash
codex # 进入交互模式
> 什么是闭包?
[Codex 解释闭包]
> 给我一个实际例子
[Codex 提供例子]
> 在 React 中如何应用?
[Codex 解释 React 中的应用]5. 验证生成的代码
bash
# 让 Codex 自己测试
codex "
生成的代码:
[粘贴代码]
请:
1. 运行测试
2. 检查是否有 lint 错误
3. 修复发现的问题
"效率技巧
1. 创建别名
在 shell 配置中添加:
bash
# ~/.bashrc 或 ~/.zshrc
alias cx='codex'
alias cxg='codex --model gpt-4'
alias cxc='codex --model claude-3-5-sonnet-20241022'使用:
bash
cx "快速提问"
cxg "使用 GPT-4"
cxc "使用 Claude"2. 使用脚本
创建常用任务脚本 codex-review.sh:
bash
#!/bin/bash
codex "
审查以下文件的代码质量:
- 代码风格
- 潜在 bug
- 性能问题
- 安全隐患
- 改进建议
文件:$1
"使用:
bash
chmod +x codex-review.sh
./codex-review.sh src/main.ts3. 管道输入
bash
# 从文件读取
cat error.log | codex "分析这些错误"
# 从 git 输出
git diff | codex "审查代码变更"
# 从命令输出
npm test 2>&1 | codex "修复测试失败"查看使用统计
在 MYY 中转站控制台:
- 进入 日志管理
- 筛选 Codex 对应的令牌
- 查看:
- Token 消耗
- 费用统计
- 请求历史
- 使用趋势
费用优化
1. 选择合适的模型
| 任务类型 | 推荐模型 | 原因 |
|---|---|---|
| 简单代码补全 | gpt-3.5-turbo | 快速便宜 |
| 复杂架构设计 | gpt-4 | 推理能力强 |
| 代码分析审查 | claude-3-5-sonnet | 理解力强 |
| 项目搭建 | gpt-4 | 全面准确 |
2. 限制上下文
bash
# 只包含相关文件
codex "只分析 src/components/ 下的文件"
# 而不是
codex "分析整个项目" # 会消耗大量 Token3. 定期清理历史
退出交互模式会清空历史,减少 Token 消耗。
常见问题
详见 Codex 常见问题
下一步
- 常见问题 - Codex 使用中的常见问题
- Claude Code 教程 - 了解另一个强大的 AI 编程工具