鹤啸九天 自律更自由,平凡不平庸 Less is More

CLI 命令行

2026-04-01
阅读量

Notes(温馨提示):

  1. ★ 首次阅读建议浏览:导航指南, 或划到本页末尾, 或直接点击跳转, 查看全站导航图
  2. 右上角工具条搜索文章,右下角二维码关注微信公众号(鹤啸九天),底栏分享、赞赏、评论
  3. ★ 转载请注明文章来源,知识点积累起来不容易,水滴石穿,绳锯木断,谢谢理解
  4. ★ 如有疑问,邮件讨论,欢迎贡献优质资料


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)

核心差异总结

  1. 成本差距极大:同量级任务下,MCP Direct 月度成本是 CLI 的 17倍以上
  2. 稳定性差距显著: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 越来越多的,正在跑在云上。

image

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 管「编排」

image

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开源无头浏览器,显著提升网页抓取效率

核心优势:

  • 内存仅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扩展并安装
  • 运行 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

结束


支付宝打赏 微信打赏

~ 海内存知已,天涯若比邻 ~

Share

Similar Posts

Related Posts

上一篇 RAG 消失之路

标题:RAG 消失之路

摘要:RAG 检索增强生成终将过时,有哪些新技术替代RAG?

标题:大模型知识库构建

摘要:大模型如何构建个人知识库?

站内可视化导航

文章可视化导读:鼠标划过图形块时,如果出现蓝色光环, 点击即可跳转到对应主题

Comments

--disqus--

    My Moment ( 微信公众号 )
    欢迎关注鹤啸九天