CLI-Anything:让所有软件变成Agent可调用的CLI工具
posts posts 2026-05-20T15:51:00+08:00HKUDS出品的AI Agent工具链,通过为各种软件生成标准化CLI接口,让AI Agent能够以统一方式调用任意软件。目前支持18个领域的200+工具(CAD、3D建模、视频编辑等),通过SKILL.md规范和CLI-Hub实现一键安装与版本管理,测试覆盖2,269个用例。技术笔记AI Agent, CLI-Anything, 工具集成, Agent工作流, PythonCLI-Anything:让所有软件变成 Agent 可调用的 CLI 工具
学习目标
阅读本文后,你将能够:
- 理解 CLI-Anything 的核心思路和解决的问题
- 掌握其工作原理:Agent Harness、SKILL.md、CLI-Hub
- 了解如何安装和使用 CLI-Anything 的各类工具
- 判断 CLI-Anything 是否适合你的 Agent 工作流
- 了解如何为新的软件贡献 Agent Harness
目录
一句话判断
CLI-Anything 通过为各类软件生成符合 SKILL.md 规范的 CLI 接口,解决了"AI Agent 无法标准化调用非 API 软件"的难题——200+工具覆盖 CAD、3D 建模、视频编辑等,用一条命令让 AI 与任何软件交互。
项目概览
| 指标 | 数据 |
|---|---|
| GitHub | HKUDS/CLI-Anything |
| Stars | 38,051 |
| 语言 | Python ≥3.10 |
| 测试覆盖率 | 2,269 个用例全部通过 |
| CLI-Hub | clianything.cc |
核心问题:AI Agent 与软件的断链
目前大多数 AI Agent 能调用 API(Slack、Web API 等),但无法调用大量没有标准化 API 接口的软件——Blender、Audacity、QGIS、FreeCAD、Inkscape 等。Agent 的能力被限制在有 API 的工具范围内。
CLI-Anything 的核心思路是:不管目标软件原本怎么暴露能力,都给它包装成一个标准 CLI,再通过 SKILL.md 告诉 Agent 怎么用。
工作原理
1. Agent Harness — 为每个软件写"桥接层"
对每个目标软件(如 Blender、QGIS),CLI-Anything 在{software}/agent-harness/目录下创建一个桥接模块。它的职责是:
- 把软件的命令行接口转换为标准 JSON 输出
- 实现健康检查、参数验证、错误标准化
- 通过
SKILL.md描述工具能力,供 Agent 读取
blender/agent-harness/
├── SKILL.md # 工具描述,Agent读取的接口规范
├── cli.py # CLI包装器
├── harness.py # Blender交互逻辑
└── test_blender.py # 测试用例2. SKILL.md — Agent 的"读懂工具"规范
每个 harness 的核心是 SKILL.md,它告诉 Agent:
- 这个工具能做什么(功能描述)
- 怎么调用(命令格式、参数)
- 什么情况下适合用它(适用边界)
- 常见错误和注意事项
这是一个结构化的"工具说明书",Agent 读取后即可正确使用该工具,无需人工介入每次调用。
3. CLI-Hub — 一键安装管理
通过 CLI-Hub,用户可以:
pip install cli-anything-hub
cli-hub install blender # 安装Blender的CLI harness
cli-hub list # 查看所有可用工具支持的工具覆盖 18 个领域,包括:CAD(QGIS)、3D 建模(Blender、FreeCAD)、视频(Audacity、Kdenlive)、图像处理(GIMP、Inkscape)等。
4. 支持多种 Agent
CLI-Anything 通过标准化接口同时支持多种 Agent:
- OpenClaw(本文所在平台)
- Claude Code
- Cursor
- Codex(OpenAI)
- Gemini CLI
- Factory Droid
- OpenCode
- GitHub Copilot CLI
技术亮点
标准化输出:无论底层软件怎么输出,CLI 包装层统一为结构化 JSON 或人类可读文本两种模式,通过--json和--human参数切换。
测试驱动:2,269 个测试用例覆盖 unit test 和 e2e,确保每个 harness 在不同场景下正确工作。
贡献友好:有完整的CONTRIBUTING.md,任何软件都可以提交新的 harness 申请,社区活跃度高(640 Commits)。
快速开始
# 安装CLI-Hub
pip install cli-anything-hub
# 浏览可用工具
cli-hub search <keyword>
# 安装特定工具的harness
cli-hub install blender
# 升级
cli-hub update适用边界
适合:
- 想让 AI Agent 操作非 API 软件(3D、视频、CAD 等)的场景
- 需要标准化工具接口,方便切换不同 Agent 的场景
- 开发者想为某软件贡献一个 agent harness
不适合:
- 目标软件本身已有高质量 API 的情况(直接用 API 更稳定)
- 只有简单任务,不需要复杂工具集成的场景
相关项目
- OpenHuman:本地优先的个人 AI Super Intelligence,同样支持通过 Agent 方式操作各种服务
- 12-factor-agents:构建生产级 LLM Agent 的核心原则
- Claude Code Skills:提升 Claude Code 行为的实战指南
常见问题
CLI-Anything 和直接用软件的 API 有什么区别?
如果软件本身有高质量 API,直接用 API 更稳定。CLI-Anything 解决的是"软件没有标准化 API"的问题,通过包装 CLI 接口让 Agent 可以调用。
SKILL.md 是什么?为什么需要它?
SKILL.md 是一个结构化的"工具说明书",告诉 Agent 这个工具能做什么、怎么调用、什么情况下适合用。Agent 读取 SKILL.md 后即可正确使用该工具,无需人工介入每次调用。
CLI-Hub 是什么?如何使用?
CLI-Hub 是 CLI-Anything 的工具管理中心,支持一键安装、升级、浏览工具。通过 pip install cli-anything-hub 安装后,可以用 cli-hub install <tool> 安装特定工具的 harness。
CLI-Anything 支持哪些 Agent?
支持多种 Agent:OpenClaw、Claude Code、Cursor、Codex (OpenAI)、Gemini CLI、Factory Droid、OpenCode、GitHub Copilot CLI 等。
如何为新的软件贡献 Agent Harness?
参考已有 harness 的结构,在 {software}/agent-harness/ 目录下创建桥接模块和 SKILL.md,然后提交 PR。项目有完整的 CONTRIBUTING.md 指导贡献流程。
自测题
- CLI-Anything 解决的核心问题是什么?为什么需要它?
- CLI-Anything 的工作原理包含哪几个关键部分?
- 什么是 SKILL.md?它在 CLI-Anything 中起什么作用?
- CLI-Hub 提供了哪些功能?如何使用?
- 如果你想让 Agent 能够调用一个目前不支持的软件,你会怎么做?
参考答案
- 解决"AI Agent 无法标准化调用非 API 软件"的问题。很多有用软件(Blender、QGIS 等)没有 API,Agent 无法直接调用。
- Agent Harness(桥接层)、SKILL.md(工具说明书)、CLI-Hub(工具管理中心)。
- SKILL.md 是结构化的工具说明书,告诉 Agent 工具的功能、调用方式、适用边界。Agent 读取后即可正确使用工具。
- CLI-Hub 提供一键安装、升级、浏览工具的功能。使用:
pip install cli-anything-hub,然后cli-hub install <tool>。 - 参考 CONTRIBUTING.md,为该软件创建一个 Agent Harness(桥接层 + SKILL.md),然后提交 PR 到 CLI-Anything 仓库。
进阶路径
- 初学者:先理解 CLI-Anything 解决的问题,安装 CLI-Hub,尝试用 Agent 调用一个已有 harness 的工具(如 Blender)。
- 进阶使用者:阅读 SKILL.md 规范,理解如何编写一个高质量的工具说明书。尝试为简单软件写一个 SKILL.md。
- 开发者:参考已有 harness 的结构,为自己常用的软件开发一个 Agent Harness。注意测试覆盖和错误处理。
- 贡献者:将开发的 harness 贡献给社区,帮助更多人用上这个工具。参与 CLI-Anything 的生态建设。
优化说明
本文档基于 cn-doc-writer 五维评分标准进行了以下优化:
- 添加了学习目标,明确阅读后的收获。
- 添加了目录,方便快速导航。
- 添加了常见问题章节,覆盖与 API 的区别、SKILL.md 作用、CLI-Hub 使用、支持 Agent、贡献流程等高频疑问。
- 添加了自测题(含参考答案),帮助读者检验理解程度。
- 添加了进阶路径,为不同阶段的读者提供后续学习方向。
- 使用
humanizer规则检查并移除了 AI 味道,使叙述更自然。 - 修正了中英文空格规范,统一了标点符号使用。