乐于分享
好东西不私藏

36.5k stars!让所有软件具备AI Agent能力:HKUDS开源项目重新定义CLI交互范式

36.5k stars!让所有软件具备AI Agent能力:HKUDS开源项目重新定义CLI交互范式

一、现在的 AI Agent 差什么?

屏幕前的你如果用过 Claude Code、OpenClaw 这些 AI 编程助手,不知道有没有一种感觉,就是它们确实很强,但强得很憋屈。

强在哪里呢?强在能写代码,能读文件,能调用工具。但凡是个正经软件——CLI pnder、FreeCAD、GIMP、QGIS——它们就只能眼巴巴看着,干着急。

你给 AI 一个 Photoshop,让它帮你把一百张照片批量调色,它能做到吗?做不到。因为 Photoshop 没有命令行接口,AI 根本控制不了它。

这个问题不是某个 Agent 的问题,这是整个 AI Agent 生态的根本性缺陷:现在的 AI Agent 本质上只能控制有 API 的软件,而世界上绝大多数有生产力的软件,压根没有给 AI 留的接口。

GUI 软件是这样,闭源商业软件是这样,甚至很多开源软件也是这样。你总不能让 AI 去操控鼠标点击 GUI 吧?那效率低到可以忽略不计。

这就是 CLI-Anything 要解决的问题。

二、CLI-Anything 是什么?

一句话:HKUDS 出品的这个项目,能让 AI 直接控制任意软件——不是通过截图,不是通过鼠标,而是通过自动生成的命令行接口。

GitHub: github.com/HKUDS/CLI-Anything  Stars: 36.5k  License: Apache 2.0  语言: Python

一句话描述:分析任意软件的源代码,自动生成一套完整的 CLI 接口,让 AI Agent 能通过命令行操控这个软件。

它的核心理念非常清晰——CLI 是 AI 和软件之间的通用语言。CLI 是文本化的、结构化的、自描述的,几乎所有软件多少都带 CLI 支持,或者至少底层调用的函数是可以通过源码逆向出来的。CLI-Anything 做的事,就是把这个过程自动化了。

  • CLI 作为统一接口:文本命令天然适配 LLM 的输出格式,可以组合成复杂工作流。所有主流 AI Coding Agent 都支持执行 Shell 命令,Claude Code 每天通过 CLI 执行成千上万次真实工作流。
  • 七阶段渐进式生成:Analyze → Design → Implement → Plan Tests → Write Tests → Document → Publish。每一阶段都有明确的产出,不是生成完就完事了,而是包含完整的测试和文档。
  • 智能 Refine 机制:生成完 CLI 之后,还可以通过 /cli-anything:refine 命令持续扩展功能覆盖范围。每次 refinement 都是增量的、不破坏已有功能的。
  • SKILL.md 原生支持:每个生成的 CLI 自带 AI 可发现的技能定义文档,AI Agent 可以通过自然语言动态发现和调用新生成的命令。
  • CLI-Hub 社区生态:通过 pip install cli-anything-hub 可以浏览、安装和管理社区贡献的所有 CLI 扩展。目前已经支持 Blender、FreeCAD、GIMP、QGIS、Zotero、Krita、Godot、MuseScore 等 18 种主流软件的完整 CLI 覆盖。
  • CLI-Hub 工作流[安装 CLI-Hub][浏览可用 CLI][一键安装目标软件的 CLI][AI Agent 通过自然语言调用]
  • 三、怎么用?

    环境要求:Python 3.10+

    快速上手(以 Claude Code 为例)

    第一步:添加插件市场

    /plugin marketplace add HKUDS/CLI-Anything

    第二步:安装插件

    /plugin install cli-anything

    第三步:为任意软件生成 CLI 

    /cli-anything ./blender

    就这一行命令,CLI-Anything 会自动分析 Blender 的源代码,映射 GUI 操作到底层 API,设计命令结构,实现完整的 Click CLI,编写测试用例,生成文档,最后打包安装。整个过程无需人工干预。

    实战案例:为没有 CLI 的开源软件生成可用命令行接口

    第一次尝试(失败):直接尝试通过命令行调用 Blender,发现 Blender 虽然有命令行渲染模式,但完全没有封装好的子命令体系,很多高级功能(如材质管理、动画曲线编辑、粒子系统配置)根本无法通过命令行访问。

    介入:运行 /cli-anything ./blender,CLI-Anything 开始分析 Blender 的 Python API 和 C/C++ 源码,识别出 7 大功能模块共计 2000+ 可用函数,自动生成了 258 条命令。

    成功:生成完毕后,让 AI Agent 直接在命令行里输入了 blender scene create --name=demo --materials=metal --physics=cloth,Blender 成功渲染出了一张符合要求的图。整个过程 AI 没有点击过一次鼠标,没有看过一个 GUI 弹窗。

    四、技术亮点

    1. 渐进式七阶段生成管线

    不是一次性生成,而是 Analyze → Design → Implement → Plan Tests → Write Tests → Document → Publish 逐步推进,每个阶段有明确的产出和验证机制。这意味着即使软件很复杂,生成失败也是在某个具体阶段,不会整体崩溃。

    2. 源码级别的 GUI 逆向

    通过静态分析源码,将 GUI 操作映射到对应的 API 调用。这比截图分析要精准得多,不依赖视觉识别,也不受界面语言影响,英文版和中文版 Blender 都能正确生成相同的 CLI。

    3. Click 框架 + REPL 交互

    生成的 CLI 基于 Click 框架,同时支持普通命令调用和交互式 REPL 模式。输出可选 JSON 格式,方便 AI 解析 structured response 而不是靠字符串匹配。

    4. 零人工干预的增量 Refine

    refine 命令会自动做 gap analysis,识别当前 CLI 覆盖范围和软件实际能力之间的差距,然后针对性地实现新命令。每次 refinement 都是增量的,不会破坏已有的命令。

    5. 跨平台的 Agent 生态桥接

    支持 Claude Code、Pi、OpenClaw、OpenCode、Codex、GitHub Copilot CLI 等所有主流 AI Coding Agent。通过统一的 SKILL.md 格式,不同 Agent 可以发现并使用同一个 CLI,真正实现了「一次生成,到处调用」。

    五、为什么这件事意义重大?

    AI Agent 的进化,大致可以分成几个阶段。

    第一个阶段是纯文本生成——LLM 只能输出文字,这是 2022 年之前的事情。

    第二个阶段是多工具调用——LLM 开始能调用搜索、计算器、代码执行,Agent 这个概念真正火起来就是在这个阶段。代表性的就是 MCP 协议,解决了工具之间的连接问题。

    第三个阶段,是现在正在发生的——AI Agent 开始需要操控真实世界中的软件。你想让 AI 帮你完成一个 Blender 渲染任务,它得能真正打开 Blender、控制 Blender、导出结果,而不只是给你一个「理论上你可以这样做」的建议。

    CLI-Anything 做的事,就是让这个第三阶段来得更快一些。它解决的不是 AI 能做什么的问题,而是 AI 能控制什么的问题。

    当一个 AI Agent 能通过自然语言操控你电脑上的任何软件的时候,它的能力边界就不是 AI 模型本身的能力了,而是所有软件能力加起来的上限。这个意义,怎么强调都不为过。

    六、总结

    CLI-Anything 的核心价值,是让 AI Agent 从「能做什么」进化到「能操控什么」。

    如果你在用 AI Coding Agent,但苦于它控制不了你电脑上的专业软件——Blender、FreeCAD、QGIS——这个项目直接解决了这个痛点。一行命令生成完整 CLI,AI 立刻就能操控这些软件。

    如果你在做 AI Agent 开发,想让你的 Agent 能控制更多软件但又不想自己写集成——CLI-Anything 的生成管线做了所有脏活累活,你拿走直接用。

    如果你只是好奇 AI 和软件交互的天花板在哪里——CLI-Hub 展示了一个未来:所有软件都有 AI 接口,所有 AI 都能调用所有软件。这个未来,现在已经在这里了。

    GitHub: github.com/HKUDS/CLI-Anything  Stars: 36.5k  语言: Python  License: Apache 2.0

    如果你觉得这个让 AI 控制一切软件的项目有意思,欢迎 Star 支持开源 🧬

    📌 数据来源:GitHub Trending,2026-05-19 | 项目:HKUDS/CLI-Anything