1. 为什么我要把 9 款 AI Agent CLI 的安装命令全部跑一遍
过去半年,我陆陆续续在四台机器上折腾过各种 AI Agent 命令行工具——一台 macOS 笔记本、一台 Ubuntu 开发服务器、一台 Windows 台式机,还有一台跑在虚拟机里的测试环境。每次换机器或者重装系统,最头疼的不是写代码,而是把这些 CLI 工具重新装一遍。你可能觉得装个命令行工具有什么难的,但实际情况是:有的工具用 npm 装,有的用 pip 装,有的要下载二进制文件手动配置 PATH,还有的装完之后版本查询命令和升级命令完全不一样,隔几个月不用就忘得一干二净。
更麻烦的是,这些 AI Agent CLI 工具迭代速度极快,版本号从 0.x 跳到 1.x 可能就隔了两周,安装方式也跟着变。我踩过最离谱的坑是某个工具用 npm 全局安装之后,命令行里死活找不到可执行文件,排查了半天才发现是 npm 全局 bin 目录没加到 PATH 里。还有一次是升级命令跑完提示成功,结果--version查出来还是旧版本,最后发现是系统里存在多个安装源,新版本装到了另一个路径下。
所以这篇文章我打算做一件很实在的事:把目前主流的 9 款 AI Agent CLI 工具的安装、版本查询、升级命令全部整理清楚,并且附上我在实际操作中遇到的坑和解决方案。这 9 款工具分别是Claude CLI、Codex CLI、Gemini CLI、Cursor CLI、Aider、OpenInterpreter、Goose、Plandex和Continue CLI。选择这 9 款的原因很简单:它们要么是我日常在用的,要么是社区讨论度高、更新活跃的,覆盖了从通用对话到代码生成、从本地执行到云端协作的主要场景。
这篇文章适合谁看?如果你是刚接触 AI Agent 命令行工具的新手,可以直接照着命令复制粘贴,省去到处翻文档的时间;如果你已经用过其中几款,可以对照检查自己的安装方式是否规范,顺便看看有没有更优的升级路径;如果你是在团队里负责开发环境搭建的,这篇文章可以当作一份速查手册,帮同事快速配好环境。
提示:本文所有命令均在 macOS 14、Ubuntu 22.04、Windows 11(WSL2)三个环境下实测过,但不同系统版本和 shell 环境可能存在差异,建议先在自己的环境里验证再批量部署。
2. 九款 AI Agent CLI 的安装方式全拆解
2.1 Claude CLI:npm 全局安装最省心,但要注意 Node 版本
Claude CLI 是我用得最久的一款,它的安装方式经历过几次变化,目前最稳定的方式是通过 npm 全局安装。在终端里执行:
npm install -g @anthropic-ai/claude-code装完之后直接输入claude就能启动交互界面。版本查询命令是:
claude --version升级命令和安装命令一样,重新跑一遍npm install -g @anthropic-ai/claude-code就会拉取最新版本。如果你想指定版本,可以在包名后面加@版本号,比如npm install -g @anthropic-ai/claude-code@1.0.0。
这里有个细节值得展开说。Claude CLI 对 Node.js 版本有要求,我实测下来 Node 18 和 Node 20 都能跑,但 Node 16 会在启动时报错。如果你机器上有多个 Node 版本,建议用 nvm 切换到 18 或 20 再安装。另外,npm 全局安装的包默认放在/usr/local/lib/node_modules(macOS/Linux)或%AppData%\npm\node_modules(Windows),可执行文件在对应的 bin 目录下。如果你装完之后提示command not found,大概率是 bin 目录没加到 PATH 里。
还有一个常见问题是权限。在 macOS 和 Linux 上,如果不用 sudo 直接跑npm install -g,可能会因为目录权限不足而失败。我的建议是不要用 sudo 装 npm 全局包,而是通过 nvm 管理 Node,这样全局包会装到用户目录下,不需要提权,后续升级也不会因为权限问题卡住。
2.2 Codex CLI:二进制下载和 npm 两条路,选对方式很关键
Codex CLI 的安装方式有两种:一种是通过 npm 安装,另一种是直接下载二进制文件。先说不走 npm 的方式,因为很多人搜“codex cli安装”的时候会遇到unable to locate the codex cli binary or required runtime components这个报错,根源就是二进制文件没放对位置或者运行时依赖缺失。
npm 安装方式:
npm install -g @openai/codex装完之后用codex --version查版本。升级同样是重新跑安装命令。
如果你选择手动下载二进制,需要去官方发布页面找到对应系统的压缩包,解压后把可执行文件放到 PATH 包含的目录里,比如/usr/local/bin或~/.local/bin。放好之后还要确认运行时组件是否齐全,Codex CLI 依赖 Node.js 运行时,如果系统里没有 Node 或者版本太低,就会报上面那个错。
我个人的建议是优先用 npm 安装,因为 npm 会自动处理依赖和 PATH 配置,省去手动排查的麻烦。但如果你在一个没有 Node 环境的机器上,或者公司网络限制 npm 访问,那就只能走二进制下载这条路。走二进制路线的时候,记得用chmod +x给可执行文件加执行权限,否则会提示权限不足。
版本查询和升级命令汇总一下:
| 操作 | 命令 |
|---|---|
| 安装 | npm install -g @openai/codex |
| 版本查询 | codex --version |
| 升级 | npm install -g @openai/codex |
| 卸载 | npm uninstall -g @openai/codex |
2.3 Gemini CLI:pip 安装为主,虚拟环境是好朋友
Gemini CLI 我主要用 pip 安装,命令是:
pip install google-gemini-cli但这里有个坑:直接往系统 Python 环境里装包,时间长了会把系统环境搞乱,尤其是 Ubuntu 上系统自带的 Python 被很多系统工具依赖,乱装包可能导致系统命令出问题。所以我的做法是先用 venv 建一个虚拟环境:
python3 -m venv ~/.venvs/gemini source ~/.venvs/gemini/bin/activate pip install google-gemini-cli这样装完之后,每次用之前先激活虚拟环境,用完deactivate退出。版本查询用gemini --version,升级用pip install --upgrade google-gemini-cli。
如果你不想每次手动激活,可以在 shell 配置文件里加一个 alias,比如alias gemini='source ~/.venvs/gemini/bin/activate && gemini',这样输入gemini的时候会自动激活环境再启动。不过这个 alias 有个小问题:启动完之后虚拟环境还是激活状态,需要手动deactivate。更优雅的方式是用 pipx,它能自动为每个工具创建独立环境,同时把可执行文件链接到全局 PATH 里:
pipx install google-gemini-clipipx 的好处是安装、升级、卸载都跟普通命令行工具一样简单,不用操心虚拟环境激活的问题。升级命令是pipx upgrade google-gemini-cli。
2.4 Cursor CLI:跟随编辑器生态,安装方式比较特殊
Cursor CLI 和前面几款不太一样,它跟 Cursor 编辑器深度绑定,安装方式也跟编辑器相关。目前官方推荐的方式是通过 Cursor 编辑器内置的命令行工具安装,或者用 npm 安装独立版本:
npm install -g cursor-cli版本查询用cursor --version,升级用npm install -g cursor-cli。
这里要提醒一点:Cursor CLI 的版本更新节奏跟编辑器版本不完全同步,有时候编辑器更新了但 CLI 还没跟上。如果你发现 CLI 的行为和编辑器不一致,先查一下 CLI 版本是不是落后了。另外,Cursor CLI 在首次使用时会要求登录授权,授权信息存在本地配置目录里,如果你在多台机器上用,需要分别授权。
我实测下来,Cursor CLI 在 macOS 上的体验最顺畅,Linux 上偶尔会遇到依赖库缺失的问题,Windows 上建议在 WSL2 里跑,原生 Windows 环境的兼容性还有待完善。
2.5 Aider:pip 安装最直接,但依赖管理要留心
Aider 是我用得最多的代码辅助工具之一,安装方式很直接:
python -m pip install aider-chat或者用 pipx:
pipx install aider-chat版本查询用aider --version,升级用python -m pip install --upgrade aider-chat或pipx upgrade aider-chat。
Aider 的依赖比较多,包括一些用于代码解析和差异计算的库。如果你在安装过程中遇到编译错误,大概率是缺少系统级的开发工具,比如在 Ubuntu 上需要先装build-essential和python3-dev。在 macOS 上一般不需要额外装什么,因为 Xcode Command Line Tools 已经包含了编译工具链。
Aider 还有一个特点是它支持多种 LLM 后端,你可以在启动时通过参数指定用哪个模型。这意味着你不需要为每个模型单独装一个 CLI,一个 Aider 就能切换不同的后端。这个设计在实操中非常方便,尤其是当你需要在不同任务之间切换模型的时候。
2.6 OpenInterpreter:pip 安装,但要注意 Python 版本兼容性
OpenInterpreter 的安装命令是:
pip install open-interpreter装完之后用interpreter命令启动。版本查询用interpreter --version,升级用pip install --upgrade open-interpreter。
这款工具对 Python 版本比较敏感,我实测在 Python 3.10 和 3.11 上都能跑,但 Python 3.12 上有些依赖包还没适配,可能会报错。如果你用的是比较新的 Python 版本,建议用 pyenv 或 conda 建一个 3.11 的环境来装。
OpenInterpreter 的特点是它会在本地执行生成的代码,所以安装完之后建议先在一个隔离环境里测试,不要直接在生产机器上跑。我一般会在 Docker 容器里用它,这样即使生成的代码有问题也不会影响宿主机。
2.7 Goose:二进制安装为主,配置步骤稍多
Goose 是 Block 开源的一款 AI Agent 工具,安装方式以二进制下载为主。官方提供了安装脚本:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash这个脚本会自动检测系统架构,下载对应的二进制文件并放到~/.local/bin目录下。装完之后需要确保~/.local/bin在 PATH 里,否则会提示找不到命令。版本查询用goose --version,升级用goose update。
Goose 的配置比前面几款稍微复杂一些,它需要一个配置文件来指定 LLM 提供方和 API 密钥。配置文件默认在~/.config/goose/config.yaml,你可以手动编辑,也可以通过goose configure命令进入交互式配置。我建议用交互式配置,因为它会引导你一步步填写必要信息,不容易漏掉关键字段。
2.8 Plandex:安装脚本一键搞定,但要注意 shell 兼容性
Plandex 的安装方式也是脚本:
curl -sSL https://plandex.ai/install.sh | bash装完之后用plandex --version查版本,升级用plandex update。
这个安装脚本会检测你的 shell 类型(bash 或 zsh),然后把可执行文件放到对应目录并更新 PATH。如果你用的是 fish 或其他 shell,可能需要手动配置。我实测在 zsh 下没问题,在 fish 下需要手动把~/.plandex/bin加到fish_user_paths里。
Plandex 的特点是它支持大规模代码库的上下文管理,适合在比较大的项目里用。但它的安装包也比较大,下载和初始化会花一些时间,建议在网络状况好的环境下安装。
2.9 Continue CLI:npm 安装,和编辑器插件共享配置
Continue CLI 的安装命令是:
npm install -g @continuedev/cli版本查询用continue --version,升级用npm install -g @continuedev/cli。
Continue 的特点是它和 Continue 编辑器插件共享配置文件,如果你已经在编辑器里配好了模型和参数,CLI 这边可以直接复用,不需要重新配置。配置文件默认在~/.continue/config.json,你可以手动编辑,也可以通过 CLI 的交互命令修改。
我实测下来,Continue CLI 在团队协作场景下比较有用,因为配置文件可以纳入版本管理,团队成员拉下来就能用统一的配置。但要注意不要把 API 密钥直接提交到仓库里,建议用环境变量引用。
3. 安装方式对比与选型建议
3.1 按安装方式分类:npm、pip、二进制脚本各有什么优劣
把上面 9 款工具按安装方式分一下类,可以更清楚地看出各自的适用场景。
| 安装方式 | 代表工具 | 优势 | 劣势 |
|---|---|---|---|
| npm 全局安装 | Claude CLI、Codex CLI、Cursor CLI、Continue CLI | 命令统一,升级方便,依赖自动处理 | 需要 Node 环境,全局 bin 目录可能不在 PATH |
| pip/pipx 安装 | Gemini CLI、Aider、OpenInterpreter | Python 生态成熟,虚拟环境隔离好 | 依赖冲突风险,Python 版本敏感 |
| 二进制脚本 | Goose、Plandex | 不依赖运行时环境,安装快 | 需要手动配置 PATH,升级要重新下载 |
npm 系的工具胜在命令统一,基本上npm install -g加包名就能搞定,升级也是同一条命令。但前提是你机器上得有 Node 环境,而且 npm 全局 bin 目录得在 PATH 里。我见过不少人装完 Node 之后没配 PATH,结果所有 npm 全局工具都用不了。
pip 系的工具适合 Python 开发者,但要注意虚拟环境隔离。直接往系统 Python 里装包是坏习惯,时间长了系统环境会变得一团糟。pipx 是一个很好的折中方案,它既有全局命令的便利,又有虚拟环境的隔离。
二进制脚本安装的工具最省心的地方是不依赖运行时,下载下来就能跑。但升级的时候需要重新跑安装脚本或者用工具自带的 update 命令,不如 npm 和 pip 那么直接。
3.2 版本查询命令的统一规律
9 款工具的版本查询命令有一个共同规律:几乎都是工具名 --version或工具名 -v。这个规律在绝大多数命令行工具里都适用,记住这一点可以省去很多查文档的时间。
| 工具 | 版本查询命令 |
|---|---|
| Claude CLI | claude --version |
| Codex CLI | codex --version |
| Gemini CLI | gemini --version |
| Cursor CLI | cursor --version |
| Aider | aider --version |
| OpenInterpreter | interpreter --version |
| Goose | goose --version |
| Plandex | plandex --version |
| Continue CLI | continue --version |
有个别工具可能用-V(大写)而不是-v(小写),如果小写不生效就试试大写。另外,有些工具在--version之外还支持--help查看所有可用参数,遇到不熟悉的工具先跑一下--help是个好习惯。
3.3 升级命令的三种模式
升级命令可以归纳为三种模式:
第一种是重新跑安装命令,npm 系的工具基本都是这个模式。比如 Claude CLI 升级就是重新跑npm install -g @anthropic-ai/claude-code,npm 会自动检查最新版本并覆盖安装。
第二种是用包管理器自带的升级命令,pip 和 pipx 属于这一类。pip install --upgrade 包名或pipx upgrade 包名都是标准操作。
第三种是工具自带的 update 命令,Goose 和 Plandex 用的是这种方式。goose update和plandex update会自动检查新版本并下载替换。
三种模式各有优劣。第一种最通用,但每次都要记完整的包名;第二种最规范,但需要知道包名和包管理器;第三种最方便,但只有部分工具支持。我的建议是把你常用的几个工具的升级命令记在笔记里,或者写一个简单的 shell 脚本批量升级。
4. 实操过程中踩过的坑与排查技巧
4.1 安装后命令找不到:PATH 配置的三种排查思路
这是最常见的问题,没有之一。装完之后输入命令提示command not found,原因无非三种:可执行文件不在 PATH 里、可执行文件没有执行权限、shell 缓存没刷新。
排查步骤可以按这个顺序来:
第一步,用which 命令名或whereis 命令名看看系统能不能找到这个命令。如果找不到,说明可执行文件确实不在 PATH 里。
第二步,找到可执行文件的实际位置。npm 全局包一般在npm bin -g输出的目录下,pip 包一般在 Python 的bin目录下,二进制脚本一般在~/.local/bin或工具自己的目录下。用ls确认文件存在。
第三步,把对应目录加到 PATH 里。在~/.bashrc或~/.zshrc里加一行export PATH="$PATH:你的目录",然后source一下配置文件。
如果文件存在且有执行权限,但命令还是找不到,可能是 shell 的命令哈希缓存没刷新。用hash -r清一下缓存再试。
注意:在 macOS 上,如果你用的是 zsh(默认 shell),配置文件是
~/.zshrc而不是~/.bashrc。改错文件的话不会生效,这个坑我踩过好几次。
4.2 版本升级后版本号没变:多安装源冲突的解决方法
这个问题比命令找不到更隐蔽。你跑完升级命令,提示成功,但--version查出来还是旧版本。原因通常是系统里存在多个安装源,新版本装到了另一个路径下,而 PATH 里优先找到的是旧版本。
解决方法分两步:
第一步,用which -a 命令名列出所有同名命令的路径。比如which -a claude会列出所有叫 claude 的可执行文件。如果输出多行,说明确实存在多个安装源。
第二步,决定保留哪个,把其他的卸载或从 PATH 里移除。如果是 npm 装的,用npm uninstall -g 包名卸载;如果是 pip 装的,用pip uninstall 包名卸载。卸载完之后再确认which -a只剩一个路径。
还有一种情况是 nvm 管理的 Node 版本切换后,全局包不共享。比如你在 Node 18 下装了 Claude CLI,切到 Node 20 之后发现命令没了。这是因为 nvm 为每个 Node 版本维护独立的全局包目录。解决办法是在每个 Node 版本下都装一遍,或者用nvm alias default固定一个版本。
4.3 网络问题导致安装失败:镜像源配置与重试策略
npm 和 pip 默认从官方源下载,网络状况不好的时候容易超时或失败。配置镜像源可以显著提升下载速度。
npm 换源:
npm config set registry https://registry.npmmirror.compip 换源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple换完之后再跑安装命令,速度会有明显提升。如果还是失败,可以试试加长超时时间:
npm install -g 包名 --fetch-timeout=60000或者用--verbose参数看详细日志,定位具体卡在哪一步。
对于二进制脚本安装的工具,如果下载失败,可以手动下载压缩包再解压到目标目录。Goose 和 Plandex 的发布页面都提供了各平台的压缩包,手动下载虽然麻烦一点,但胜在可控。
4.4 常见问题速查表
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 命令找不到 | PATH 未配置 | 把可执行文件目录加到 PATH |
| 权限不足 | 文件没有执行权限 | chmod +x 文件名 |
| 版本号没变 | 多安装源冲突 | which -a排查并卸载多余版本 |
| 安装超时 | 网络问题 | 配置镜像源或加长超时 |
| 依赖缺失 | 运行时环境不完整 | 安装对应运行时(Node/Python) |
| 启动报错 | 配置文件缺失或错误 | 检查配置目录,重新初始化 |
| 升级后行为异常 | 配置文件不兼容新版本 | 备份后删除旧配置,重新生成 |
5. 我的日常维护习惯与批量管理思路
5.1 用脚本批量查询和升级
如果你像我一样装了好几款工具,一个个手动查版本和升级会很烦。我写了一个简单的 shell 脚本,把常用工具的版本查询和升级命令集中起来:
#!/bin/bash tools=( "claude:npm install -g @anthropic-ai/claude-code" "codex:npm install -g @openai/codex" "aider:python -m pip install --upgrade aider-chat" "interpreter:pip install --upgrade open-interpreter" "goose:goose update" "plandex:plandex update" ) for entry in "${tools[@]}"; do name="${entry%%:*}" cmd="${entry#*:}" if command -v "$name" &> /dev/null; then echo "$name 当前版本: $($name --version 2>/dev/null)" else echo "$name 未安装" fi done这个脚本只做版本查询,升级操作我建议手动执行,因为升级过程中可能需要交互确认,脚本自动化反而容易出问题。但版本查询可以定期跑一下,看看哪些工具有新版本可用。
5.2 配置文件备份与迁移
这些 CLI 工具的配置文件散落在不同目录下,换机器的时候很容易漏掉。我习惯把关键配置集中备份到一个 Git 仓库里,目录结构大概是这样的:
~/dotfiles/ claude/ config.json aider/ .aider.conf.yml goose/ config.yaml continue/ config.json备份的时候注意把 API 密钥替换成环境变量引用,不要把明文密钥提交到仓库里。恢复的时候在新机器上把文件放回对应位置,再设置好环境变量就行。
5.3 版本锁定与回滚策略
不是每次升级都是好事。我有一次升级某个工具之后,发现新版本改了参数格式,之前写的脚本全跑不了了。从那以后我养成了一个习惯:升级之前先记下当前版本号,升级之后如果发现问题,可以快速回滚。
npm 系工具回滚:
npm install -g 包名@旧版本号pip 系工具回滚:
pip install 包名==旧版本号二进制工具回滚需要手动下载旧版本的压缩包替换。所以我在升级二进制工具之前,会先把当前的可执行文件备份一份,出问题的时候直接替换回来。
提示:如果你在团队里负责环境维护,建议在项目文档里锁定各工具的推荐版本号,避免不同成员装到不同版本导致行为不一致。
5.4 关于安装方式选择的个人建议
用了这么久,我对这 9 款工具的安装方式有一个比较明确的偏好排序:
首选 pipx 或 npm 全局安装,因为命令统一、升级方便、卸载干净。pipx 尤其适合 Python 系的工具,既有全局命令的便利,又有虚拟环境的隔离。
次选官方安装脚本,适合不依赖运行时环境的工具。但要注意脚本的可信度,尽量从官方渠道获取,不要随便跑来路不明的脚本。
最后考虑手动下载二进制,只在网络受限或需要特定版本的时候用。手动管理 PATH 和权限比较麻烦,非必要不推荐。
另外,不管你用哪种方式安装,都建议定期跑一下版本查询,保持工具在较新的版本上。AI Agent 这个领域变化太快,新版本往往修复了旧版本的 bug,也增加了新功能,长期不升级容易错过重要改进。
6. 关于这 9 款工具的一些实际使用感受
Claude CLI 和 Codex CLI 是我日常用得最多的两款,安装和升级都很省心,npm 一条命令搞定。Aider 在代码修改场景下表现很稳,尤其是它的 diff 功能,能清楚地看到每次修改了什么。Gemini CLI 和 OpenInterpreter 我主要用来做实验性任务,因为它们的执行环境比较灵活,适合跑一些不确定能不能成功的操作。
Goose 和 Plandex 的安装稍微麻烦一点,但功能上有独特之处。Goose 的扩展机制比较灵活,Plandex 在大代码库场景下有优势。Cursor CLI 和 Continue CLI 更适合已经在用对应编辑器的用户,配置可以复用,省去重复设置的麻烦。
有一点需要提醒:这些工具都在快速迭代,今天写的安装命令过几个月可能就变了。所以我的建议是,把官方文档加到书签里,遇到问题先查官方文档,再看社区讨论。命令行工具的报错信息通常比较明确,仔细读一遍往往就能找到线索。
最后分享一个我自己的小习惯:每次装完一个新工具,我会在笔记里记下三件事——安装命令、版本查询命令、升级命令。看起来很简单,但换机器或者过几个月再用的时候,这三条信息能省下大量翻文档的时间。