反馈问题

本页章节 选择要查看的部分

CLI-Anything

把任何有代码库的软件自动转成 AI Agent 可直接调用的 Python CLI 的开源框架,含 7 阶段生成流水线、CLI-Hub 包管理器与 Claude Code 等宿主插件。

开发工具301更新日期 2026/10/15 15:07:57

工具信息

支持平台Claude Code / Cursor / Codex / GitHub Copilot CLI / Reasonix / Hermes / OpenCode
收录时间2026/10/03 19:35:49

CLI-Anything 是香港大学数据智能实验室(HKUDS)开源的框架,目标是让任何具备代码库的软件都变成 AI Agent 可以直接调用的命令行工具。它不重写目标软件,也不依赖截图加点击的 UI 自动化,而是围绕软件的真实后端自动生成一个基于 Python Click 的 CLI,让 Agent 用结构化命令完成原本必须在图形界面里手工操作的任务。官方口号是 "Make any software with a codebase Agent-native"。

核心功能

CLI-Anything 以 Claude Code 插件为主要入口,并通过 CLI-Hub 包管理器把生成的 CLI 分发给各类 Agent。

  • 7 阶段自动化流水线:从代码库分析、架构设计、实现、测试计划、测试编写、文档到发布,一次 /cli-anything 调用即可产出完整 CLI harness。
  • 真实后端调用:LibreOffice 生成真实 PDF、Blender 渲染真实 3D 场景、Audacity 通过 sox 处理音频,官方强调"零玩具实现"。
  • SKILL.md 自动生成:每个 CLI 都带有 SKILL.md,含 YAML frontmatter、命令组清单和用法示例,便于 Agent 发现与编排。
  • CLI-Hub 包管理:通过 cli-hub list / search / info / install / update / uninstall / launch 自主发现、安装和启动所需 CLI。
  • 双交互模式:不带参数进入带状态管理的 REPL,也可以用子命令编写脚本和流水线。
  • Agent 友好的输出:每个命令内建 --json 输出结构化数据,同时保留人类可读的表格输出。

界面与体验

CLI-Anything 的使用界面就是终端。生成的所有 CLI 共享同一套 REPL 皮肤(repl_skin.py):启动时显示品牌横幅与版本,提示符会带上当前项目状态,例如 blender[ProductShot]>,并支持命令历史、进度指示和统一格式;命令既能在交互式会话里逐条执行,也能一次性带参数运行。

对 Agent 来说,能力发现走的是标准路径:--help 查看可用命令与参数,which cli-anything-<software> 确认安装位置,--json 拿到机器可读结果。官方示例中,cli-anything-libreoffice 会输出 "Created Writer document: report.json" 这类状态行,JSON 模式下返回文档名称、类型、页数、元素数等字段。

完整使用流程

以下流程以 Claude Code 为例,目标是为 GIMP 生成一个可用的 CLI 并完成一次真实导出。前置条件有三项:Python 3.10 及以上、一个带代码库的目标软件(本地源码目录或 GitHub 仓库地址)、一个受支持的 AI 编码 Agent;官方同时提醒,可靠生成需要前沿级模型。

第 1 步:安装插件或 CLI-Hub

/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything

如果只想使用社区已经做好的 CLI,可以改用包管理器方式:pip install cli-anything-hub,然后用 cli-hub list 浏览、cli-hub search <query> 搜索、cli-hub install <name> 安装。

第 2 步:为目标软件生成 CLI

/cli-anything ./gimp
/cli-anything https://github.com/blender/blender

插件会依次走完 7 个阶段,产出 <software>/agent-harness 目录,其中包含 cli_anything.<software> 包、Click 命令、核心模块、统一 REPL 皮肤与后端封装,以及 tests/ 下的测试与 TEST.md、面向该软件的架构说明文档。

第 3 步:安装并首次启动

cd gimp/agent-harness
pip install -e .
which cli-anything-gimp
cli-anything-gimp --help
cli-anything-gimp

最后一条命令不带参数会进入交互式 REPL,横幅显示类似 cli-anything-blender v1.0.0 的标识,提示符随当前项目切换,exit 退出。

第 4 步:完成一个核心任务

以文档处理为例,Agent 用 cli-anything-libreoffice 创建文档、加标题、插表格并导出 PDF:

cli-anything-libreoffice document new -o report.json --type writer
cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report" --level 1
cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3
cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite

第 5 步:验证结果

  1. 导出命令会返回文件大小与调用的后端(例如 Exported: output.pdf (42,831 bytes) via libreoffice-headless),据此确认走的是真实软件而非内置替代实现。
  2. 用 cli-anything-libreoffice --json document info --project report.json 检查结构信息,Agent 可自行判断任务是否完成。
  3. 需要扩大覆盖面时运行 /cli-anything:refine ./gimp "batch processing and filters";需要回归与规范检查时运行 /cli-anything:test 和 /cli-anything:validate。
  4. 在仓库内跑测试:cd <software>/agent-harness && python3 -m pytest cli_anything/<software>/tests/ -v,并用 CLI_ANYTHING_FORCE_INSTALLED=1 做强制已安装模式验证。

亮点与差异

与 GUI Agent、RPA 脚本或重新实现的简化 SDK 相比,CLI-Anything 的核心差异是坚持包装真实软件,而不是替代它。

官方定位:We build structured interfaces TO software, not replacements —— 结构化接口指向真实软件,而不是替代品。
常见痛点CLI-Anything 的做法
AI 用不了真实专业工具直连 Blender、LibreOffice、FFmpeg 等真实后端,保留完整专业能力
UI 自动化经常失效不截图、不点击,去掉 RPA 式的脆弱环节
Agent 需要结构化数据内建 JSON 输出,同时提供人类可读格式便于调试
定制集成成本高一套插件 + 7 阶段流水线,可面向任意代码库生成 CLI
原型与生产有差距README 徽章标注 2,461 项测试全通过,并带真实软件校验

另外两个差异化能力值得注意:把多个零散的 Web API 文档或 SDK 交给插件,可以合成一个有状态、成体系的 CLI,用一个工具替代几十个原始 API 调用;由于 GUI 软件已被 harness 化,还可以用代码与终端批量合成 Agent 任务、评测器和 benchmark,这条路线在效率上优于 GUI Agent 方案。

典型使用场景

官方把适用对象分为十余类:GitHub 开源项目、AI/ML 平台、数据分析、开发工具、创意与媒体、游戏开发、科学计算、企业与办公、沟通协作、图表与可视化、网络与基础设施、测试与 Mock、图形与 GPU 调试、制造与机床控制、视频与字幕、AI 原生搜索与 AI 内容生成。凡是需要 Agent 稳定操作专业软件、又不想维护 API 胶水代码的场景,都可以用同一套方法处理。

下面是一些已生成的代表性 harness,可以看出覆盖广度与测试投入。

软件命令后端测试
Blendercli-anything-blenderbpy(Python 脚本)208
Inkscapecli-anything-inkscape直接操作 SVG/XML202
Audacitycli-anything-audacityPython wave + sox161
LibreOfficecli-anything-libreofficeODF 生成 + 无头 LibreOffice158
OBS Studiocli-anything-obs-studioJSON 场景 + obs-websocket153
Draw.iocli-anything-drawiomxGraph XML + draw.io CLI138
GIMPcli-anything-gimpPillow + GEGL/Script-Fu107
Ollamacli-anything-ollamaOllama REST API98
Kdenlive / Shotcutcli-anything-kdenlive / cli-anything-shotcutMLT XML + melt 渲染器155 / 154
s&boxcli-anything-sboxSource 2 引擎文件直读写244

官方还展示了若干完整演示:FreeCAD 中 Agent 用 preview、preview live 与 trajectory.json 逐步搭建好奇号风格探测车;Blender 中生长出轨道中继无人机;Draw.io 中约 4 分钟从零画出 HTTPS 握手时序图;此外还有 Slay the Spire II 游戏自动化、VideoCaptioner 自动字幕,以及通过 MCP 桥接驱动运行中的 ArcGIS Pro 会话。

官方 Draw.io 演示:Agent 在 Claude Code 中用 cli-anything-drawio 逐条执行命令,约 4 分钟在 draw.io 里生成 HTTPS 握手时序图,产出 .drawio 与 .png 文件。
官方 Draw.io 演示:Agent 在 Claude Code 中用 cli-anything-drawio 逐条执行命令,约 4 分钟在 draw.io 里生成 HTTPS 握手时序图,产出 .drawio 与 .png 文件。

定价

项目本体完全开源免费,实际成本来自生成流程消耗的模型额度以及目标软件自身的授权。

方案价格适合谁
CLI-Anything 仓库与插件免费,Apache-2.0希望自己生成 CLI 的开发者和团队
CLI-Hub(cli-anything-hub)免费 pip 包只想安装现成 CLI 的 Agent 用户
生成的 CLI harness随仓库开源需要把某个软件接入 Agent 工作流
目标软件本身按其自身许可证,可能需商业授权使用闭源或商业软件时需自行确认授权

版本与维护状态

项目由 HKUDS 持续维护,README 记录了大量近期新增的 harness(Zotero、Calibre、OpenRefine、n8n、Mailchimp、3MF、Tigris,以及社区贡献的 ArcGIS Pro 桥接等),并提供中、日、德文 README。许可证为 Apache-2.0。测试统计存在两处口径:徽章与 harness 汇总表写 2,461 项全通过(1,732 单元 + 579 端到端 + 19 Node.js),而测试汇总输出行的 TOTAL 为 2,464(包含随后新增的 harness),引用时需注意这一差异。项目还发布了技术报告《CLI-Anything: Towards Agent-Native Computer Use》(arXiv:2606.03854)。

局限与注意

官方在 README 中明确列出以下限制,选型前应逐项评估。

  • 依赖强模型:可靠生成需要前沿级模型(官方举例 Claude Opus 4.6、Claude Sonnet 4.6、GPT-5.4),较弱或更小的模型可能产出不完整、错误的 CLI,需要大量人工修正。
  • 依赖源代码:7 阶段流水线从源码分析与生成;目标软件只提供需要反编译的编译产物时,harness 质量与覆盖度会明显下降。
  • 通常需要迭代:单次 /cli-anything 往往无法覆盖全部能力,一般要多次 /refine 才能达到生产质量。
  • 环境成本不可省:真实软件是硬性依赖,缺少后端时测试直接失败而不是跳过。
  • 许可证与合规:项目本体为 Apache-2.0,但生成的 CLI 调用目标软件本身,闭源或商业软件(如 ArcGIS Pro 采用官方 ArcPy/SDK 桥接)仍需遵守其授权条款。
Roadmap 中仍为未完成状态的能力包括:闭源软件与 Web 服务的打包、Agent 任务完成率 benchmark、更多应用类别(CAD、DAW、IDE、EDA、科学工具),以及 Claude Code 之外的更多 Agent 框架集成。生成 SKILL.md 一项已完成。

常见问题

以下问题均能由官方资料直接回答。

  • 没有 API 的软件能用吗?可以。CLI-Anything 不要求目标软件提供 API,它直接对接真实后端,把项目文件生成与软件原生渲染组合成命令。
  • 闭源软件支持吗?目前流水线以源码分析为主,闭源与 Web 服务打包仍在 roadmap 中;对 ArcGIS Pro 这类商业软件,官方采用封装官方 ArcPy/SDK 的桥接方案。
  • 生成的 CLI 只能给 Claude Code 用吗?不是。生成器目前覆盖 Claude Code、Cursor、Codex、GitHub Copilot CLI、Reasonix、Hermes 等宿主,产出的 CLI 是普通 Python 包,任何能执行命令的 Agent 都能调用。
  • 测试失败会跳过吗?不会。官方设计原则写明缺少真实后端时测试失败而非跳过,以保证功能真实性。
  • 自研 harness 能贡献回去吗?可以,按 cli-anything-plugin/PUBLISHING.md 的发布流程提交,并参考 HARNESS.md 方法论文档。

产品主页与下载

一句话总结

把任何有代码库的软件自动转成 AI Agent 可直接调用的 Python CLI 的开源框架,含 7 阶段生成流水线、CLI-Hub 包管理器与 Claude Code 等宿主插件。

本文文字与配图由 AI 生成或辅助整理,内容仅供参考,请以官方资料为准。