跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI

CLI-Anything:让所有软件都能被 AI Agent 原生调用

CLI-Anything 通过命令行接口(CLI)让任意软件能被 AI Agent 直接调用。它解决了传统 UI 自动化脆弱、缺乏结构化数据的问题,利用 LLM 分析源代码生成标准化 CLI 工具。项目支持 GIMP、Blender 等 9 个生产级应用,提供七阶段全自动流水线及 HARNESS.md 方法论,确保真实软件集成与测试覆盖。通过 Claude Code 插件或手动安装,开发者可快速将现有软件转化为 Agent 原生工具,实现无需 API 或 GUI 重建的无缝控制。

莫名其妙发布于 2026/4/7更新于 2026/9/1056 浏览

CLI-Anything:让所有软件都能被 AI Agent 原生调用

项目背景

香港大学数据科学实验室(HKUDS)推出的 CLI-Anything 项目,核心目标非常明确:让所有软件都能被 AI Agent 原生调用。它的愿景是'今天的软件服务于人类,明天的用户将是 Agent'。目前该项目在 GitHub 上已有超过 1.1k Stars,主要使用 Python 开发。

为什么需要 CLI?

现有的 AI 方案在使用真实工具时面临不少痛点。UI 自动化往往依赖截图和点击,极其脆弱;而重新实现功能又会导致能力阉割。Agent 需要的是结构化的数据和确定的行为,但大多数软件缺乏标准化的输出格式,定制集成成本也过高。

CLI-Anything 的核心洞察在于:CLI(命令行界面)是人类和 AI Agent 的通用接口。相比 UI,它具有以下优势:

  • 结构化且可组合:文本命令天然匹配 LLM 格式,便于链式组合复杂工作流。
  • 轻量且通用:最小开销,跨系统无依赖。
  • 自描述:--help 标志提供自动文档,Agent 可自动发现。
  • 确定且可靠:一致的结果实现可预测的 Agent 行为。
技术架构与流程

项目采用七阶段全自动流水线来构建 CLI,整个过程由 LLM 驱动,从分析源代码到发布安装一气呵成:

/cli-anything <software-path-or-repo>
  ↓ 1. 🔍 Analyze(分析)— 扫描源代码,映射 GUI 动作到 API
  ↓ 2. 📐 Design(设计)— 架构命令组、状态模型、输出格式
  ↓ 3. 🔨 Implement(实现)— 构建 Click CLI,含 REPL、JSON 输出、撤销/重做
  ↓ 4. 📋 Plan Tests(规划测试)— 创建 TEST.md,含单元测试+E2E 测试计划
  ↓ 5. 🧪 Write Tests(编写测试)— 实现全面测试套件
  ↓ 6. 📝 Document(文档)— 更新 TEST.md 结果
  ↓ 7. 📦 Publish(发布)— 创建 setup.py,安装到 PATH

在设计原则方面,它强调真实软件集成。CLI 必须调用实际应用进行渲染,而不是用 Pillow 替代 GIMP 这种玩具实现。同时内置了 --json 标志和标准 --help 命令,方便 Agent 发现和使用。

已验证的生产级应用

目前项目已经成功为 9 个主流软件生成了 CLI 工具,总计通过了 1,436 个测试(包括 1,011 个单元测试和 425 个 E2E 测试),通过率 100%。

软件领域CLI 命令示例后端技术测试数
GIMP图像编辑cli-anything-gimpPillow + GEGL/Script-Fu107
Blender3D 建模cli-anything-blenderbpy (Python 脚本)208
Inkscape矢量图形cli-anything-inkscape直接 SVG/XML 操作202
Audacity音频制作cli-anything-audacityPython wave + sox161
LibreOffice办公套件cli-anything-libreofficeODF 生成 + 无头 LO158
OBS Studio直播录制cli-anything-obs-studioJSON 场景 + obs-websocket153
Kdenlive视频编辑cli-anything-kdenliveMLT XML + melt 渲染器155
Shotcut视频编辑cli-anything-shotcut直接 MLT XML + melt154
Draw.io图表绘制cli-anything-drawiomxGraph XML + draw.io CLI138
如何上手

如果你使用的是 Claude Code,可以通过插件市场快速集成。当然,也可以手动克隆仓库并安装。

以 GIMP 为例,生成后的 CLI 可以这样使用:

# 查看帮助信息
cli-anything-gimp --help

# 创建项目(指定尺寸)
cli-anything-gimp project new --width 1920 --height 1080 -o poster.json

# JSON 模式(供 Agent 使用)
cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e"

# 进入交互式 REPL
cli-anything-gimp

这种方式消除了复杂的解析逻辑,让 Agent 能直接理解意图并执行操作。

核心方法论:HARNESS.md

项目的核心 SOP 是 HARNESS.md。它记录了通过自动化生成流程提炼出的成熟模式,比如:

  • 拒绝玩具实现:CLI 必须调用真实后端,不能用简单导出工具替代。
  • 注意渲染差距:GUI 应用在渲染时才应用效果,需确保 CLI 操作文件后能正确触发渲染。
  • 时间码精度:非整数帧率(如 29.97fps)需使用 round() 而非 int(),测试容差设为±1 帧。
  • 输出验证:不能仅凭退出码 0 就认为成功,需验证 magic bytes、像素分析等。
总结

CLI-Anything 展示了如何将人类设计的软件转化为 Agent 原生工具。它不依赖 API 或 GUI 重建,而是通过封装真实软件的能力,为 AI Agent 提供了通用的访问入口。随着更多应用类别的支持,这一生态有望成为未来人机交互的重要基础设施。

目录

  1. CLI-Anything:让所有软件都能被 AI Agent 原生调用
  2. 项目背景
  3. 为什么需要 CLI?
  4. 技术架构与流程
  5. 已验证的生产级应用
  6. 如何上手
  7. 查看帮助信息
  8. 创建项目(指定尺寸)
  9. JSON 模式(供 Agent 使用)
  10. 进入交互式 REPL
  11. 核心方法论:HARNESS.md
  12. 总结

更多推荐文章

查看全部
  • 汽车雷达多径幽灵目标检测:GLRT 与稀疏压缩感知解析
  • 以太坊 Optimism 关键漏洞修复:攻击者可无限铸造代币获百万赏金
  • FPGA 高速通信:Aurora64B/66B IP 使用指南
  • Stable Diffusion v4.10 与 ComfyUI 整合包配置及问题解决方案
  • 前端请求后端接口 404/405/500 状态码排查与解决
  • 兰斯顿·休斯《梦想》与《忧郁》诗作译文整理
  • Python aespy 包语法、参数与实战案例
  • FinalShell Windows 远程连接 Linux 服务器使用指南
  • Vue3+TypeScript 中 Promise<string> 转 string 类型错误解析及异步处理
  • 向量数据库:概念、原理与核心应用场景
  • SpringCloud 微服务支付全链路生产级实践:接口对接与状态闭环
  • C++ 从零实现 TCP Socket 网络工具实战
  • DirSearch Web 路径扫描工具安装与实战用法指南
  • Python 深度学习:ResNet、LSTM、ShuffleNet 与 CNN 网络结构对比分析
  • Python 基础语法入门:常量、变量与运算符详解
  • 结构化思维:ChatGPT 如何实现高效信息管理
  • Midreal AI 工具深度解析:交互式小说生成与插图创作实践
  • Cloudflare AI Gateway 接入 Google AI Studio 配置与 API Key 安全
  • C++ 异常处理机制详解:抛出、捕获与安全规范
  • AIGC 个性化与定制化内容生成:技术原理与应用实践

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online