坦白说,我第一次看到 Claude Code 的安装界面时也有点头大:没有图形安装向导,没有“下一步下一步”,全靠一行命令和一个黑乎乎的终端。但真正上手之后我才发现,它的安装门槛并没有想象中高,网上铺天盖地的“报错求助”其实大多集中在几个固定坑点上,比如 PowerShell 权限、Node 版本、模型名配置错误。这篇文章我就以自己实际操作的完整过程为线索,从零开始带你装一遍 Claude Code,顺便把搜索热度最高的几个踩坑点全部拆开讲清楚。
你不需要有很强的命令行基础,只要照着步骤来,大概率能一次跑通。我会覆盖最常见的三种玩法:官方订阅账号登录、API Key 计费、以及接入 DeepSeek、Ollama 本地模型这类“民间方案”。如果你是第一次装,我建议按顺序看完前 3 章再动手,后面几章是扩展和排障,遇到了再翻也可以。
1. Claude Code 是什么?先搞清楚它解决什么问题
1.1 核心定位:一个跑在终端里的 AI 编程助手
Claude Code 是 Anthropic 出品的命令行编程代理(agent),它不是普通聊天机器人,而是直接跑在你项目目录里的“同事”。你打开终端,进入项目文件夹,输入claude,它会自动读取项目结构、分析代码、执行命令、修改文件,甚至帮你跑测试和提交。和网页版 Claude 的最大区别在于:它拥有对本机的操作权限,能真正参与开发流程,而不是只能给你贴代码片段。
很多第一次接触的人会混淆它和“Claude 聊天网页”的关系。网页版是对话框,你一段我一段;Claude Code 更像是给你一个终端,你可以直接说“帮我把登录模块的报错修了”,它自己会定位文件、查日志、改代码、跑验证,这套流程在 agent 类工具里属于比较成熟的形态。由于它面向开发者,所以对项目上下文的管理、多文件修改、长任务规划都做了专门优化,这也是它近期热度高涨的直接原因。
1.2 三种使用方式,先想清楚再装
在动手之前,你最好先确定自己用哪种方式连接 Claude,因为不同方式对应的配置路径完全不一样:
- 官方订阅账号登录:如果你有 Claude 付费订阅,直接用 OAuth 登录,CLI 会打开浏览器让你授权,几乎不用配置环境变量,打开就能用,缺点是额度会受到订阅套餐限制。
- API Key 计费:在 Anthropic 控制台生成 Key,按 token 量计费,适合用量可控、想精细化掌控成本的开发者和团队,也方便写脚本批量调用。
- 第三方模型或本地模型接入:通过环境变量把 Claude Code 的请求地址改到兼容接口,比如 DeepSeek、GLM、Ollama 本地模型等。这种玩法的本质是“借 Claude Code 的壳,跑别的模型”,成本低、数据可控,但 agent 的规划能力会受限于底层模型。
我自己的建议是:想体验完整能力,优先走订阅账号;想控制预算或者做测试,用 API Key;如果你人在国内或者对数据隐私敏感,第三方模型和本地模型是更实在的选择。这篇文章后面 5、6 两章会专门讲后两种玩法。
2. 环境检查:安装前这几步别偷懒
2.1 Node.js 版本与 npm 依赖
Claude Code 官方推荐通过 npm 安装,这意味着你的电脑上必须有一个可用的 Node.js 环境。这里强调一下版本:建议 Node.js 18 以上,我实际用下来更推荐 20 LTS 或更高版本,因为老版本在启动和交互上偶尔会出现兼容性问题。
先打开终端,依次执行下面两条命令确认环境:
node -v npm -v如果能输出版本号,比如v20.11.0和10.2.4,说明 Node 环境没问题。如果提示node: command not found,那你需要先去 Node 官网下载安装包,或者用nvm这类版本管理器安装。我个人在 Mac 上习惯用nvm,好处是以后切换 Node 版本非常方便,不同项目要求不同版本时不用反复卸载重装。
另外提醒一句:如果你的 Node 是老版本,比如 16 以下,建议先升级再继续,否则装完之后运行claude大概率会报语法错误或者直接闪退,这个坑在不少 Windows 用户的求助帖里出现过。
2.2 终端选择:Windows、Mac、Linux 分别怎么准备
Mac 和 Linux 用户基本没有额外负担,自带的终端直接能用。Windows 用户就要谨慎选择了。我强烈建议优先使用 WSL(Windows Subsystem for Linux),也就是 Windows 自带的 Linux 子系统,因为 Claude Code 的很多底层操作是按类 Unix 环境设计的,在 WSL 里跑得最顺畅,文件路径、权限模型、shell 脚本都不容易出幺蛾子。
如果你不想装 WSL,坚持用原生 Windows 也可以,但有几个前提:终端别用老的 cmd,最好用 Windows Terminal;PowerShell 执行策略可能挡住脚本,需要在管理员模式下放开权限;文件路径尽量别带中文和空格,否则某些工具解析会出问题。后面第 7 章我会专门讲 PowerShell 安装报错的完整排查过程。
Mac 用户补充一个小点:如果你是从官网下载的安装包而不是通过 npm,首次运行可能被 Gatekeeper 拦截,提示“无法验证开发者”之类的错误。右击图标选择“打开”,或者在终端执行sudo xattr -dr com.apple.quarantine /路径/文件就能绕过,这个操作只针对下载的单个文件,不影响系统安全。
2.3 账户与凭证:订阅账号还是 API Key
这一步决定了你验证“我是谁”,必须先准备好才能登录验证。
- 如果你走订阅账号路线:确认你的 Claude 账号是正常付费状态,不要等到登录之后才发现套餐失效。
- 如果你走 API Key 路线:去 Anthropic 控制台创建一个 API Key,创建后立刻复制保存,因为很多平台只显示一次,你关闭页面就再也看不到了。
- 如果你走第三方模型路线:不要折腾 Anthropic 的 Key,直接去对应的模型服务商创建 token 就行。
准备过程中最容易踩的坑是“拿着网页版的登录状态去填 API Key”,两者是完全不同的东西:网页账号走 OAuth 授权,API Key 是一串独立的密钥字符串。这篇教程里,默认路径是订阅账号 OAuth,同时我会把 API Key 配置方式穿插着讲,你按自己的情况选一条走即可。
3. 保姆级安装:从零把 Claude Code 跑起来
3.1 npm 安装主程序(含换源建议)
确认 Node 环境没问题之后,直接在终端执行:
npm install -g @anthropic-ai/claude-code-g表示全局安装,这样你可以在任意目录直接使用claude命令。这个安装过程会持续几十秒到几分钟,取决于你的网络状况。如果你发现下载特别慢或者一直卡住,大概率是 npm 官方源在国内访问不稳定,可以临时切换到淘宝镜像源:
npm config set registry https://registry.npmmirror.com设置完之后重新执行安装命令,速度会明显提升。等命令执行完成,输入:
claude --version如果能输出版本号,比如1.0.x,主程序就装好了。这里有个容易让新手误会的点:claude --version成功不代表“登录成功”,它只代表安装包完整、可执行,真正的身份验证在下一步。
3.2 登录认证与目录授权
安装完成后的第一次启动,记得先进入一个你想要让 AI 工作的项目目录,比如:
cd ~/my-project claude第一次运行会进入登录流程。如果你是订阅账号路线,CLI 会显示一个授权链接,并且自动打开浏览器让你确认登录;浏览器里确认之后,终端会提示你登录成功,然后 Claude Code 开始扫描当前目录。扫描时它会请求“读取这个目录的文件并执行命令”的权限,这一步要选允许,否则后续所有操作都会半途而废。
如果你是 API Key 路线,不用走浏览器授权,直接设置环境变量即可。在终端里执行:
export ANTHROPIC_API_KEY="sk-ant-你的key"然后再次运行claude。在 Linux 和 macOS 上,这类环境变量只对当前终端窗口生效,关掉窗口就失效了,建议你自己判断是否需要写进~/.zshrc或~/.bashrc来做持久化。API Key 模式的好处是计费清晰、不占用订阅的并发额度,坏处是省不省心完全取决于你对 Key 的管理是否规范,不要把 Key 直接提交到 Git 仓库里。
3.3 安装后快速验证
登录完成之后,终端会出现一个交互式的输入框。我建议你第一次先别急着让它修代码,做一个最简单的测试:输入“用一句话介绍这个项目的目录结构”。
如果它能正常读取目录并给出结构化回答,说明安装和授权全部链路畅通。如果它回答得模棱两可,先别怀疑安装过程,大概率是当前目录太乱或者根本没有可分析的代码,换一个有实际代码的目录再试一次。这个验证步骤能帮你把“安装问题”和“项目问题”快速隔离,后续遇到奇怪现象时,第一条自查就是换一个干净目录跑一遍,看看是不是项目本身的问题。
3.4 “桌面版”到底是怎么回事
不少人在搜索栏里看到“Claude Code 桌面版”或者“Claude Code Desktop”,误以为官方发布了一个独立的图形客户端。这里澄清一下:截至我写这篇内容,Claude Code 的核心形态仍然是命令行工具,市面上流传的“桌面版”多数是第三方套壳,本质是给终端套了一层界面,或者直接把 VS Code 当作界面来用。
我的建议是没必要为了“好看的界面”去装第三方客户端,直接掌握命令行,再装一个 VS Code 集成,体验已经很好。命令行本身也不是什么可怕的东西,常用命令就那几个:claude启动、/exit退出、/resume恢复历史会话、/model切换模型。第 4 章我会专门讲怎么在 VS Code 里用得顺手。
4. VS Code 配置:把 Claude Code 搬进编辑器
4.1 VS Code 里的正确打开方式
Claude Code 最常用的“图形界面”其实就是 VS Code 加一个集成终端。你不用单独装什么神秘插件,在 VS Code 里按Ctrl + \`` 打开终端,然后进入项目目录敲claude` 就能开始。Claude Code 最大的优势之一是它能共享 VS Code 的文件树和 Git 面板,改完代码右侧的 diff 立刻就能看到,体验很像在 IDE 里装了一个“能动手改文件的助手”。
如果你需要更完整的可视化体验,可以安装 VS Code 官方扩展“Claude Code for VS Code”。装好之后,左侧会多出一个 Claude Code 面板,你可以在里面直接登录、查看任务列表、打开对话框,不用再手工敲命令。这个扩展实际上是包了一层 UI,底层的执行引擎仍然是 CLI,所以有经验的用户通常还是直接开终端,无非就是习惯问题。
4.2 我推荐的编辑器配置
如果你决定长期用 VS Code 跑 Claude Code,我建议做三件事。第一,在 VS Code 的设置里把集成终端的默认 profile 设为 bash(Windows 下如果装了 Git Bash 就用 Git Bash;macOS 自带 bash 或 zsh),避免每次打开都掉进 PowerShell 的权限坑里。第二,给终端设置一个支持中文的字体,Windows 下推荐“Cascadia Code”或“微软雅黑”,否则输出中文时可能出现间距错乱或者方块字。第三,建立一个统一的工作目录,所有测试项目都放在纯英文路径下,比如D:\dev\sandbox或~/dev/sandbox,减少不必要的兼容性问题。
设置集成终端默认 profile 的路径并不复杂:打开设置搜索terminal.integrated.defaultProfile.windows,选择你要的终端类型即可。这一步做好以后,后续每次 `Ctrl + `` 打开的都是你熟悉的 Bash 环境,命令粘贴执行失败的概率会明显降低。
4.3 新手容易踩的三个坑
第一个坑是“在 VS Code 里打开了终端,但用的还是系统默认 PowerShell”,导致执行claude时被脚本策略拦截。解决办法就是上面说的,先改集成终端的默认 profile,再去跑命令。
第二个坑是“带中文文件名或特殊字符路径”。绝大多数情况下 Claude Code 能处理,但我在处理某些项目时遇到过读取文件失败、搜索器报错的情况,换成英文路径后一切正常。这不是 Claude Code 的问题,而是底层命令工具对 Unicode 路径的兼容问题,项目里尽量不要创造这种变量。
第三个坑是“老版本扩展和新版本 CLI 不兼容”。如果你安装了 VS Code 扩展,但运行时报版本相关错误,先把扩展更新到最新版,再去扩展市场看看有没有对应的版本说明。有时候你本地的 CLI 是旧版,而扩展已经升级到新版,两边协议对不上,这时候执行npm install -g @anthropic-ai/claude-code重新装一遍 CLI 就能解决。
5. 接本地模型:Ollama + cc-switch 的实战玩法
5.1 cc-switch 是什么,解决什么问题
cc-switch 是一个开源的 Claude Code 配置切换工具,主要解决的是“频繁切换模型提供商配置”的痛点。Claude Code 原生配置在~/.claude/settings.json和环境变量里,你如果一会儿要用官方 API,一会儿要用本地 Ollama,一会儿又切到 DeepSeek,手工改配置特别容易出错,改完还得重启终端才能生效。
cc-switch 就是一个可视化的“配置总开关”,你在里面维护好几套 provider 配置,把切换动作简化成点一下按钮。我推荐它的理由很简单:省心、直观、不容易把配置改坏。如果你同时玩多个模型服务商,这个工具几乎可以算是必备品。
5.2 本地模型接入:协议转换与实际配置
先明确一个关键前提:Ollama 默认提供的是 OpenAI 兼容接口,而 Claude Code 原生走的是 Anthropic Messages API,这两种协议格式不一样。因此,把 Claude Code 接到本地 Ollama,不是“配置一个地址”就完事,中间通常需要一层协议转换,让 Claude Code 把消息发给一个兼容层,再由兼容层转发给 Ollama。
社区里常见的做法是借助开源路由工具,比如 claude-code-router 之类的中间件。配置思路是这样的:
- 安装并启动 Ollama,拉取一个你需要的代码模型,例如
qwen2.5-coder或者deepseek-coder-v2。 - 启动一个本地协议转换服务,监听某个端口。
- 让 Claude Code 通过环境变量指向这个服务:
export ANTHROPIC_BASE_URL="http://localhost:你的端口" export ANTHROPIC_AUTH_TOKEN="local-test-token" export ANTHROPIC_MODEL="qwen2.5-coder" claude然后,你可以在 cc-switch 里维护两套配置:一套指向 Anthropic 官方 API,一套指向本地 localhost 服务,切换时只需要在应用里点一下,不需要每次改环境变量。这种方式非常适合离线环境、内网开发或者对数据隐私要求较高的场景。
5.3 切换配置时最容易翻车的地方
本地模型接入的踩坑率非常高,我把最常见的几个问题列出来。第一,模型名必须和服务端实际可用名称完全一致;很多人会在/model里写一个 Ollama 里不存在的名字,结果系统一直报“model not found”。第二,请求地址不要多写斜杠或者写错端口,Claude Code 这个版本对地址格式比较敏感。第三,本地模型的能力确实有限,Claude Code 的 agent 规划能力很大程度上来自底层模型,如果换了个参数量较小的模型,你会发现在跨文件修改、长任务执行时明显变弱,这不是安装问题,是模型能力的客观差距。
我给一个经验判断:本地模型适合做代码补全、单文件 bug 修复、简单脚本生成这类任务;如果你要做跨模块重构、理解大型遗留项目,老老实实回官方 API。不要为了省钱把一个刚需的重构任务交给小模型,来回折腾的时间成本早就超过了那点 API 费用。
6. 接第三方云端模型:DeepSeek 这类 API 怎么顶班
6.1 改环境变量就能换模型
第三方模型接入本质上是“给 Claude Code 换一个后端”,原理很简单:Claude Code 本身支持通过环境变量覆盖 API 地址和鉴权信息,所以只要目标模型服务商提供 Anthropic 兼容接口,就能无缝接上。
以 DeepSeek 为例,大致的配置是这样的:
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic" export ANTHROPIC_AUTH_TOKEN="你的DeepSeekToken" export ANTHROPIC_MODEL="deepseek-chat" export ANTHROPIC_SMALL_FAST_MODEL="deepseek-chat"设置完这些变量后,再运行claude,请求就会发往 DeepSeek 的兼容端点,而不是 Anthropic 官方。不同服务商的端点路径有差异,具体以你所用平台的 API 文档为准,但整体套路是一致的。你甚至可以拿这个思路接其他兼容 Anthropic 协议的模型,不少第三方中转平台也都是这么干的。
6.2 配置后必须确认的三件事
第一件事,确认模型名。很多类似“glm-5.2 is not a model this version of claude code recognizes”的报错,根源就是ANTHROPIC_MODEL或者/model里填了不存在的模型名。Claude Code 启动时会校验模型名是否在它的认知范围内,除非你绕过校验或者正确使用兼容模式,否则它会直接拒绝。接第三方模型时,一定要先查清服务商给的模型标识符,不要想当然填一个“claude-3.5-sonnet”进去,那样大概率会报错。
第二件事,观察请求是否真的打到了目标服务商。登录第三方控制台看实时用量即可,如果配置错了还走官方 API,你可能稀里糊涂被扣了官方费用,自己却完全没察觉。
第三件事,注意ANTHROPIC_SMALL_FAST_MODEL这个变量。Claude Code 在做标题生成、命令总结这类小任务时会调用“快速模型”,如果你只设置了主模型,没设置快速模型,可能会导致部分小功能异常或者绕回官方,接第三方时一定要把两个模型都指过去。
6.3 省成本 vs 能力衰减的心态
第三方模型最大的吸引力是便宜和方便,但代价是 agent 能力通常弱于官方 Claude 模型。我的使用习惯是“脏活、累活、高并发的活”丢给第三方廉价模型,比如批量脚本生成、注释补全、简单 bug 定位;而需要深度理解代码逻辑、跨文件重构、架构调整这类关键任务,还是用官方模型集中处理。
这种混合策略长期看是比较省钱的,但注意别陷入“只看单价”的误区。模型能力弱导致来回试错多轮,最终消耗的 token 量可能反而不便宜,浪费的时间更是不划算。建议你先在一个小项目上对比一下两边的输出质量,再做分配决策。
7. 常见问题排查实录与避坑手册
7.1 高频报错速查表
我把搜索热度较高的报错整理成一张速查表,方便你直接对照处理。
| 症状 | 大概率原因 | 直接解决办法 |
|---|---|---|
claude不是内部或外部命令 | npm 全局目录没加入 PATH | 重新安装 Node 或手动把 npm 全局目录加入 PATH |
| PowerShell 提示“禁止运行脚本” | 执行策略限制 | 管理员 PowerShell 执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser |
| 登录时报 403 | 账户状态、网络链路或系统时间异常 | 先同步系统时间,再确认订阅状态,最后重新/login |
| model not found | 模型名不对 | 用/model切换或检查ANTHROPIC_MODEL环境变量 |
| 输出中文乱码 | 终端编码/字体不对 | Windows 终端执行chcp 65001,更换支持中文的字体 |
| 已到用量限制 | 订阅配额耗尽或触发了 50% 限制 | 等待配额重置,或改用 API Key 模式继续工作 |
| 找不到历史会话 | 用了错误的恢复命令 | 用/resume列出所有会话,或claude --continue继续上一次 |
表格里覆盖的是最高频的问题,下面我挑几个典型场景做完整排查演示。
7.2 完整排查链路:PowerShell 安装报错
PowerShell 报错一直是 Windows 用户搜索量最大的问题,我把完整排查链路写一遍。
第一步,检查 Node 是否安装成功。在 PowerShell 里执行node -v和npm -v,如果第一条就无法识别,说明 Node 本身没装好,这不是 Claude Code 的锅,重新装 Node 即可。
第二步,检查执行策略。如果执行npm install -g @anthropic-ai/claude-code时报“禁止运行脚本”或“因为在此系统上禁止运行脚本”之类的内容,用管理员身份打开 PowerShell,执行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser回车之后输入Y确认。这个操作只是允许本地创建的脚本运行,并不会降低系统的整体安全性。
第三步,确认 npm 全局目录是否在 PATH 里。如果安装过程没有报错,但执行claude时提示“不是内部或外部命令”,那说明 npm 的全局目录没有出现在系统环境变量中。最常见的做法是重新安装 Node 时勾选“Add to PATH”,或者在系统环境变量里手动加上%APPDATA%\npm,然后重启终端再试。
第四步,如果以上全都不行,直接上 WSL。用wsl --install安装 Ubuntu,然后在 Ubuntu 终端里重新走一遍 Node 安装和 Claude Code 安装流程。WSL 环境下的安装成功率要远高于原生 Windows,不是说你不能跑通原生环境,而是 WSL 能帮你避开大量 Windows 特有的权限和路径问题。
7.3 完整排查链路:登录返回 403
403 是一个非常经典的报错。我的排查顺序一般是:时间 → 账户 → 网络 → CLI 版本 → 重新登录。
时间不同步会导致 HTTPS 握手失败,而 Claude Code 的登录逻辑又强依赖 HTTPS,所以先同步系统时间。Windows 用户在“设置 — 时间和语言”里点“立即同步”,Mac 用户确保“自动设置日期与时间”是开启的。
然后确认账户状态:你的订阅是否到期?权限是否被限制?如果之前用过自动续费,检查支付是否有异常。账户侧如果有问题,任何本地请求都会被 403 拒绝。
接着检查网络链路。这里的处理原则是:不要反复点击重试,重试十次不如换一个时间段再试。如果其他网站都正常,只有登录流程进不去,可以尝试重启路由器或者换一个网络环境,然后再试一次/login。
再检查 CLI 版本是否过旧,旧版本在协议上和官方服务端有差异,也可能导致鉴权失败。执行一次全局更新:npm install -g @anthropic-ai/claude-code。
如果以上全走完仍然 403,使用/login强制重新走一遍浏览器授权,往往能解决“服务端记录了旧会话但本地还在复用”的问题。注意:403 通常是服务端策略问题,不是你项目代码的问题,别浪费时间调整项目文件。
7.4 乱码问题怎么根治
中文乱码主要出在 Windows 终端。根因是终端的代码页和 Claude Code 输出的 UTF-8 不匹配。在终端里执行chcp 65001临时切换到 UTF-8 代码页,然后重开终端窗口,看问题是否消失。如果有效,就把它固化到启动配置里,Windows Terminal 的配置文件可以预设启动命令。
除了代码页,字体也是一大因素。老版本终端默认字体不支持中文渲染,换成“Cascadia Code”或“微软雅黑”能明显改善。macOS 的 Terminal.app 和 VS Code 集成终端一般没有这个问题,但如果你遇到乱码,检查一下 shell 的 locale 环境变量,执行export LC_ALL=en_US.UTF-8通常能解决。
7.5 对话历史怎么保存与恢复
Claude Code 默认把会话历史保存在本地~/.claude/projects目录下。你可以用/resume命令查看所有历史会话并选择恢复,也可以用claude --continue直接沿着上一次会话继续对话。
如果你想导出某段对话,在会话中输入/export就能导出为 Markdown 文件,方便归档或者截图分享。更稳妥的做法是定期手动备份整个~/.claude目录,这里面包含了配置、权限记录和全部会话,换电脑时直接拷贝过去,你的工作上下文就无缝迁移了。注意:Claude Code 的历史保存机制是本地为主,别指望它像云服务那样在任何设备上自动同步。
聊天记录文件是 JSONL 格式,你可以用文本编辑器打开查看,但别手改,改坏了会导致恢复失败。如果你只想保留对话内容而不需要恢复可用状态,用/export导出即可。
7.6 省 token 的几个实战心得
被“Your limits are temporarily boosted. Your weekly Claude Code limit is 50%”这种提示困扰的人不在少数,这本质上是配额受限。除了等待配额恢复和切换计费模式之外,更稳妥的思路是减少 token 浪费。我挑了三个最有效的方法。
第一个方法,把全局规范写进CLAUDE.md。在项目根目录创建CLAUDE.md,把你希望 AI 遵守的规则写清楚,比如“不要修改 dist 目录”“代码风格使用 4 空格缩进”“测试命令是 pnpm test”等。每次会话开始时 Claude Code 都会读取这个文件,省去你反复口头交代上下文的时间,也减少了跑偏后重新纠错的 token 消耗。
第二个方法,善用/compact。如果对话过长,token 消耗会指数级上涨,在合适的位置执行/compact压缩历史,保留核心信息的同时把无效内容清掉。这个操作很像把冗长的会议纪要压缩成几条要点,对长篇任务尤其友好。
第三个方法,给任务划边界。你让 Claude Code“看看这个项目”,它会把能看到的文件都读一遍,token 自然飞涨。改成“只看src/modules/login目录下的代码,修掉报错”,它的搜索范围立刻收敛,消耗也就可控了。这背后是 agent 工具的基本行为逻辑:范围越清晰,摸查越省。
8. Claude Code 和 Codex,到底选哪个
8.1 Codex 的定位和安装方式
Codex 是 OpenAI 推出的命令行编程代理,定位和 Claude Code 很像,同样也是npm install -g @openai/codex就能装,登录方式和核心交互逻辑也大同小异。很多人纠结“我到底该用哪个”,其实它们的关系更像“两个品牌同时造了同类型工具”,不是替代关系。
Codex 的优势在于底层是 GPT 系列模型,如果你已经习惯了 ChatGPT 生态,它的交互逻辑你会很熟悉。Claude Code 的优势在于长上下文能力和多文件协调能力,在一些复杂的跨模块改造任务中表现更稳。两者都装了也不冲突,我在本机上就是共存的,用哪个取决于当前项目更适合哪种模型。
8.2 五维对比表
我根据自己的长期使用体验,从五个维度做了一张对比表,仅供参考:
| 维度 | Claude Code | Codex | 我的观察 |
|---|---|---|---|
| 多文件修改能力 | 强,适合跨模块重构 | 中规中矩 | Claude Code 对长任务断点续跑处理更好 |
| 上下文长度 | 更长 | 中等 | 大型仓库分析时差异明显 |
| 工具生态 | 支持 MCP,可扩展性强 | 生态相对封闭 | 想接外部工具链的优先考虑 Claude Code |
| 模型切换灵活度 | 高,能接第三方和本地模型 | 相对低 | Claude Code 的环境变量设计更开放 |
| 上手成本 | 终端命令为主 | 终端命令为主 | 两边都简单,都适合零基础 |
表格只能代表我的经验,具体差异会随着版本迭代变化,不要当作绝对参考。
8.3 我个人两个都用了之后的结论
我的使用结论是:长期从事跨文件重构、需要深度理解项目结构和历史代码的任务,Claude Code 更合拍;如果你的工作流重度依赖 GPT 模型输出风格、项目本身也用 OpenAI 相关的工具链,Codex 会更顺手。两者不冲突,装了都用,按任务分配就好。
还有一点值得提:Claude Code 的 MCP 支持让它能接入大量外部工具,比如数据库查询、浏览器操作等,这种开放性对高级用户来说是很大的加分项。Codex 在这方面相对保守,如果你追求的不仅是编码助手,而是把终端、编辑器、外部服务串成一个自动化工作流,Claude Code 的潜力更大。
我的日常安排是:日常小任务随机选一个用,遇到大项目、复杂重构、多步调试时优先开 Claude Code,涉及快速原型验证时也会用 Codex 照着 GPT 风格快速出一版。装好工具只是开始,真正值钱的是在用的时候把边界和流程想清楚。
最后分享一个我自己的小习惯:刚装完 Claude Code 之后,别直接把它丢到生产级大项目里,先找一个干净的实验目录跑一天,熟悉它的授权确认、会话恢复和 token 消耗节奏。等摸熟了它的脾气,再让它进入真实项目。这样你第一天体验到的就是“这个工具能帮我干活”,而不是“这个工具怎么这么多破事”。命令行工具的上手本来就不难,缺的只是那一条把关键坑点提前告诉你的路径。