CLI 命令行
CLI 时代
AI Agent时代,大模型最缺的是“操作能力”,如何让 AI 真正”使用”软件?
传统解决方案
- 要么依赖脆弱的 UI 自动化(截图、点击、OCR)
- 要么需要软件提供完善的 API 接口。
但现实是绝大多数专业软件既没有为 AI 设计的接口,其 UI 也远非为机器操作而优化。
这个鸿沟,正在成为 AI Agent 落地的最大障碍。
设计范式变化
【2026-3-21】OpenCLI vs CLI-Anything:AI Agent 时代的 CLI 革命
软件设计范式可能发生根本性转变:
- 从 GUI-first 到 CLI-first:新软件可能优先设计 CLI,GUI 只是 CLI 的可视化包装
- 从 API-only 到 CLI-native:CLI 成为主要的集成接口,API 成为 CLI 的子集
- 从人类中心到 Agent 友好:软件设计时考虑 AI 的可发现性、可组合性和可自动化性
很多人把最难、最复杂的的任务丢给 OpenClaw,而 Claw 们干活时,基本都选 Claude Code
不是 Cursor,不是 VS Code,更不是什么 GUI Agent。
核心原因:
“CC 的 CLI 做得太好了。有状态、自描述、好用还强大。Agent 不需要跟它「搏斗」—— 拿起来就能干活。”
但是绝大多数真正的专业软件,都没有这样的 CLI。
- GIMP、Blender、LibreOffice、OBS —— 每一个都是重量级工具,但 Agent 基本碰不了。
CLI vs GUI
CLI 为何成为 Agent 的”母语”?
传统 GUI(图形用户界面)为人类设计,但对 AI 极不友好:
- 信息密度低:GUI 为了美观和易用,往往在屏幕上分散大量信息,AI 需要处理大量无关像素
- 状态不可见:GUI 的内部状态隐藏在视觉元素背后,AI 难以准确感知应用当前状态
- 操作脆弱:基于坐标的点击在分辨率、主题、版本变化时极易失效
- 上下文消耗大:将界面截图传给 LLM 需要消耗大量 Token
CLI(命令行界面)正在成为 AI Agent 与软件交互的”通用语言”。相比 GUI,CLI 具有结构化、可组合、自描述、确定性等天然适合 LLM 的特性。
CLI 具有天然适合 AI 特性:
- 结构化与可组合:文本命令与 LLM 的输入输出格式天然匹配,且可通过管道组合成复杂工作流
- 轻量且通用:最小开销,跨系统工作,无需依赖图形环境
- 自描述:–help 标志提供自动文档,Agent 可自主发现能力
- 确定性与可靠:一致的结果使 Agent 行为可预测,便于调试和优化
GUI 与 CLI 核心对比表
| 对比维度 | GUI(图形界面) | CLI(命令行) |
|---|---|---|
| 设计目标 | 为「人类」设计 | 为「开发者与AI」设计 |
| 交互形式 | 窗口、图标、按钮等图形化操作 | 黑框纯文本指令输入 |
| 核心优势 | 简单直观、所见即所得、零学习门槛 | 高效直接、无冗余翻译层、AI天然擅长 |
| 自动化能力 | ❌ 自动化效率低 | ✅ 瞬时完成复杂任务 |
| AI适配性 | ❌ AI理解成本高 | ✅ 一键接管办公系统 |
| 适用人群 | 普通办公用户、非技术人员 | 开发者、AI Agent、自动化场景 |
说明
- GUI 面向人类的「友好界面」,核心是降低使用门槛,让普通人能快速上手;
- CLI 面向机器/AI的「标准化指令」,核心是提升执行效率,适配AI Agent的自动化需求,是AI从「聊天」到「干活」的关键桥梁。
CLI vs MCP
MCP(Model Context Protocol)热门话题。
但 OpenCLI 和 CLI-Anything 的开发者们似乎更倾向于一个简单的哲学:CLI 是比 MCP 更好的集成接口。
原因:
- CLI 是已有的事实标准,无需额外协议层,任何能执行命令的环境都能使用。
- 而 MCP 需要专门的支持和实现。正如 Unix 哲学所言:”做好一件事,并通过文本流协作”。
为什么CLI碾压MCP?
- 1️⃣ LLM天生就会用CLI
- GPT、Claude训练数据里满是man page和Shell脚本,直接执行命令就行。而MCP要写JSON schema、处理JSON-RPC、认证、流式处理……多写一堆代码,AI却没更聪明一分。
- 2️⃣ 调试体验天壤之别
- CLI出问题?复制命令自己跑一遍就知道哪里错了。MCP出问题?翻transport log猜JSON哪里坏了,2月份Claude Code爆了好几次MCP超时bug,开发者在GitHub骂翻天。
- 3️⃣ 可组合性降维打击
- CLI管道一行搞定MCP要3个tool才能干的事。一个jq过滤就完事,MCP要么塞满上下文(贵到爆),要么额外写过滤逻辑。
- 4️⃣ 上下文占用仅1/10
- OpenClaw团队实测:CLI+少量prompt达到95%+效果,上下文占用只有MCP的十分之一!
【2026-4-23】Anthropic 最新博客:MCP 没死,它又来了
Anthropic 博客标题叫《Building agents that reach production systems with MCP》,《构建能触达生产系统的 Agent:MCP 实践指南》
观点:
CLI + Skills 才是 Agent 连接外部系统的正道,因为 MCP 又贵又慢还占上下文。
ScaleKit 一组严格的 benchmark,拿 GitHub 官方 MCP 服务器和 gh CLI 做对照,跑了 75 轮实验。
结果:
- CLI 在 token 消耗上便宜 10 到 32 倍,按月算,每月 1 万次操作,CLI 大约 3.2 美元,MCP 大约 55.2 美元。17 倍的成本差距。
CLI vs MCP Direct 成本&可靠性对比表
| 对比项 | CLI | MCP Direct |
|---|---|---|
| 月度成本(10K ops/month) | $3.20 | $55.20 |
| 任务可靠性 | 100%(25/25) | 72%(18/25) |
核心差异总结
- 成本差距极大:同量级任务下,MCP Direct 月度成本是 CLI 的 17倍以上
- 稳定性差距显著:CLI 任务成功率满分100%,MCP Direct 存在近3成执行失败概率
问题出在:
- schema 膨胀。
MCP 三个问题:token 贵、schema 臃肿、不可组合。
Anthropic 这篇博客给了三个对应的回答:
- Tool Search 解决 schema 臃肿(减 85%)
- 程序化调用解决不可组合(让 Agent 写代码处理)
- 代码编排模式解决 token 贵(Cloudflare 的 2 个工具覆盖 2500 端点)
Anthropic 加了一条:当 Agent 跑在云上,CLI 够不到的地方,MCP 是唯一的选择。
选择:
- 本地开发环境 → CLI + Skills,轻量、快速、上下文干净。
- 云端生产环境 → MCP + Skills,标准化、跨平台、认证完备。
- 简单场景 → 直连 API,别瞎折腾。
所以,MCP 并没有死。
它当然并非万能方案,但它正在成为云端 Agent 的标准化接入层。
(1)schema 膨胀
GitHub MCP 服务器带了 43 个工具定义,每次对话都得把这 43 个工具的完整描述全塞进上下文。只是想查个仓库语言,但模型得先读完所有 43 个工具的说明书。光是一个工具的定义就占了 4,026 tokens。
Perplexity 的 CTO Denis Yarats 也表态称:
Perplexity 内部正在远离 MCP,原因是 72% 的上下文窗口被 MCP 占掉了。
龙虾之父 Peter 也在播客里对痛批 MCP:
MCP 默认污染上下文,加上大部分 MCP 做得不好,总体来说不是一个很有用的范式。
而钉钉和飞书也是不约而同绕开 MCP,直接把产品「压扁」成了 CLI。
在旧金山街头的随机调查里,CLI 得了 17 票,MCP 仅有 3 票。
当时结论:
- MCP 倒是不会死,但会退到该待的地方。
- 而 CLI 将成为 Agent 操作一切软件的默认界面。
- 接下来,整个 SaaS 的 API surface,将全都暴露成 CLI。
Agent 连接外部系统有三条路:直连 API、CLI、MCP,各有各的适用场景。
- 直连 API:适合简单、一对一的场景。但如果有 10 个 Agent 要接 10 个服务,那就是 100 个不同的集成方案,每个都要单独搞认证和工具描述。这就是经典的 M×N 问题。
- CLI:本地和沙箱环境里确实更合适。Agent 天生就说命令行语言,–help 就能自描述,jq 就能过滤,pipe 就能组合。这一点 Anthropic 承认,但生产级 Agent 越来越多的,正在跑在云上。
Claude Cowork、Claude Managed Agents、移动端、Web 端……这些环境里没有本地文件系统,跑不了 CLI。而 MCP 的定位,则恰恰就是为这个场景服务的:一个远程服务器,通吃所有客户端。
(2) token 膨胀
Anthropic 直接给两个解法。
- ① Tool Search:改成 按需加载。Agent 先描述想做什么,系统在运行时搜索相关工具,只把匹配的几个拉进来。
- 测试效果:工具定义的 token 消耗减少了 85% 以上,工具选择的准确率没有下降。
- 工具要按意图分组,别按 API 分。
- 跟 CLI 的差距,从 32 倍缩到了大约 7 倍。还是比 CLI 贵,但至少不是一个数量级的差距了。
- ② 程序化工具调用。别让模型当搬运工,让它写代码。工具返回的结果不再直接丢回给模型,而是在代码执行沙箱里处理。Agent 可以在沙箱里循环、过滤、聚合,只把最终结果返回到上下文。
- 测试效果:复杂多步工作流上减少了约 37% 的 token 消耗。
Cloudflare 案例
Cloudflare 的 MCP 服务器,覆盖了大约 2,500 个 API 端点。
- 如果按传统方式,把这 2,500 个端点的工具定义全塞进上下文,那画面简直就是美到不忍直视了……
- 而 Cloudflare 的做法是只暴露 2 个工具:search 和 execute。Agent 先用 search 找到需要的 API,然后写一段简短的脚本,通过 execute 在服务端沙箱里跑。整个工具定义,只占大约 1K tokens。
CLI + Skill 的思路是:Skill 告诉 Agent「怎么干」,CLI 提供「用什么干」,Agent 写代码调用,中间数据不经过上下文。而 Cloudflare 这个 MCP 方案,也可以说是把 CLI 的哲学搬进了 MCP 协议里。
区别:跑在云端,走的是 MCP 协议,而不是本地的命令行。
所以,Anthropic 真正想说是:MCP 和 CLI 不对立,好的 MCP 服务器应该像 CLI 一样设计。
- MCP 管「能力」
- Skills 管「编排」
Anthropic:Skills 确实不可或缺。但 MCP 不需要被替换掉,它可以和 Skills 一起发布、共存。
工具
示例
- GitHub CLI, 详见站内专题:Git
- CloudCLI - CloudCLI 提供以 AI 为核心的云端开发环境,配备预配置工具和持久化会话,实现无缝、跨设备的编码体验。
- Cline CLI - Cline CLI 从您的终端在客户端运行自主 AI 编码代理,以完全的隐私保护和执行透明度,自动化完成复杂的开发任务。
- bb-browser - bb-browser 将网站转化为机器可读的界面,使 AI 智能体能够以已认证用户的身份进行交互,无需 API 密钥,也无需担心反机器人机制的拦截。
- Cursor CLI - Cursor CLI 将AI编码能力直接融入您的终端,赋能开发者、DevOps和SRE,助其随时随地生成、重构、调试及自动化代码。
已有工具转型
CLI 大战爆发
| 时间节点 | 产品名称 | 核心动作 | 关键亮点/能力 | 设计定位 |
|---|---|---|---|---|
| 2026年3月27日 | 钉钉 DingTalk | 开源钉钉 CLI 项目 | 开放10项核心能力;支持AI表格、日历、待办;全面 CLI 化重构底层 | 办公 CLI 能力开放 |
| 2026年3月28日 | 飞书 Feishu | 发布 v1.0.0 正式版;开源 larksuite/cli | 覆盖11大业务域;提供200+ 命令 | 专为 AI Agent 设计 |
| 2026年3月30日 | 企业微信 WeCom | 正式开源企业微信 CLI | 7大核心能力;支持消息、日程、文档、会议;原生调用时代 | 办公系统原生 CLI 化 |
CLI 转换
总结
愿景
让任何软件都能被 AI Agent 通过命令行界面高效控制。
OpenCLI 和 CLI-Anything 虽然都致力于让软件 Agent-Native,但采用了截然不同的技术路径。
差异
- OpenCLI 更像”浏览器代理”,用 Chrome DevTools Protocol 与浏览器深度集成,通过拦截 XHR/Fetch 请求获取数据。它的优势在于能够处理那些只有 Web 界面、没有公开 API 的网站,且无需用户额外认证。
- CLI-Anything 则更像”软件编译器”,分析源代码,理解软件架构,然后生成完整的 CLI 封装。它的优势在于能够充分利用软件的原生能力,生成真正生产可用的工具。
| 维度 | OpenCLI | CLI-Anything |
|---|---|---|
| 目标对象 | 网站(Web 应用) | 本地软件(桌面应用) |
| 技术栈 | TypeScript + Chrome Extension | Python + Click + 软件后端 |
| 集成方式 | 拦截浏览器网络请求 | 生成项目文件 + 调用软件 CLI |
| 认证处理 | 复用浏览器登录会话 | 依赖软件自身的认证机制 |
| 扩展方式 | YAML 声明式 / TypeScript 编程式 | AI 自动生成完整代码 |
| 输出格式 | JSON / YAML / CSV / Markdown | JSON + 人类可读表格 + REPL |
| 适用场景 | 数据抓取、内容监控、Web 自动化 | 创意生产、文档处理、媒体渲染 |
GUI 操控
Mano-P
Mano-P 打破 GUI 自动化瓶颈,一句话操控你电脑所有软件,无需 API,开源
浏览器操控
Scrapling
【2026-5-3】Scrapling
OpenClaw 现在能爬任何网站,关键是 —— 零反爬检测,直接原生绕过 Cloudflare,速度比 BeautifulSoup 快 774倍!
- ① 不用维护选择器
- ② 不用想各种骚操作绕过
- ③ 直接拿数据就完了
这种降维打击级别的工具,还他妈完全开源,不用白不用
无头浏览器
浏览器自动化实现方法:
- Puppeteer
- Playwright 微软开源 Python 自动化神器, Web 自动化和端到端测试的开源框架
- Headless Chrome
成熟能用,但问题是太重了
- 很多场景里,只是想:打开页面→执行脚本→抓 DOM→跑几步自动化→顺便别太容易被封
结果背后却拖着完整 Chrome。
Agent 对浏览器的需求不再是偶尔点几下页面,而是:高频启动、批量调用、长期挂载、并发执行。
浏览器底座的重量,就直接决定成本和吞吐。
无头浏览器 Obscura 不是解决浏览器功能问题,而是“执行底座问题”
目标非常明确:专门为 AI Agent 和爬虫做浏览器执行引擎。
Obscura 专为AI Agent设计,Rust开源无头浏览器,显著提升网页抓取效率
- GitHub obscura
核心优势:
- 内存仅30MB(Chrome需200+MB)
- 页面加载85ms(Chrome约500ms)
- 内置反检测Stealth模式
- 兼容Puppeteer/Playwright
- 一行代码安装,Apache 2.0开源
安装
curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-aarch64-macos.tar.gz
tar xzf obscura-aarch64-macos.tar.gz
使用
# Fetch a page
# Get the page title
obscura fetch https://example.com --eval "document.title"
# Extract all links
obscura fetch https://example.com --dump links
# Render JavaScript and dump HTML
obscura fetch https://news.ycombinator.com --dump html
# Wait for dynamic content
obscura fetch https://example.com --wait-until networkidle0
# Start the CDP server
obscura serve --port 9222
# With stealth mode (anti-detection + tracker blocking)
obscura serve --port 9222 --stealth
# Scrape in parallel
obscura scrape url1 url2 url3 ... \
--concurrency 25 \
--eval "document.querySelector('h1').textContent" \
--format json
Browser Use CLI
【2026-4-21】Browser Use CLI
安装方式:
# 执行
curl -fsSL browser-use.com/cli/install.sh|bash
基础命令包括:
- browser-use open(打开网址)
- browser-use state(显示可点击元素)
- browser-use click(点击指定元素)
【2026-3-14】OpenCLI
【2026-3-14】jackwener 开发的 AI 原生命令行工具 OpenCLI 巧妙地解决了这个问题:
- 通过复用本地 Chrome 的登录状态,让 AI 能够像调用 API 一样在终端直接查热搜、发动态或抓取数据
- 2026 年 3 月 14 日,首次公开亮相(GitHub 仓库公开,社区开始传播)
- 2026 年 3 月 20 日,V2EX 官宣发布 v1.0.0 正式版
- GitHub opencli
open-cli 是由 Sindresorhus 开发的跨平台命令行工具,用于打开如 URL、文件、可执行程序等
- 将任意网站转化为 CLI 工具, 让 AI 接管浏览器、桌面软件
- 已在全球平台如 Bilibili、Twitter/X、Reddit、知乎、小红书,以及桌面应用如 Cursor、ChatGPT 和 Notion 上经过实战检验。
与 Puppeteer、Playwright 等传统浏览器自动化工具不同,OpenCLI 并不试图模拟用户操作 DOM,而是直接拦截和利用网站自身的 API 调用。这种”借力打力”的架构设计,让它能够绕过大多数网站的风控机制和反爬虫策略。
OpenCLI 采用独特的 Browser Bridge 架构:
- 一个轻量级的 Chrome 扩展 + 微守护进程。
用户只需在 Chrome 中安装扩展,无需任何令牌或手动配置,守护进程会在首次运行命令时自动启动。
这种设计的关键优势在于复用用户已有的登录会话——你不需要为每个网站单独配置 API 密钥或登录凭证。
安装OpenCLI
# 全局安装
npm install -g @jackwener/opencli
# 验证安装是否成功
opencli --version
配置浏览器桥接
- 下载OpenCLI的Chrome扩展并安装
- 点此下载,安装方法不明
- Chrome 插件地址 opencli Browser Bridge, 点击安装即可
- 运行 opencli doctor检查扩展程序与本地后台服务(Daemon)的连接状态
运行opencli setup,自动从Chrome浏览器中检测并配置 Playwright MCP Bridge扩展的token,完成浏览器连接性验证。
完成以上步骤后,即可在终端中使用opencli命令操作支持的网站或Electron应用
使用
opencli xiaohongshu feed # 获取小红书内容
opencli bilibili hot --limit 5 # 查看B站热门视频
opencli zhihu hot -f json # 查看知乎热榜并以JSON格式输出
# 下载小红书媒体
opencli xiaohongshu download abc123 --output ./media
# 导出知乎文章
opencli zhihu download "https://zhuanlan.zhihu.com/p/123"
# 监控 Twitter 趋势
opencli twitter trending -f json | jq
# Bilibili 视频下载
opencli bilibili download BV1xxx --quality 1080p
配置 claude code
接入 Claude Code 或其他智能体,可将 OpenCLI 作为“技能”添加。
只需在 Agent 系统提示词(如 .cursorrules)中加入:
"You have a tool called opencli. Run opencli list to see available commands to browse the web."
OpenCLI 安装非常直观,关键在于浏览器插件的桥接。一旦打通,终端就不再只是冷冰冰的控制台,而是通往整个 Web 世界的万能钥匙。
# Install all OpenCLI skills
npx skills add jackwener/opencli
# Or install specific skills
npx skills add jackwener/opencli --skill opencli-usage # Command reference
npx skills add jackwener/opencli --skill opencli-explorer # Adapter development guide
npx skills add jackwener/opencli --skill opencli-oneshot # Quick command reference
【2026-3-16】CLI Anything
香港大学数据科学实验室(HKUDS)团队出手了,开源了 CLI-Anything
- 让所有软件都能变成 Agent 原生工具的革命性项目
- 无需手动编码,告别脆弱的 GUI 自动化。支持 Claude Code、Cursor 等主流智能体框架
用 CLI 作为 AI Agent 和真实软件之间的桥梁,把人类设计的软件,直接转变成 Agent 能用的工具,而且不损失任何功能。
核心亮点
- ① 一键生成 CLI,7 阶段自动化全包
- ② 真实软件集成,零妥协
- ③ 告别脆弱的 UI 自动化
- ④ 结构化输出,Agent 直接消费
- ⑤ 生产级测试,1436 个测试 100% 通过率
claude code 安装
前置要求
- Claude Code(带插件支持)
- Python 3.10+
- 目标软件已安装(如 GIMP、Blender、LibreOffice 等)
安装
# 添加 marketplace
/plugin marketplace add HKUDS/CLI-Anything
# 安装插件
/plugin install cli-anything
#-------------
1 添加插件市场:一条命令将 CLI-Anything 插件市场添加到 Claude Code:/plugin marketplace add HKUDS/CLI-Anything
2 安装插件:在 Claude Code 会话中安装 cli-anything 插件:/plugin install cli-anything。无需任何额外配置。
3 指向目标软件:将插件指向任意软件代码库或仓库:/cli-anything ./gimp 或 /cli-anything https://github.com/blender/blender
4 使用新生成的 CLI:pip install -e . 将 CLI 安装到 PATH。智能体和人类都可以运行 cli-anything-gimp、cli-anything-blender 等,完整支持 --help 和 --json 参数。
使用
使用方法:
- 转化
- 使用
# 为 GIMP 生成完整 CLI(全部 7 阶段)
/cli-anything ./gimp
# 为 Blender 生成 CLI
/cli-anything ./blender
# 从 GitHub 仓库生成
/cli-anything https://github.com/blender/blender
# ----------------
# 安装到 PATH
cd gimp/agent-harness && pip install -e .
# 从任何地方使用
cli-anything-gimp --help
cli-anything-gimp project new --width 1920 --height 1080 -o poster.json
cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e"
# 进入交互式 REPL
cli-anything-blender
支付宝打赏
微信打赏