乐于分享
好东西不私藏

AI Agent 如何控制现实世界的软件?CLI Anything vs OpenCLI 深度对比

AI Agent 如何控制现实世界的软件?CLI Anything vs OpenCLI 深度对比

AI Agent 的终极梦想,就是能够控制现实世界中所有软件

试想一下:让 AI 自动帮你用 Blender 渲染场景、用 GIMP 修图、从小红书抓取热点数据、控制浏览器自动发帖……这不再是科幻,两个开源项目已经把它变成了现实。

今天我们就来深度对比一下 CLI Anything(香港大学数据科学实验室出品)和 OpenCLI(个人开发者 jackwener 开发)这两个项目,看看它们各自解决了什么问题,又该如何选择。


为什么需要这两个工具?

现在的 AI Agent 能力很强,但有一个致命问题:它们大多被困在”盒子”里,只能处理文本和代码,碰不到你电脑上已有的软件

  • • 💻 你电脑上有 Blender,但 AI 无法自动调用它渲染3D场景
  • • 🌐 AI 需要从小红书获取数据,但每次都要人工截图复制
  • • 🎨 GIMP、Inkscape、OBS 这些好工具,AI 只能”看”不能”用”

CLI Anything 和 OpenCLI 就是来解决这个问题的——它们都在做同一件事:把各种各样的软件,转换成 AI Agent 能够理解和调用的 CLI 命令行接口

但两者主攻方向完全不同,我们分开来看。


CLI Anything:一键把任何GUI软件变成AI可调用的CLI

项目概况

  • • 创建者:香港大学数据科学实验室(HKUDS)
  • • GitHub:https://github.com/HKUDS/CLI-Anything
  • • 核心标语:”Making ALL Software Agent-Native”
  • • Star 趋势:GitHub Trending 快速增长中

核心愿景

Today’s Software Serves Humans👨💻. Tomorrow’s Users will be Agents🤖.CLI-Anything: Bridging the Gap Between AI Agents and the World’s Software

简单说,CLI Anything 的目标就是:让所有软件都能被 AI Agent 原生使用

它最牛的地方在于,你只要把有源代码的软件路径丢给它,它会通过一个 7阶段全自动流水线,帮你生成完整的 Python CLI 包装层:

  1. 1. 🔍 分析 – 扫描源代码,把GUI操作映射到API
  2. 2. 📐 设计 – 设计命令组、状态模型、输出格式
  3. 3. 🔨 实现 – 使用Click构建CLI,自带REPL、JSON输出、撤销/重做
  4. 4. 📋 规划测试 – 创建单元测试和E2E测试计划
  5. 5. 🧪 编写测试 – 实现完整测试套件
  6. 6. 📝 文档 – 更新测试文档
  7. 7. 📦 发布 – 创建setup.py,安装到PATH

整个过程全自动,不需要你写一行代码。

已支持的软件:20+ 领域,1900+ 测试全通过

CLI Anything 已经为 20 多款常用软件生成了生产可用的 CLI 接口,每个都跑通了全部测试:

软件
领域
测试数
GIMP
图像编辑
107
Blender
3D建模渲染
208
Inkscape
矢量图形
202
Audacity
音频处理
161
LibreOffice
办公套件
158
OBS Studio
直播录制
153
Kdenlive
视频编辑
155
ComfyUI
AI图像生成
70
Ollama
本地LLM推理
98

总计 20+ 个软件,1,917 个测试,100% 全部通过——这个质量保证在开源项目里真的少见。

使用方式: Claude Code 一键生成

对于 Claude Code 用户来说,使用真的非常简单:

# 1. 添加市场/plugin marketplace add HKUDS/CLI-Anything# 2. 安装插件/plugin install cli-anything# 3. 一键生成CLI/cli-anything:cli-anything /path/to/software/source

生成之后就可以直接用了:

# 安装到PATHcd gimp/agent-harness && pip install -e .# 命令行使用,支持JSON输出方便AI解析cli-anything-gimp --json project new --width 1920 --height 1080# 进入REPL交互式使用cli-anything-gimp

设计哲学:真正的软件集成,不做玩具

CLI Anything 的几个设计原则让我印象深刻:

  1. 1. 真正调用真实软件 —— 不做模拟替换,就是调用你电脑上已安装的软件真实渲染,输出的结果就是你要的
  2. 2. Agent原生设计 —— 每个命令都支持 --json 输出,天生就是给 AI 吃的
  3. 3. 测试不妥协 —— 要求100%测试通过率,不把有问题的代码给用户
  4. 4. 统一体验 —— 所有生成的CLI共享同一个REPL界面,学习成本低

适合什么场景?

场景
是否适合
AI Agent 控制本地GUI应用(Blender、GIMP等)
✅ 完美适合
目标软件有公开源代码
✅ 完美适合
需要完整功能覆盖,不满足部分API
✅ 完美适合
Claude Code / OpenClaw 用户一键生成
✅ 完美适合
重视测试质量,要求功能经过验证
✅ 完美适合

典型案例

  • • AI Agent 自动用 Blender 批量渲染 3D 场景
  • • AI Agent 自动用 LibreOffice 生成 PDF 报告
  • • AI Agent 批量处理 GIMP 图像尺寸和水印
  • • AI Agent 通过 OBS 自动录制和剪辑视频

OpenCLI:把网站和Electron应用都变成CLI

项目概况

  • • 创建者:jackwener
  • • GitHub:https://github.com/jackwener/opencli
  • • 核心标语:”Make Any Website & Tool Your CLI”
  • • NPM包@jackwener/opencli

核心愿景

OpenCLI 解决的是另一个场景:让 AI Agent 能够通过 CLI 访问网站数据、控制 Electron 桌面应用

你是不是经常需要让 AI 帮你:

  • • 看看 B 站今天热门有什么?
  • • 从小红书搜索一下某个关键词的笔记?
  • • 控制 Cursor IDE 自动重构代码?

这些事情以前 AI 做不到,现在 OpenCLI 让它变成可能。

核心特性

OpenCLI 的核心能力可以总结为三点:

1️⃣ 网站转 CLI

已经内置了 65+ 个网站适配器:

  • • 中文平台:小红书、Bilibili、知乎、掘金、豆瓣、微信公众号
  • • 国际平台:Twitter/X、Reddit、HackerNews、YouTube、Pixiv

2️⃣ Electron 应用转 CLI

支持控制常见的桌面应用:

  • • Cursor IDE、OpenAI Codex、ChatGPT、Notion、Discord、Doubao

3️⃣ 统一 CLI Hub

自动发现你电脑上已有的 CLI 工具,让 AI 一键找到并调用,还能自动安装缺失的工具。

几个让人印象深刻的设计:

  • • 零 LLM 运行时消耗 —— 预生成适配器,运行的时候不需要调用 LLM,速度快又省钱
  • • 确定性输出 —— 相同命令输出相同结果,适合自动化脚本和 CI
  • • 复用 Chrome 登录状态 —— 你已经在浏览器登录了小红书,OpenCLI 直接复用,不需要重新登录
  • • 反检测内置 —— 帮你做好了指纹规避,运行稳定

使用示例

安装也很简单:

# 1. 从Releases下载Browser Bridge扩展加载到Chrome# 下载地址: https://github.com/jackwener/opencli/releases# 2. 安装OpenCLInpm install -g @jackwener/opencli# 3. 检查连接opencli doctor

然后就可以用了:

# 列出所有可用命令opencli list# Bilibili热门opencli bilibili hot --limit 5# 小红书搜索opencli xiaohongshu search --keyword "AI agent" --limit 10# 下载小红书笔记中的图片和视频opencli xiaohongshu download abc123 --output ./xhs# GitHub Trendingopencli github-trending trending --language go# 输出JSON格式供AI处理opencli bilibili hot -f json | jq

架构设计:双引擎架构

OpenCLI 用了非常灵活的双引擎设计:

  • • YAML 声明式:简单的数据提取管道,用 YAML 声明一下就好了,零代码
  • • TypeScript 注入:复杂交互场景,直接写 TypeScript,灵活强大

这样既保证了简单场景的开发效率,又不失去复杂场景的灵活性。

适合什么场景?

场景
是否适合
AI Agent 需要从网站提取数据
✅ 完美适合
定时数据抓取,需要确定性输出
✅ 完美适合
控制 Electron 桌面应用(Cursor、Notion等)
✅ 完美适合
统一 CLI 中心,让 AI 发现本地工具
✅ 完美适合
从各平台下载图片、视频、文章
✅ 完美适合

典型案例

  • • AI Agent 每日汇总 Bilibili 热门话题写评测
  • • AI Agent 从小红书抓取特定关键词的竞品分析
  • • AI Agent 自动控制 Cursor IDE 批量重构代码
  • • AI Agent 统一发现和调用你所有的本地 CLI 工具

全方位对比:哪个更适合你?

看完两个项目的介绍,我们来做一个全方位对比:

对比维度
CLI Anything
OpenCLI
核心目标
将任意有源码的GUI软件转换为AI可调用的CLI
将网站、Electron应用转换为CLI
主要作者
HKUDS 香港大学数据科学实验室
jackwener 个人开发者
方法学
AI自动生成完整CLI harness(7阶段流水线)
预构建适配器 + AI辅助探索生成
目标软件类型
本地GUI应用、开源项目、后台服务
网站、web应用、Electron桌面应用
运行时LLM需求
生成时需要,运行时不需要
探索/生成时需要,运行时不需要
测试质量保证
每个CLI要求完整测试,100%通过率
每个适配器有测试,不强制全覆盖
输出格式
每个命令支持 --json
支持 json/yaml/csv/md/table 多种
支持Agent平台
Claude Code, OpenClaw, OpenCode, Codex
为AI Agent设计,任何框架都能用
依赖真实软件
✅ 强制要求,真正调用
✅ 复用浏览器和现有安装
许可证
MIT
Apache-2.0
活跃度
非常活跃,每日更新
活跃维护中

从能力对比上能看得更清楚:

能力
CLI Anything
OpenCLI
本地GUI应用 (GIMP, Blender)
✅ 原生支持
❌ 不支持
网站数据提取
⚠️ 需要源码,不适用
✅ 原生支持
Electron桌面应用控制
✅ 原生支持
已有CLI统一发现
✅ 原生支持
自动安装缺失工具
✅ 原生支持
复用已有登录会话
✅ (通过API)
✅ (通过Chrome)
一键生成新CLI
✅ (对有源码项目)
✅ (对网站)
生产级质量保证
✅ (1900+ 测试全过)
✅ (生产可用)

一句话总结:

CLI Anything 负责”本地有源码的GUI应用”,OpenCLI 负责”网站和Electron应用”。它们不是竞争关系,而是完美互补。


架构对比:两种不同的思路

CLI Anything 的架构比较直接:

AI Agent → 生成的CLI (Click/Python) → 真实软件后端 → 输出结果

AI 调用生成的 CLI,CLI 再调用真实软件,真实软件输出结果。整条链干干净净。

OpenCLI 因为要处理网站和 Electron,所以架构稍复杂一点:

AI Agent → opencli → [浏览器CDP ↔ 网站] 或 [CDP ↔ Electron app] 或 [子进程 ↔ 本地CLI] → 输出JSON

OpenCLI 相当于一个统一的代理层,把不同类型的目标都转换成统一的 CLI 接口输出。


环境要求对比

要求
CLI Anything
OpenCLI
语言环境
Python ≥ 3.10
Node.js ≥ 20
其他要求
AI Agent环境(Claude Code等)
Chrome浏览器已登录目标网站
网络
无特殊要求
需要Chrome扩展连接
存储占用
每个CLI约几MB
核心 ~10MB

总结:如何选择?

👉 选 CLI Anything 如果你:

  • • 需要让 AI Agent 控制本地 GUI 应用(Blender、GIMP、LibreOffice、OBS等)
  • • 目标软件有公开源代码
  • • 重视测试质量,要求每个功能都经过验证
  • • 在使用 Claude Code 或 OpenClaw

👉 选 OpenCLI 如果你:

  • • 需要让 AI Agent 访问网站数据(Bilibili、小红书、知乎等)
  • • 需要控制 Electron 桌面应用(Cursor、ChatGPT、Notion等)
  • • 需要一个统一的 CLI 中心,让 AI 自动发现所有工具
  • • 需要定时抓取内容或下载媒体资源

👀 其实可以一起用:

两个项目真的不冲突,反而可以配合得很好:

  • • CLI Anything 搞定你的本地创意软件自动化
  • • OpenCLI 搞定网站数据采集和桌面应用控制
  • • 两者都输出 AI 友好的 JSON 格式,同一个 AI Agent 可以同时调用它们

写在最后

这两个项目让我看到了 AI Agent 发展的一个重要方向:AI 不应该只在自己的小世界里玩,它应该走出来,控制我们每天都在用的那些软件

以前我们说”AI 辅助人类工作”,未来可能会变成”AI 帮你操作软件,你只需要做决策”。从这个角度看,CLI Anything 和 OpenCLI 都是在铺这条路的基石。

如果你也在做 AI Agent 相关的开发,或者对 AI 自动化感兴趣,非常建议去这两个仓库看看,说不定能打开一扇新大门。

🔗 项目链接

  • • CLI Anything: https://github.com/HKUDS/CLI-Anything
  • • OpenCLI: https://github.com/jackwener/opencli