首页 > 自考资讯 > 培训提升

CLIAnything:一条命令,让任意软件秒变 AI Agent 原生工具

2026 08 26 00:30:14

引言

在 AI Agent 蓬勃发展的今天,一个核心矛盾日益凸显:AI 的推理能力越来越强,但操控真实专业软件的能力却很弱。 Photoshop、Blender、LibreOffice——这些人类每天依赖的生产力工具,对 AI Agent 来说几乎是不可触及的黑箱。

现有的解决方案要么靠脆弱的 GUI 自动化(截图+点击,三天两头崩),要么是覆盖面有限的API 封装,要么干脆阉割掉 90% 的功能重新造轮子。有没有一种方式,既能保留软件的全部专业能力,又能让 AI Agent 轻松驾驭?

香港大学数据智能实验室(HKUDS)给出了一个简单而优雅的答案:CLI-Anything。

一句话理解 CLI-Anything

今天的软件为人而生,明天的用户是 Agent。

CLI-Anything 的核心思路极其直接——既然大语言模型天生就擅长处理结构化文本,那就把所有软件都变成命令行工具。一行命令,就能为任意开源软件的代码库自动生成一套完整的 CLI 接口,让 GIMP、Blender、LibreOffice 等专业软件瞬间变成 AI Agent 可以直接调用的原生工具。

项目自 2026 年 3 月上线以来迅速走红,GitHub Star 数突破 19,000,登上 GitHub Trending 榜单,成为 Agent 工具链领域最受关注的开源项目之一。

为什么是 CLI?

CLI-Anything 的核心判断是:在 Agent 和软件之间,应该补一层命令行接口,而不是让 Agent 直接去搏斗 GUI。理由很充分:

结构化、可组合:文本命令天然匹配 LLM 的输入格式,可自由串联成复杂工作流

自描述:一个 --help 就能让 Agent 自动发现所有功能

Agent 友好:内置 JSON 输出,Agent 无需任何额外解析

确定且可靠:输出稳定一致,Agent 行为可预测

久经验证:Claude Code 每天就是通过 CLI 执行数以千计的真实任务

怎么工作的?全自动 7 阶段流水线

CLI-Anything 设计了一套完整的自动化流水线,从源码分析到发布上线全程无需人工介入:

分析 — 扫描源码,将 GUI 操作映射到后端 API

设计 — 规划命令分组、状态模型、输出格式

实现 — 构建基于 Click 框架的 CLI,包含 REPL 交互、JSON 输出、撤销/重做

规划测试 — 生成测试计划,涵盖单元测试和端到端测试

编写测试 — 实现完整测试套件

文档 — 自动生成使用文档和测试报告

发布 — 生成 setup.py,一键安装到系统 PATH

一个关键的设计原则是:生成的 CLI 不会重新实现软件功能。它生成合法的项目文件(ODF、MLT XML、SVG 等),然后调用真实软件的后端去渲染。GIMP 就用 GIMP 的引擎,Blender 就用 Blender 的渲染器——功能一个不少,零妥协。

实测验证:11 款软件,1,508 项测试,100% 通过

HKUDS 团队在 11 款复杂的专业软件上进行了完整验证,涵盖创意、办公、通信、图表和 AI 内容生成多个领域:

软件

领域

测试数

GIMP

图像编辑

107

Blender

3D 建模与渲染

208

Inkscape

矢量图形

202

Audacity

音频制作

161

LibreOffice

办公套件

158

OBS Studio

直播与录制

153

Kdenlive

视频剪辑

155

Shotcut

视频剪辑

154

Zoom

视频会议

22

Draw.io

图表绘制

138

AnyGen

AI 内容生成

50

合计


1,508(100% 通过)

测试覆盖四个层级:核心函数的单元测试、项目文件完整性的端到端测试、调用真实软件后端的集成测试,以及通过子进程调用已安装命令的 CLI 验证测试。

使用体验:简单到不可思议

以 Claude Code 为例,只需三步:

# 1. 添加插件市场/plugin marketplace add HKUDS/CLI-Anything# 2. 安装插件/plugin install cli-anything# 3. 为任意软件生成 CLI/cli-anything:cli-anything ./gimp

生成完成后,Agent 就可以像这样操控软件:

# 创建一个 LibreOffice 文档$ cli-anything-libreoffice document new -o report.json --type writer# 添加标题$ cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report"# 导出为真实 PDF(调用 LibreOffice 无头模式渲染)$ cli-anything-libreoffice --project report.json export render output.pdf -p pdf

除了 Claude Code,CLI-Anything 还支持 OpenCode、OpenClaw、Codex、Qodercli 等多个 AI 编程平台,并计划支持 Cursor、Windsurf 等更多工具。

适用场景广泛

CLI-Anything 的野心不止于几款创意软件。它理论上适用于任何有代码库的软件:

创意与媒体:Blender、GIMP、Krita、Inkscape、Audacity、OBS Studio

开发工具:Jenkins、Gitea、Portainer、SonarQube

数据与分析:JupyterLab、Apache Superset、Metabase

企业与办公:LibreOffice、NextCloud、Grafana

科学计算:FreeCAD、QGIS、ImageJ、KiCad

AI/ML 平台:Stable Diffusion WebUI、ComfyUI、Open WebUI

常见误解:CLI-Anything ≠ MCP 工具封装

很多人第一次听到 CLI-Anything 时会误以为它是自动封装出一堆 MCP(Model Context Protocol)工具。实际上两者是完全不同的技术路线:

MCP 路线:Agent 通过 JSON-RPC 协议调用 MCP Server 暴露的函数/方法,需要运行一个常驻的 Server 进程,工具以结构化的函数签名描述给模型。

CLI-Anything 路线:Agent 通过 Bash/Shell 直接执行命令行程序,不需要额外的协议层和常驻进程,工具就是一个安装在系统 PATH 里的可执行命令。

两者的调用链路对比:

MCP 路线: Agent → MCP 协议 → MCP Server 进程 → 软件
CLI-Anything: Agent → Bash/Shell → CLI 命令 → 软件

对比维度

MCP 工具

CLI-Anything

接口形式

JSON-RPC 函数调用

Shell 命令行

运行依赖

需要 MCP Server 常驻进程

无需额外进程,命令即用即走

能力发现

通过协议的工具描述 schema

通过 `--help` 和 `which` 命令

输出格式

协议约定的 JSON 响应

`--json` 参数返回结构化 JSON

适用场景

需要协议级集成的平台

任何能执行 Shell 命令的 Agent

CLI-Anything 赌的是一个朴素的事实:AI Agent 本来就擅长执行 Shell 命令。Claude Code、Cursor、Codex 每天都在通过终端操控各种工具,所以不需要额外的协议层,直接生成 CLI 就是最轻量、最通用的方案。一个 --help 就能让 Agent 自动发现所有功能,不需要额外的工具描述文件或注册流程。

社区评价:方向对了,细节在路上

CLI-Anything 在社区引发了广泛关注和讨论。知乎上的深度拆解文章给出了中肯的评价:

CLI-Anything 真正有价值的地方,不是它今天已经把"任意软件"都接成了 Agent 工具,而是它把一套可复制的 GUI → CLI → Agent 适配方法写成了标准件。

当然也有人指出它的局限性:只能处理开源软件(需要源码分析),生成过程依赖强模型(Claude Sonnet 4 级别),对 Blender 这种巨型项目可能无法一次覆盖所有功能。但项目提供了 /refine 命令支持增量优化,可以逐步扩大功能覆盖。

结语

CLI-Anything 代表了 Agent 时代一个极其重要的方向:工具接口层。当我们讨论 AI Agent 的落地时,往往关注模型能力、推理框架、任务规划,却忽略了一个最基础的问题——Agent 怎么操作真实世界的软件?

CLI-Anything 给出的答案简洁而有力:用 CLI 做桥梁,让每一款软件都说 Agent 听得懂的语言。这可能不是最终的答案,但它踩中了一个迟早必须补上的关键环节。对于关注 AI Agent 生态的开发者来说,这是一个值得持续关注的项目。

版权声明:本文转载于今日头条,版权归作者所有,如果侵权,请联系本站编辑删除

猜你喜欢