HKUDS / CLI-Anything
HKUDS/CLI-Anything
CLI-Anything:让所有软件原生支持智能体——CLI-Hub:https://clianything.cc/
项目概览
项目概述
CLI-Anything 是一个由 HKUDS 团队发起的开源项目,旨在将任何软件(尤其是 GUI 软件)转化为 AI 智能体(Agent)可以原生使用的命令行工具(CLI)。其核心理念是“让所有软件 Agent 原生(Making ALL Software Agent-Native)”,通过自动化的 7 阶段流水线,为软件生成结构化的、支持 JSON 输出的 CLI 接口,从而弥合 AI 智能体与真实世界软件之间的鸿沟。项目提供了一个名为 CLI-Hub 的中央注册表和包管理器,用于浏览、安装和管理这些生成的 CLI。
核心功能
- 自动化 CLI 生成:通过 7 阶段流水线(分析、设计、实现、测试计划、编写测试、文档、发布),从源代码或仓库自动生成完整的 CLI 工具。
- 真实软件集成:生成的 CLI 直接调用真实软件的后端(如 Blender 的 bpy、LibreOffice 的无头模式),确保功能完整,而非玩具实现。
- Agent 原生设计:所有命令支持
--json标志,输出结构化数据,便于智能体解析;同时提供人类可读的表格输出。 - CLI-Hub 注册表:提供
cli-hub命令,用于浏览、搜索、安装、更新和卸载社区构建的 CLI。 - 统一 REPL 界面:所有生成的 CLI 共享一致的交互式 REPL(Read-Eval-Print Loop)界面,支持会话管理、撤销/重做等功能。
- SKILL.md 生成:每个生成的 CLI 都附带一个 AI 可发现的技能定义文件(SKILL.md),便于智能体自动发现和使用。
- 预览机制:支持跨工具的预览协议,允许智能体在任务执行过程中生成和查看中间结果(如图像、视频、3D 模型预览)。
适用与不适用场景
适用场景:
- 需要让 AI 智能体(如 Claude Code、OpenClaw、Codex 等)控制复杂的专业软件(如 GIMP、Blender、LibreOffice)。
- 希望将分散的 Web API 或 SDK 统一封装为一个有状态的 CLI,供智能体调用。
- 需要替代或增强基于 GUI 的智能体自动化方案,避免脆弱的 UI 自动化。
- 为开源项目或内部工具快速构建 Agent 可用的命令行接口。
不适用场景:
- 目标软件没有可用的源代码,且仅提供需要反编译的二进制文件(生成质量会大幅下降)。
- 使用较弱的基础模型(如小型语言模型)进行 CLI 生成,可能产生不完整或错误的 CLI,需要大量人工修正。
- 需要实时、高帧率的 GUI 流式传输或远程桌面场景(项目明确不追求此目标)。
技术架构与依赖
- 编程语言:Python(≥3.10)
- 核心依赖:Click(≥8.0)用于构建 CLI,pytest 用于测试。
- 架构:项目采用 monorepo 结构,每个软件对应一个独立的 Python 包(位于
<software>/agent-harness/),包内包含 Click CLI、核心模块、工具函数(如repl_skin.py)和测试。 - 插件/技能系统:支持多种 AI 编码代理平台,包括 Claude Code(插件)、OpenClaw(技能)、Codex(技能)、OpenCode(命令)、Hermes(技能)、Reasonix(技能)等。
- CLI-Hub:作为独立的 PyPI 包(
cli-anything-hub)发布,提供注册表管理和预览查看功能。
安装与快速开始
安装 CLI-Hub 包管理器:
pip install cli-anything-hub
浏览和安装 CLI:
cli-hub list
cli-hub search <query>
cli-hub install <name>
cli-hub launch <name> [args...]
为 Claude Code 安装插件:
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
生成新的 CLI:
/cli-anything <software-path-or-repo>
安装生成的 CLI:
cd <software>/agent-harness
pip install -e .
典型使用方法
使用生成的 CLI(以 LibreOffice 为例):
# 创建文档
cli-anything-libreoffice document new -o report.json --type writer
# 添加内容
cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report" --level 1
# 导出为 PDF
cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite
# JSON 模式供智能体使用
cli-anything-libreoffice --json document info --project report.json
进入 REPL 模式:
cli-anything-blender
使用 CLI-Hub 元技能(供智能体):
npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y
配置与部署要点
- 环境要求:Python 3.10+,Click 8.0+,pytest 7.0+。
- 后端软件:某些 CLI 需要安装对应的上游软件(如 GIMP、Blender、LibreOffice),否则相关功能无法使用。
- Windows 支持:在 Windows 上使用 Claude Code 插件时,需要安装 Git for Windows(提供 bash 和 cygpath)或使用 WSL。
- 测试:运行测试时,建议设置
CLI_ANYTHING_FORCE_INSTALLED=1环境变量以强制使用已安装模式。 - CLI-Hub 注册表:社区贡献的 CLI 通过
registry.json文件注册,合并 PR 后会自动更新到 CLI-Hub。
限制、风险与许可证
限制:
- 依赖强基础模型(如 Claude Opus 4.6、GPT-5.4 等)才能可靠生成 CLI,弱模型可能产生不完整结果。
- 依赖目标软件的源代码,对于仅提供编译后二进制的软件,生成质量会显著下降。
- 可能需要多次迭代(运行
/refine)才能达到生产级质量。
风险:
- 生成的 CLI 可能包含安全漏洞(如路径注入),项目已通过社区贡献修复了部分问题,但用户仍需谨慎使用。
- 第三方 CLI 或 API 可能有自己的许可、定价或使用限制,使用前需查阅上游文档。
许可证:
- 项目采用 Apache License 2.0,允许自由使用、修改和分发。
官方链接
- GitHub 仓库:https://github.com/HKUDS/CLI-Anything
- CLI-Hub 网站:https://clianything.cc/
- PyPI 包:https://pypi.org/project/cli-anything-hub/
- 技术报告:https://arxiv.org/abs/2606.03854
信息来源和分析时间
- 信息来源:GitHub 仓库 README、CONTRIBUTING.md、docs/ 目录下的文档(PREVIEW_PROTOCOL.md、PREVIEW_PROGRESS.md 等)、最新发布信息(v0.4.0)。
- 分析时间:2026-06-25(基于最新发布版本日期)。