工具信息
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 步:验证结果
- 导出命令会返回文件大小与调用的后端(例如
Exported: output.pdf (42,831 bytes) via libreoffice-headless),据此确认走的是真实软件而非内置替代实现。 - 用
cli-anything-libreoffice --json document info --project report.json检查结构信息,Agent 可自行判断任务是否完成。 - 需要扩大覆盖面时运行
/cli-anything:refine ./gimp "batch processing and filters";需要回归与规范检查时运行/cli-anything:test和/cli-anything:validate。 - 在仓库内跑测试:
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,可以看出覆盖广度与测试投入。
| 软件 | 命令 | 后端 | 测试 |
|---|---|---|---|
| Blender | cli-anything-blender | bpy(Python 脚本) | 208 |
| Inkscape | cli-anything-inkscape | 直接操作 SVG/XML | 202 |
| Audacity | cli-anything-audacity | Python wave + sox | 161 |
| LibreOffice | cli-anything-libreoffice | ODF 生成 + 无头 LibreOffice | 158 |
| OBS Studio | cli-anything-obs-studio | JSON 场景 + obs-websocket | 153 |
| Draw.io | cli-anything-drawio | mxGraph XML + draw.io CLI | 138 |
| GIMP | cli-anything-gimp | Pillow + GEGL/Script-Fu | 107 |
| Ollama | cli-anything-ollama | Ollama REST API | 98 |
| Kdenlive / Shotcut | cli-anything-kdenlive / cli-anything-shotcut | MLT XML + melt 渲染器 | 155 / 154 |
| s&box | cli-anything-sbox | Source 2 引擎文件直读写 | 244 |
官方还展示了若干完整演示:FreeCAD 中 Agent 用 preview、preview live 与 trajectory.json 逐步搭建好奇号风格探测车;Blender 中生长出轨道中继无人机;Draw.io 中约 4 分钟从零画出 HTTPS 握手时序图;此外还有 Slay the Spire II 游戏自动化、VideoCaptioner 自动字幕,以及通过 MCP 桥接驱动运行中的 ArcGIS Pro 会话。

定价
项目本体完全开源免费,实际成本来自生成流程消耗的模型额度以及目标软件自身的授权。
| 方案 | 价格 | 适合谁 |
|---|---|---|
| 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方法论文档。
产品主页与下载
- 官方仓库(产品主页):https://github.com/HKUDS/CLI-Anything
- 官网:https://clianything.net
- CLI-Hub 目录:https://hkuds.github.io/CLI-Anything/
- 方法论文档:cli-anything-plugin/HARNESS.md
- 技术报告:arXiv:2606.03854
- 安装:
pip install cli-anything-hub;Claude Code 使用/plugin marketplace add HKUDS/CLI-Anything与/plugin install cli-anything
一句话总结
把任何有代码库的软件自动转成 AI Agent 可直接调用的 Python CLI 的开源框架,含 7 阶段生成流水线、CLI-Hub 包管理器与 Claude Code 等宿主插件。
本文文字与配图由 AI 生成或辅助整理,内容仅供参考,请以官方资料为准。





