ai-cli-manager
v0.2.9
Published
One-stop manager for AI coding CLIs - scan, install, uninstall and clean up Claude Code, OpenCode, Codex, Gemini CLI, Qwen Code, iFlow, Copilot, Cursor, Crush, CodeBuddy, Kimi, Amp, Droid, Goose, Aider and more
Maintainers
Readme
ai-cli-manager
English | 简体中文
一站式 AI 编程 CLI 管理器——在终端里安装、卸载、深度扫描、清理 Claude Code、OpenCode、Codex、Gemini CLI、Qwen Code 等 15 个主流工具。专为不想背 npm 命令的人设计。
npx ai-cli-manager就这一条命令——直接打开交互式菜单,自动切换中文/英文界面。
为什么做这个
AI 编程 CLI 已经遍地开花,但安装方式五花八门(npm install -g、PowerShell 一行命令、curl | bash 脚本、pip……),想卸载干净(包括它们留下的配置目录)更是麻烦。
现有工具(如 cc-switch)管理的是「你已经装好的 CLI 的 API 配置」,没有工具管 CLI 本身的安装/卸载/清理——这就是本项目的定位。
功能
- 快捷安装——内置 15 个官方 AI CLI 名单(全部经 CI 核验),自动选择适合你平台的安装渠道;缺前置依赖(比如没装 Node)会用大白话告诉你怎么办。
- 快捷卸载——用各自的包管理器正规卸载;配置目录单独询问,不会误删你的设置。
- 深度扫描——找出已安装的 CLI、配置残留,以及名单之外的疑似 AI CLI(全局 npm 包 AI 关键词评分、PATH 上已知的 AI 命令名、已知配置目录指纹)。
- API 一键切换(cc-switch 同款)——不碰任何配置文件,给 Claude Code、Codex、Gemini CLI、Qwen Code、OpenCode 配置接口地址和 API Key:内置智谱 GLM、DeepSeek、月之暗面 Kimi、阿里百炼通义、自定义中转等预设,选一下、贴上 Key 就写好;支持保存多套命名方案随时切换,一键切回官方。每次写入前自动做
.bak备份,密钥永不完整显示。 - 安全第一——所有删除逐项列出、必须确认;
--dry-run只预览不执行;所有操作记录在~/.ai-cli-manager/history.jsonl。疑似项绝不会被自动删除。 - 跨平台——Windows(含 PowerShell 脚本安装器)、macOS、Linux;中英双语界面(自动检测,
--lang可指定)。
支持的 CLI
| | | | | |---|---|---|---| | Claude Code | OpenCode | Codex CLI | Gemini CLI | | Qwen Code | iFlow CLI | Copilot CLI | Cursor CLI | | Crush | CodeBuddy CLI | Kimi Code CLI | Amp | | Droid | Goose | Aider | |
名单里每个 npm/PyPI 包名都会在 CI 中对着官方源核验(npm run validate:registry),名单不会悄悄失效。
命令
ai-cli 交互式菜单(等价于 npx ai-cli-manager)
ai-cli list [--json] 已知 AI CLI 清单及安装状态
ai-cli scan [--json] 已装 / 残留 / 疑似名单外 AI CLI
ai-cli install <id...> 按 id 安装(不带参数则进入勾选界面)
ai-cli config [cli] 配置/切换 API 地址与密钥(--list / --use <名称> / --show)
ai-cli remove <id...> 按 id 卸载(--purge 连配置目录一起删)
ai-cli cleanup 删除「程序已卸载、配置还在」的残留
ai-cli doctor 环境体检(node/npm/python/pip/curl/bash)
ai-cli history 查看本工具的操作记录
全局参数:--dry-run --lang en|zh-CN例子:
ai-cli install claude-code qwen-code # 装两个 CLI
ai-cli remove qwen-code --purge # 卸载并删除 ~/.qwen
ai-cli remove --dry-run claude-code # 预览会做什么,不真执行安全设计
| 操作 | 防护 |
|---|---|
| 安装(npm/pip) | 执行前显示包名与版本 |
| 安装(远程脚本) | 显示脚本 URL 和命令,需明确确认 |
| 卸载 | 逐项列出计划,需确认,配置目录默认保留 |
| 清理 | 只列出「程序已经不在」的目录 |
| 未知 AI CLI | 只标记疑似——仅报告,绝不自动删除 |
| 所有操作 | 记录到 ~/.ai-cli-manager/history.jsonl |
本地开发
npm install
npm test # 单元测试(node:test,零额外依赖)
npm run validate:registry # 核验名单里每个包都真实存在
node bin/index.js # 本地跑起菜单想把新 CLI 加进名单?看 CONTRIBUTING.md。唯一的硬性要求:收录前必须核实包名及其归属——冒名包真实存在(npm 上的 goose-cli 是个数据库迁移工具的 wrapper,不是 Block 的 Goose)。
