青雲的博客

既然 AI Coding 有了 IDE,为什么还要有 CLI?

· 10 分钟阅读

2025 年了,Cursor 有了 Agent Mode 和 Background Agent,Windsurf 的 Cascade 能自动扫描整个仓库、执行测试、自主修复代码。

IDE 已经不是当年的”智能补全”了,它们也在变成 Agent。

那么问题来了:CLI 还有存在的必要吗?

答案是:有,而且是不同维度的必要。


先承认:IDE Agent 已经很强了

让我们正视现实:

能力Cursor Agent ModeWindsurf CascadeCLI 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-4oAnthropic、OpenAI
深度推理DeepSeek R1、o1OpenAI Compatible
控制成本DeepSeek、QwenOpenAI Compatible
数据合规本地部署 OllamaOpenAI Compatible
企业内网Azure OpenAI、私有 LLMAzure、自定义
Google 生态Gemini Pro/UltraGoogle 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 AgentGUI 直观,实时预览
大规模重构、深度分析CLI Agent200k 上下文,深度推理
服务器运维、日志分析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:

相关文章

评论