既然 AI Coding 有了 IDE,为什么还要有 CLI?
2025 年了,Cursor 有了 Agent Mode 和 Background Agent,Windsurf 的 Cascade 能自动扫描整个仓库、执行测试、自主修复代码。
IDE 已经不是当年的”智能补全”了,它们也在变成 Agent。
那么问题来了:CLI 还有存在的必要吗?
答案是:有,而且是不同维度的必要。
先承认:IDE Agent 已经很强了
让我们正视现实:
| 能力 | Cursor Agent Mode | Windsurf Cascade | CLI Agent |
|---|---|---|---|
| 多文件编辑 | ✅ | ✅ | ✅ |
| 执行终端命令 | ✅ | ✅ | ✅ |
| 自主规划任务 | ✅ | ✅ | ✅ |
| 后台运行 | ✅ Background Agent | ✅ | ✅ |
| 自动修复错误 | ✅ | ✅ | ✅ |
| Headless 运行 | ❌ | ❌ | ✅ |
| 模型自由切换 | ❌ | ❌ | ✅ |
| CI/CD 集成 | ❌ | ❌ | ✅ |
Cursor 2.0 的 Composer 甚至经过强化学习训练,能在真实代码库中使用语义搜索、运行测试、修复 linter 错误。Windsurf 的 Cascade 可以处理数百个文件的大规模重构。
IDE 已经不只是”副驾驶”了,它们也在学着”开车”。
那 CLI 的价值在哪?
CLI 的真正优势:不是”能不能”,是”在哪里”
IDE Agent 和 CLI Agent 的核心能力正在趋同。真正的差异在于运行环境和使用场景。
1. Headless:哪里都能跑
Cursor Background Agent 跑在 Cursor 的 AWS 云端,你需要付费订阅,需要网络连接,需要 Cursor 账号。
CLI 跑在任何有终端的地方:
# SSH 到生产服务器排查问题
ssh prod-server
blade "分析 /var/log/nginx/error.log,找出 502 错误的原因"
# 在 CI/CD 流水线里自动修复
# .github/workflows/auto-fix.yml
- run: blade --yolo "修复这个 PR 中的类型错误"
# Docker 容器里
docker run -it blade-code "给这个项目写 Dockerfile"
# 会话恢复:断开连接后继续之前的任务
blade --resume abc123 "继续刚才的重构"
IDE 需要窗口,CLI 只需要 stdin/stdout。
这意味着 CLI 可以成为基础设施的一部分,而不只是开发者的工具。
2. 模型自由:不被绑定
Cursor 用的是他们自己训练的模型 + Claude/GPT。Windsurf 背后是 Cognition(Devin 团队)。
你的代码会发送到他们的服务器。
Blade Code 支持 7 种 LLM 提供商,真正做到模型中立:
| 场景 | 选择 | 提供商 |
|---|---|---|
| 追求效果 | Claude Sonnet/Opus、GPT-4o | Anthropic、OpenAI |
| 深度推理 | DeepSeek R1、o1 | OpenAI Compatible |
| 控制成本 | DeepSeek、Qwen | OpenAI Compatible |
| 数据合规 | 本地部署 Ollama | OpenAI Compatible |
| 企业内网 | Azure OpenAI、私有 LLM | Azure、自定义 |
| Google 生态 | Gemini Pro/Ultra | Google Gemini |
| GitHub 用户 | Copilot 模型 | GitHub Copilot |
对于金融、医疗、政府等对数据敏感的场景,这不是”可选项”,是硬性要求。
3. Unix 哲学:组合的威力
IDE 是全家桶。用 Cursor 就得接受 Cursor 的工作流,用 Windsurf 就得接受 Windsurf 的方式。
CLI 遵循 Unix 哲学——只做一件事,做好它,然后和其他工具组合。
# 和 git 组合
git diff HEAD~5 | blade "review 这些改动,有没有安全风险"
# 和 grep 组合
grep -r "TODO" src/ | blade "帮我解决这些 TODO"
# 和 docker 组合
docker logs app --tail 1000 | blade "分析错误模式,给出修复建议"
# 和 curl 组合
curl -s https://api.example.com/health | blade "这个响应正常吗"
# 和 MCP 服务器组合
blade "连接 PostgreSQL MCP,分析 users 表的索引优化建议"
CLI 不取代你的工作流,它融入你的工作流。
你可以继续用 VS Code、WebStorm、Vim、Emacs——任何你顺手的编辑器,只在需要 Agent 干活时切到终端。
4. 透明可控:看得见摸得着
IDE 的 Agent 是个黑盒。它在后台干了什么,你不一定清楚。
CLI 的每一步都在终端里:
> blade "重构 UserService,拆分成多个小模块"
🗡️ Blade Code v0.0.46 | Claude Sonnet | Permission: DEFAULT
[规划] 分析 UserService.ts 的职责...
[读取] src/services/UserService.ts (347 行)
[规划] 识别出 4 个可拆分的职责:认证、授权、档案、通知
[写入] src/services/auth/AuthService.ts ✓ (需要确认)
[写入] src/services/auth/PermissionService.ts ✓
[写入] src/services/user/ProfileService.ts ✓
[写入] src/services/user/NotificationService.ts ✓
[执行] npm test (需要确认)
[分析] 2 个测试失败,修复导入路径...
[写入] src/services/index.ts ✓
[执行] npm test
[完成] 所有测试通过,重构完成
📊 Token 使用:12,847 输入 / 3,421 输出
💰 成本:$0.023
每一步都可追溯、可中断、可回滚。
开源的 CLI 代码你可以审计,知道它到底在干什么。
真正的关系:不是替代,是互补
有人问:Claude Code 和 Cursor 怎么选?
正确答案:都用。
# 在 Cursor 的终端里调用 Claude Code
# 用 Cursor 的 UI 写代码,用 Claude Code 处理复杂任务
DoltHub 的实测发现:
“Cursor 在部署和代码质量上更强,Claude Code 在深度推理和多步骤工作流上更强。“
| 任务类型 | 推荐工具 | 原因 |
|---|---|---|
| 写新功能、精细调整 | IDE Agent | GUI 直观,实时预览 |
| 大规模重构、深度分析 | CLI Agent | 200k 上下文,深度推理 |
| 服务器运维、日志分析 | CLI Agent | 必须 Headless |
| CI/CD 集成 | CLI Agent | 必须脚本化 |
| 敏感数据场景 | CLI Agent | 可本地部署 |
IDE 是你的驾驶舱,CLI 是你的无人机。
Blade Code:模型中立的 CLI Agent
基于这些思考,我复刻 Claude Code 时专注于 CLI 的独特价值:
核心特性
| 特性 | 说明 |
|---|---|
| 模型中立 | 7 种提供商:Claude、GPT、Gemini、DeepSeek、Qwen、Ollama、Azure |
| MCP 生态 | 通过 Model Context Protocol 连接数据库、飞书、Notion 等外部系统 |
| Unix 友好 | 支持管道、重定向、脚本集成 |
| 透明可控 | 每一步操作都在终端可见,可中断、可回滚 |
| 三级权限 | allow/ask/deny 权限系统,安全可控 |
| 插件系统 | 自定义命令、代理、技能、Hooks |
高级工作流
Plan 模式:调研阶段生成实现方案,用户批准后再执行
blade --permission-mode plan "设计一个用户认证模块"
# Agent 只读取代码、搜索文档,生成方案等待批准
Spec 模式:复杂功能的规格驱动开发
blade "进入 Spec 模式,开发支付系统"
# 结构化工作流:Requirements → Design → Tasks → Implementation
# 自动持久化到 .blade/specs/<feature>/
后台任务:多任务并行处理
blade "在后台运行测试,同时继续开发"
# Agent 自动管理子任务,报告进度
18+ 内置工具
| 类型 | 工具 |
|---|---|
| 文件操作 | Read、Edit、Write、Glob、Grep |
| 代码执行 | Bash、Task、KillShell |
| 网络能力 | WebFetch、WebSearch |
| 任务管理 | TodoWrite、TaskOutput |
| 交互 | AskUserQuestion、Skill |
权限模式
| 模式 | 适用场景 |
|---|---|
| DEFAULT | 日常开发,写入和执行需确认 |
| AUTO_EDIT | 频繁修改代码,只有执行需确认 |
| PLAN | 调研阶段,只读不写 |
| SPEC | 复杂功能,规格驱动 |
| YOLO | 演示或高度可控环境 |
关于开源:Blade Code 目前暂未开源,后续有开源计划。如果你对源码感兴趣,欢迎关注项目动态。
Discord 社区:https://discord.gg/utXDVcv6
最后
2025 年,IDE 和 CLI 都在变成 Agent。
它们的核心能力趋同,但运行环境和使用场景不同:
- IDE Agent:图形界面、实时反馈、适合交互式开发
- CLI Agent:Headless、可脚本化、适合自动化和基础设施
这不是谁取代谁的问题,是工具箱里多了一把工具。
就像你不会因为有了电钻就扔掉螺丝刀。
Blade Code 文档: https://echovic.github.io/blade-doc/
# 安装
npm install -g blade-code
# 快速开始
blade "帮我分析这个项目的架构"
# 使用 /model 命令切换模型(交互模式中)
blade
> /model
# Plan 模式设计方案
blade --permission-mode plan "设计一个缓存层"
IDE 让你在 GUI 里 vibe coding,CLI 让你在任何地方 vibe coding。
Sources: