乐于分享
好东西不私藏

三大 AI 编程工具上手指南:Codex CLI / Claude Code CLI / Windsurf

三大 AI 编程工具上手指南:Codex CLI / Claude Code CLI / Windsurf

我们今天介绍三款AI工具: Codex CLI(OpenAI 官方终端 Agent)、 Claude Code CLI(Anthropic 项目级编码 Agent)、 Windsurf(Cognition 出品的 AI IDE)。

这三个工具的底层范式相同(LLM 推理 → 工具调用 → 用户审批),但在实现细节上,这三个工具在审批粒度、记忆机制、交互形态上等都有自己的特点。 本篇按“是什么?怎么安装?怎么使用?各自的局限是什么?”各个角度详细讲解。

1、三个工具速览

Codex CLI 和 Claude Code CLI 都是纯终端 REPL:在终端打 prompt,看 diff,按键审批。Windsurf 是桌面应用(基于 VS Code fork),但它装好后也提供 windsurf . 命令行入口,从这一点上勉强算半个 CLI 工具。

工具
厂商
包名 / 下载
形态
默认底层模型
Codex CLI
OpenAI
@openai/codex
(npm)
终端 REPL
GPT 系列
Claude Code CLI
Anthropic
@anthropic-ai/claude-code
(npm,v2 后推荐 native installer)
终端 REPL
Claude Sonnet / Opus
Windsurf
Codeium → Cognition(2025 收购)
codeium.com/windsurf 桌面安装包
AI IDE + CLI 入口
SWE-1.5 / Claude / GPT 可选

2、Codex CLI:OpenAI 官方终端 Agent

Codex CLI 是 OpenAI 在 2025 年开源的本地终端编码 Agent,包名 @openai/codex,仓库 openai/codex。设计目标是让 ChatGPT 的代码能力直接落地到本机终端,读取本地代码、提议改动、执行 shell 命令,每一步都走可配置的 approval 流程。

它复用 ChatGPT 订阅或 OpenAI API key,对已经付费 ChatGPT Plus/Pro 的开发者来说边际成本几乎为零。

2.1 codex的三种安装方式

# 方式 1:npm 全局安装(最常见)npm install -g @openai/codex# 方式 2:Homebrew(macOS)brew install codex# 方式 3:从 GitHub Releases 下载二进制# https://github.com/openai/codex/releases# 适合公司网络限制 npm 注册表的环境# 验证安装codex --version

三种方式选一种就行。公司网络代理复杂的话,brew 或 GitHub Releases 比 npm 更稳。

2.2 Codex CLI使用方式

# 进入项目目录cd ~/code/my-project# 启动 REPL,首次会引导登录codex

启动后有两条登录路径:

  • ChatGPT 登录(推荐):弹浏览器走 OAuth,绑已有的 ChatGPT 账号
  • API keyexport OPENAI_API_KEY=sk-...,或写入 ~/.codex/config.toml

进入 REPL 后直接打 prompt:

> Add a hello-world function to main.py and call it

Codex 会逐步提议动作("我想读 main.py"、"我想加一个函数"、"我想跑 python main.py"),每一步等用户在终端按 同意 或 拒绝 。

Codex CLI 启动画面:选择 ChatGPT OAuth 或 API key 登录

2.3 怎么用:approval 四种策略

Codex CLI 的特色是审批策略可调。共四种策略,通过 --ask-for-approval(简写 -a)切换。

策略
行为
适用场景
on-request
(默认)
sandbox 内自动执行,越界才提示
日常开发,平衡安全与效率
unless-trusted
始终提示,除非命中 execpolicy 规则
生产代码、敏感仓库
never
完全不提示(仍受 sandbox 限制)
CI、自动化、容器内
on-failure
先在 sandbox 跑,失败再提示
大概率成功的命令

Sandbox 模式是另一组开关,用 -s 控制:read-only(只读)、workspace-write(只能改当前工作区)、danger-full-access(任意访问,慎用)。两组开关组合使用:

# 完全自动模式:approval=never + sandbox=workspace-writecodex --full-auto# 极速危险模式:跳过所有审批和 sandbox# 仅推荐在容器、VM、一次性分支里使用codex --dangerously-bypass-approvals-and-sandbox

每次审批弹窗里有四个选项:[a] 接受这一次、[s] 本会话内同类请求都通过、[p] 写入 execpolicy 规则、[d] 拒绝。选 [p] 之后,规则会被记录到 .codex/execpolicy/ 目录,后续匹配自动放行。

2.4 解决什么 / 局限

解决
局限
纯终端工作流的开发者无需切换 IDE
项目级记忆较弱,没有 CLAUDE.md 这样的多层级机制
ChatGPT 用户零成本接入编码 Agent
遇到 OpenAI 限流时直接卡住,无降级方案
细粒度命令审批适合敏感代码库
execpolicy 学习曲线对个人用户偏陡
--full-auto
 模式适合 CI / 容器无人值守
配错 sandbox 模式后果严重

3、Claude Code CLI:Anthropic 项目级编码 Agent

Claude Code CLI 是 Anthropic 官方的终端编码 Agent,按需读取代码库文件,执行命令,编辑文件,并能管理 git 操作。最大特色是项目级记忆:通过 CLAUDE.md 文件让 Agent 跨会话保持对项目的认知。

包名 @anthropic-ai/claude-code。从 v2 开始官方推荐使用 native installer 而非 npm(npm 安装权限问题较多)。

3.1 Claude Code的四种安装路径

# 方式 1:原生安装器(官方推荐,零依赖,自动更新)curl -fsSL https://claude.ai/install.sh | bash# 方式 2:Homebrew(macOS)brew install --cask claude-code# 方式 3:Windows PowerShell(原生 Windows 支持)irm https://claude.ai/install.ps1 | iex# 方式 4:npm(自 v2.1.15 起官方标记为 deprecated,仅推荐用于 CI / 版本固定 / Node 工作流)# 启动时会显示黄色 deprecated 横幅npm install -g @anthropic-ai/claude-code# 验证claude --version

系统要求:

操作系统
最低版本
macOS
13+
Linux
Ubuntu 20.04+ / Debian 10+
Windows
10+(自 2025 年底起原生支持,推荐配 Git for Windows;WSL2 仅作可选回退)

⚠ npm 安装务必不要加 sudo。一旦用 sudo 装过,~/.npm 缓存归 root 所有,后续 npm install 全部失败。踩过这个坑的人不少,最快的恢复办法是删 ~/.npm 目录后用 nvm 重装 Node。

3.2 Claude Code CLI使用方式

# 进入项目目录后启动cd ~/code/my-projectclaude# REPL 内首次登录> /login   # 浏览器跳转 Anthropic OAuth# 或者在 shell 中预设 API keyexport ANTHROPIC_API_KEY=sk-ant-xxxclaude
Claude Code CLI 启动画面:自动识别项目根目录并提示生成 CLAUDE.md

首个任务建议照着官方"first day"指引走一遍:

> Tell me about this codebase. What's the entry point?> Find where users are authenticated.> Add a docstring to the function `parse_config` in src/config.py.

每一步 Claude 会主动读相关文件,给出结论或 diff,等用户确认。

3.3 CLAUDE.md 项目记忆

每次会话的 context window 都是空的。CLAUDE.md 是把项目知识固化下来的关键机制,Claude 在每次会话开始时自动读取。

CLAUDE.md 支持四个层级,加载顺序从广到窄(后者覆盖前者):

层级
路径
作用
Managed policy
macOS:/Library/Application Support/ClaudeCode/CLAUDE.md;Linux:/etc/claude-code/CLAUDE.md
组织级,IT 统一下发的合规规则
User
~/.claude/CLAUDE.md
个人偏好,所有项目共享
Project
./CLAUDE.md
 或 ./.claude/CLAUDE.md
团队共享,进版本控制
Local
./CLAUDE.local.md
个人项目级,加 .gitignore

进入项目后第一件事:

> /init# Claude 会扫描代码库,自动写一份 CLAUDE.md

生成的文件是 markdown 格式,长这样:

# Project: my-flask-app## Build- Python 3.11- Install: `pip install -r requirements.txt`- Test: `pytest tests/`## Conventions- Routes go in app.py- Always add type hints to function signatures- Tests use pytest fixtures from conftest.py## Architecture- /src: Flask application code- /tests: pytest test suite- /scripts: one-off scripts

什么时候应该往 CLAUDE.md 里加内容?三个信号:Claude 第二次犯同样的错;同一句更正在不同会话中重复输入;新同事加入也需要被告知同样的上下文。

3.4 核心 slash 命令

Slash 命令是 Claude Code 在 REPL 内的主要控制方式。下表是日常高频的几个:

命令
作用
/init
扫描项目生成 CLAUDE.md
/clear
清空当前会话上下文(CLAUDE.md 不受影响)
/compact
压缩历史消息释放 context window
/context
查看当前 context 占用百分比
/login
/logout
切换账号
/model
切换底层模型(Sonnet ↔ Opus)
/cost
查看本次会话的 token 花费
/resume
恢复上次中断的会话
/help
列出全部命令

文件改动前 Claude 总会展示 diff 并要求确认。三种审批模式用 Shift+Tab 循环切换:默认(每次都问)、Accept Edits(自动接受文件改动)、Plan(只给计划不动手)。

3.5 解决什么 / 局限

解决
局限
CLAUDE.md 把项目知识跨会话保持下来
底层模型仅限 Anthropic 体系(Sonnet / Opus)
多文件多步骤的真实改造(重构、加功能、修 bug)一次性完成
非常小的项目用 CLAUDE.md 反而显得重
与 git 深度集成,能按项目惯例写 commit message
npm 安装路径上的权限坑较多
Slash 命令体系成熟,/compact 能续命长会话
无 execpolicy 这种细粒度审批策略

4、Windsurf:AI IDE

Windsurf 不是纯命令行工具,而是基于 VS Code fork 的 AI IDE。早期由 Codeium 开发,2025 年 7 月被 Cognition(Devin 团队)收购,并整合了自有模型 SWE-1.5(与 Cerebras 合作部署,推理峰值 950 tok/s,约为 Claude Sonnet 4.5 的 13 倍速度)和 SWE-grep(代码检索专用)。当前 Cascade 模型菜单里还能看到更新的 SWE-1.6。

它也提供 CLI 入口:安装时勾选 "Add windsurf to PATH",之后 windsurf . 就能从终端打开当前目录。

核心组件叫 Cascade,是一个 Agent 子系统,能读懂整个仓库、跨文件改代码、跑终端命令、读 lint 输出。

4.1 Windsurf安装方式

下载页:codeium.com/windsurf。提供 macOS / Windows / Ubuntu / 其它 Linux 的桌面安装包。

操作系统
最低要求
macOS
OS X Yosemite 以上
Windows
Windows 10 以上
Ubuntu
20.04+(或 glibc ≥ 2.31)
其它 Linux
glibc ≥ 2.28,glibcxx ≥ 3.4.25

首次启动会引导导入 VS Code 或 Cursor 配置(包括快捷键、主题、扩展、设置),从这两款工具迁移过来基本零成本。

4.2 Windsurf使用:Cascade 双模式

打开 Cascade 的快捷键是 Cmd/Ctrl+L(Mac/Win 通用),或者点右上角 Cascade 图标。打开时如果编辑器或终端中有选中文本,会自动作为上下文注入。

Windsurf Cascade 面板:右侧对话区驱动,中间编辑器实时展示多文件 diff

Cascade 有两种模式。Code 模式直接修改代码库,可创建、编辑、删除文件,适合加功能、重构、修 bug 这类动手活;Chat 模式以解答问题为主,会建议代码片段供采纳,适合讨论方案、解释代码、查规范。

Chat 模式的一个隐藏好处:不消耗 flow action 配额。免费版用户碰到额度紧张时,把"问问题"类需求都丢给 Chat 模式能省不少。

4.3 Plans / Todo / Checkpoint

复杂任务下 Cascade 有三个独门机制:

机制
作用
触发方式
Plans
后台规划 Agent 维护长期计划,主模型按计划执行短期动作
复杂任务自动启用
Todo List
把任务拆成 checklist,进度可视化,可中途调整
Cascade 自动生成,可对话改
Named Checkpoint
给当前代码状态打快照,命名后可一键回滚
在对话中说"create a checkpoint named X"

队列消息(Queued Messages)也很实用:Cascade 还在执行时,可以继续输入下一条指令排队。空输入框按回车则立即发送当前队列。

4.4 怎么用:上下文与文件忽略

Cascade 默认会读整个仓库做上下文检索(这也是 SWE-grep 模型存在的原因)。要排除某些文件,用 .codeiumignore,语法和 .gitignore 完全一致:

# .codeiumignore# 排除大文件目录node_modules/dist/build/# 排除敏感配置.env.env.localsecrets/# 排除生成代码**/*.generated.ts__pycache__/

企业用户可以放全局忽略文件 ~/.codeium/.codeiumignore,对所有 Windsurf 工作区生效。

4.5 解决什么 / 局限

解决
局限
可视化 diff 在多文件改造时比终端 REPL 直观得多
2026 年 3 月起取消免费层级,自助起步 $20/月
Plans + Todo 让长任务的进度可追踪
扩展生态受限,不能装 VS Code Marketplace 的扩展
Linter 自动修复(lint 类工具调用通常免费)
作为桌面应用,远程开发场景不如纯 CLI 灵活
从 VS Code 或 Cursor 迁移零成本(一键导入设置)
计费模型在迭代(2026-03 已废除 flow action credits 改配额制)

5、三种工具对比

步骤
Codex CLI
Claude Code CLI
Windsurf
启动
cd project && codexcd project && claudewindsurf .
 后 Cmd+L
输入提示
"add /users/route + pytest test"
同左
同左(Code 模式)
上下文准备
提议读 app.pytests/,逐次审批
自动读 CLAUDE.md,按规范行动
Cascade 后台 SWE-grep 检索全仓库
改文件
提议 diff app.py → 审批;提议建 test_users.py → 审批
一次性输出多个 diff,Shift+Tab 切 Accept Edits 模式
编辑器内多文件 diff 高亮,全部接受或逐文件接受
跑测试
提议 pytest 命令 → 审批 → 看结果
自动跑 pytest,输出结果
Cascade 自动执行,失败的话顺手修 lint
收尾
用户手动 git add / commit
Claude 主动建议 git commit 并写 message
Cascade 创建 Named Checkpoint,可回滚
三工具六维特征对比:每个工具都有清晰的强项与弱项,没有"全能选手"

小结

三个工具的核心定位再压缩一遍:Codex CLI 是细粒度审批的终端 Agent,适合 ChatGPT 用户和 CI 场景;Claude Code CLI 是带项目记忆的终端 Agent,适合多步骤改造和团队协作;Windsurf 是 IDE 形态的 AI 编辑器,适合可视化诉求强的多文件改造。三者底层范式相同,差异在审批粒度和记忆机制上。

点个关注呗~