乐于分享
好东西不私藏

为什么说OpenClaw的神器是OpenCLI:CLI 正在杀死 GUI

为什么说OpenClaw的神器是OpenCLI:CLI 正在杀死 GUI

如果你最近关注 AI 和开发者工具,可能注意到了两个正在快速崛起的项目:CLI-AnythingOpenCLI。它们在做同一件看似"反人类"的事情——把图形界面变成命令行。

但这件事的背后,藏着一个深刻的趋势:GUI 是人类的语言,CLI 是机器的语言。当 Agent 时代来临,软件世界正在被重新"插上插头"。

🎯 两条路线,一个目标

CLI-Anything 和 OpenCLI 选择了不同的技术路径,但最终指向同一个方向。

CLI-Anything:从源码出发

它的思路像是一位逆向工程师——扫描软件的源代码,把 GUI 操作映射到底层 API,然后用 Python Click 框架自动生成 CLI。GIMP、Blender、Audacity、LibreOffice 这些开源桌面软件,它都能包一层。

OpenCLI:从浏览器出发

它更像是一位老练的用户——不拆机器,但知道每个按钮按下去会发生什么。通过 Chrome 扩展 + 本地 Daemon 的架构,直接操作网站和 Electron 应用。

💡 关键洞察:两个项目合在一起,基本覆盖了"一切软件"——有源码的交给 CLI-Anything,没源码的网站和 Electron 应用交给 OpenCLI。

🔧 OpenCLI 的架构巧思

OpenCLI 的工作链路设计得相当克制且巧妙:

CLI 命令 → 本地 Daemon → WebSocket → Chrome 扩展 → 网页操作

你在终端敲opencli bilibili hot,Daemon 就把指令通过 WebSocket 发给 Chrome 扩展,扩展在浏览器里执行操作,把结果格式化输出到终端。

最关键的设计:它复用你 Chrome 里已经登录的 session。你在 B 站登录了,OpenCLI 就能用你的账号获取数据,不需要单独配置 Cookie 或 API Key。

"你的密码和凭据,从头到尾都没有离开过浏览器。"

Daemon 空闲 5 分钟自动退出,默认监听 localhost:19825,不会常驻后台吃资源。

🧠 为 AI Agent 设计的三个命令

OpenCLI 最值得关注的,是它为 AI Agent 专门设计的三个命令:

  • explore:给一个 URL,自动发现网站有哪些 API 可以调用。它会真的打开浏览器,点击、滚动、观察网络请求。

  • synthesize:拿到 explore 的结果后,自动生成对应的 CLI 适配器,不用写一行代码。

  • cascade:自动探测认证策略,从公开 API 开始试,逐级升级到 Cookie 认证、签名提取……一共五个级别。

# 一条命令搞定:探索 + 生成适配器 + 注册 opencli generate https://example.com --goal "hot"

这意味着:AI Agent 拿到一个从未见过的网站,也能自己摸索出怎么用命令行操控它。

📦 已支持的生态

目前 OpenCLI 已内置80+ 命令,覆盖30+ 站点和应用

网站类

  • B 站:热门、搜索、字幕提取

  • 知乎:热榜、搜索

  • 小红书:笔记下载

  • Twitter/X:时间线、书签

  • Reddit:热帖

  • YouTube:视频信息

  • 雪球:股票数据

  • BOSS 直聘:职位搜索

Electron 应用类

  • Cursor IDE

  • Notion

  • Discord

  • 飞书

  • 微信

  • 网易云音乐

# 示例用法 opencli bilibili hot -f json | jq '.[]' opencli zhihu hot -f yaml opencli twitter bookmarks -f md

⚡ Electron 的突破

OpenCLI 最近支持了所有 Electron 应用的 CLI 化,这件事的意义不容小觑。

飞书、VS Code、Slack、Discord、Notion、Figma 桌面版……几乎你能叫得出名字的现代桌面应用,有一大半跑的都是 Chromium 内核。

OpenCLI 利用 Chrome DevTools Protocol (CDP) 直接和这些应用的内核通信,每个应用分配一个固定端口(Cursor 用 9222,ChatGPT 用 9224,Notion 用 9230),然后通过 DOM 操作来读取和注入内容。

🎯 巧妙之处:处理 React 等框架的富文本编辑器时,它没有直接设置.value(那样框架内部状态不会更新),而是用document.execCommand('insertText')来模拟真实的文本输入,绕过了框架的状态管理。

结果就是:Agent 可以直接在 Cursor 里写代码、在 Notion 里写文档、在 Discord 里发消息,全程命令行操作。

🌐 万物皆可 CLI

Karpathy 说过,让用户去网页上点按钮、填表单,"感觉挺粗鲁的"。Levie 也说,如果你的功能没有 API,那它等于不存在。

CLI-Anything 说:我来给桌面软件加上 CLI。

OpenCLI 说:我来给网站和 Electron 应用也加上。

它们在做同一件事:把人类花了 40 年给计算机穿上的那件 GUI 外衣,一件一件脱掉。

这件事正在加速。CLI-Anything 在 GitHub 上已经 15000+ 颗星,OpenCLI 也在短短几天内涨到了 2300+ 颗星。

⚠️ 权限的双刃剑

⚠️ 风险提醒:OpenCLI 复用浏览器登录态,让 Agent 拥有的权限和你在浏览器里的权限一模一样。你能在 B 站发弹幕,Agent 也能。你能发消息,Agent 就也能。

这既是优点(零配置,即开即用),也是风险(如果 Agent 判断出错,它用你的账号操作的一切后果都由你承担)。

CLI-Anything 解决的是 Agent"能不能干"的问题,OpenCLI 则把这个能力的范围扩大了十倍。

🎯 为什么 CLI 是 Agent 的母语?

因为 CLI 的特性,天然就是为 Agent 设计的:

  • ✅ 文本输入

  • ✅ 结构化输出

  • ✅ 可组合

  • ✅ 可发现(--help

  • ✅ 确定性强,没有歧义

💭 写在最后

GUI 是人类的语言,CLI 是机器的语言。

过去 40 年,我们一直在做翻译——把机器语言翻译成人类能理解的图形界面。现在 Agent 来了,它不需要翻译,它直接说机器的语言就好。

整个软件世界,正在被重新"插上插头"。而 Agent,终于可以自己动手了。

🔗 相关链接

    OpenCLI GitHub:https://github.com/jackwener/opencli

    CLI-Anything GitHub:https://github.com/HKUDS/CLI-Anything

    OpenCLI 中文介绍:https://www.80aj.com/2026/03/18/opencli-ai-control/