Skip to content

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 会:

  1. 创建项目目录结构
  2. 生成配置文件(tsconfig.json, package.json 等)
  3. 编写核心代码
  4. 添加测试
  5. 生成 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.ts

3. 管道输入

bash
# 从文件读取
cat error.log | codex "分析这些错误"

# 从 git 输出
git diff | codex "审查代码变更"

# 从命令输出
npm test 2>&1 | codex "修复测试失败"

查看使用统计

在 MYY 中转站控制台:

  1. 进入 日志管理
  2. 筛选 Codex 对应的令牌
  3. 查看:
    • Token 消耗
    • 费用统计
    • 请求历史
    • 使用趋势

费用优化

1. 选择合适的模型

任务类型推荐模型原因
简单代码补全gpt-3.5-turbo快速便宜
复杂架构设计gpt-4推理能力强
代码分析审查claude-3-5-sonnet理解力强
项目搭建gpt-4全面准确

2. 限制上下文

bash
# 只包含相关文件
codex "只分析 src/components/ 下的文件"

# 而不是
codex "分析整个项目"  # 会消耗大量 Token

3. 定期清理历史

退出交互模式会清空历史,减少 Token 消耗。

常见问题

详见 Codex 常见问题

下一步

MYY中转站 - 让 AI 工具更易用