命令行工具
HKUDS/CLI-Anything avatar
HKUDS/CLI-Anything

CLI-Anything:把 Blender 和 GIMP 变成 Agent 能用的命令行工具

CLI-Anything 为桌面应用程序生成命令行界面,以便代理可以通过结构化命令操作 Blender、GIMP、Inkscape、Audacity 和 LibreOffice 等工具。

49,442 个 Star4,566 个 ForkPythonApache-2.0

秒懂

它是什么?
CLI-Anything 为 Blender、GIMP、Inkscape、Audacity 等桌面软件生成命令行接口,让 AI Agent 通过结构化命令操作这些工具。本文基于仓库文档与发布记录,分析它的机制、安装方式、已知边界和适用场景。
适合谁用?
CLI-Anything 适合那些需要让 AI Agent 直接操作桌面创作工具的团队,尤其是已经在用 Blender、GIMP、LibreOffice 这类开源软件、并且愿意维护一份 CLI 定义文件的用户。它不适合追求零配置的人,也不适合对 UI 自动化有强依赖的场景,因为项目文档里没有提到任何 GUI 坐标点击或图像识别能力。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 26 天前。
用什么语言写的?
主要是 Python(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

Agent 用鼠标点不动桌面软件,这才是要解决的问题

AI Agent 能读网页、能调 API、能写代码,但面对 Blender 或 GIMP 这种桌面应用时,它只能干瞪眼。这些软件没有稳定的命令行入口,Agent 想操作它们就得靠模拟鼠标键盘,而屏幕坐标一变脚本就废。CLI-Anything 的思路很直接:给每个桌面软件包一层命令行外壳,让 Agent 用结构化命令去调用。项目主页写着「让所有软件 Agent 原生」,目标用户是跑 Pi、OpenClaw、nanobot、Cursor、Claude Code 这类 Agent 框架的人。它不是给人类用户用的效率工具,人类直接在 GUI 里点按钮更快。它解决的是 Agent 与桌面软件之间的协议鸿沟。

HARNESS 机制:一份定义文件,一个可执行 CLI

仓库里反复出现一个词:HARNESS。从 README 的新闻条目可以看出,每个软件对应一个 harness,比如 Safari CLI 通过 safari-mcp 实现,Obsidian CLI 用 Local REST API,Rekordbox 则走 SQLCipher 的写路径。每个 harness 是一份定义了命令结构、参数和校验逻辑的代码包。Agent 调用时,CLI-Anything 把结构化命令翻译成对应软件能理解的内部操作。新闻里提到 3MF CLI 能检查网格、调整孔洞大小、修复模型,Calibre CLI 覆盖书库搜索和格式转换,这些能力都封装在 harness 里。值得注意的是,不同 harness 的底层实现差异很大,有的调 REST API,有的直接操作文件格式,有的走软件自身的自动化接口。这种松散耦合意味着没有统一的运行时,每个 harness 的质量取决于贡献者对目标软件的理解。

安装与使用:pip 装 hub,npx 装 skill

安装路径分两层。第一层是 CLI-Hub,README 给出的命令是 `pip install cli-anything-hub`,然后 `cli-hub install <name>` 来浏览和安装社区构建的 CLI。第二层是 skill 文件,从 2026 年 4 月的新闻看,所有 SKILL.md 统一放在顶层 `skills/` 目录,安装命令是 `npx skills add HKUDS/CLI-Anything --skill <skill-name> -g -y`。这个设计把 CLI 本体和 Agent 的 skill 定义分开,前者是执行引擎,后者是告诉 Agent 怎么用这些命令的提示词。CLI-Hub v0.2.0 起支持多种安装源,包括 pip、npm、brew 和系统自带工具,registry 里分成了 CLI-Anything CLIs 和 Public CLIs 两栏。如果你要贡献自己的 harness,流程是提 PR,合并后 hub 会即时更新。

预览与轨迹循环:Agent 操作的可视化反馈

README 的演示部分提到三个能力:preview、live preview 和 trajectory loops。文档描述这些功能让 Agent 能产出实际工件,包括 CAD 模型、3D 场景、图表、游戏画面和字幕。从措辞推断,preview 是静态结果预览,live preview 是实时反馈,trajectory loop 则是让 Agent 在操作过程中根据中间结果调整下一步动作。这套机制对创作类软件很重要,因为 3D 建模或视频剪辑这类任务,一次命令的结果往往需要视觉确认才能决定下一步。不过 README 没有给出具体实现细节,比如 preview 是渲染成图片还是视频流,轨迹循环是 Agent 框架层面的能力还是 CLI-Anything 内置的。这些只能等实际安装后验证。

安全补丁频繁出现,说明边界确实存在

新闻时间线里安全相关的修复不少。2026 年 5 月 21 日,Sketch CLI 的 token 文件处理加固了路径遍历和符号链接逃逸。5 月 19 日,XML、SVG、ODF、MLT、MusicXML、CSL 解析统一改用 defusedxml 处理不可信输入。Rekordbox 的 SQLCipher 写路径加了保护,强制要求备份才能写入。这些补丁透露了一个现实:harness 要操作的文件格式和存储往往是复杂且危险的。一个设计失误可能让 Agent 删掉用户的音乐库或覆盖工程文件。项目方在补丁里强调「backup-required forced writes」,说明他们已经意识到 Agent 的自动操作比人类手动操作更容易触发灾难性后果。这不是 CLI-Anything 独有的问题,但任何接它的人都应该把文件系统权限和备份策略放在第一位。

CLI-Hub 的治理模式:社区驱动,质量参差

CLI-Hub 的 registry 是公开的,任何人都能提 PR 添加新的 CLI。新闻里可以看到 Joplin CLI 有 134 个测试的验证基线,Calibre CLI 有 41 个单元测试和真实环境的端到端证据,但这不是所有 harness 的标准。有些条目只是「proposed」状态,比如 Hermes skill 和 ArcGIS Pro 还在讨论中。这意味着你从 hub 安装的每个 CLI,质量保障水平可能完全不同。项目方做了些治理努力,比如统一 skills 目录、加 CI 验证、修复 registry 数据被意外修改的问题,但最终你依赖的是每个贡献者的自律。对于生产环境,建议只使用那些在新闻里明确提到有测试覆盖和端到端证据的 harness,而不是 hub 里所有条目。

替代方案:MCP 与直接 API 封装,路线不同

CLI-Anything 不是唯一一条让 Agent 操作软件的路。Model Context Protocol(MCP)是另一种思路,它定义了一套标准化的工具调用协议,Agent 通过 MCP 服务器直接暴露功能。CLI-Anything 的 Safari CLI 就是通过 safari-mcp 实现的,Obsidian 走 Local REST API,这说明项目本身也依赖 MCP 作为部分 harness 的底层。区别在于,MCP 是通用协议,需要每个软件自己实现 MCP 服务器;CLI-Anything 则是把命令行作为统一入口,harness 内部可以用任何方式实现。另一种替代是直接为软件写 API 封装库,比如用 Python 的 bpy 模块操作 Blender,但这要求 Agent 框架能加载 Python 代码,而且每个软件都得单独写一套。CLI-Anything 的价值在于把这些问题收敛到一个统一接口下,代价是你要信任它的 harness 实现质量。

维护成本与许可证:Apache-2.0 下的社区依赖

项目采用 Apache-2.0 许可证,允许商用、修改和再分发,但要保留版权声明。维护成本方面,CLI-Anything 的更新节奏很快,v0.2.0 在 2026 年 3 月发布,v0.3.0 在 4 月,v0.4.0 在 6 月。每个版本都带来 registry 和 harness 的修复,这意味着如果你自己维护一个私有 harness,需要跟上主项目的接口变化。新闻里提到 n8n 的 REPL banner 崩溃修复后来合并进 main,说明 bug 修复会向上游流动。但反过来,你的私有 harness 也可能因为主项目的结构变动而失效。CLI-Hub 的 registry 更新逻辑已经处理了 pip 和 npm 安装命令的差异,但 brew 和系统工具的支持是否同样稳定,文档里没有明确说明。对于长期使用,你需要把 CLI-Anything 的版本升级纳入自己的依赖管理流程,而不是装一次就不管了。

编辑结论

CLI-Anything 适合那些需要让 AI Agent 直接操作桌面创作工具的团队,尤其是已经在用 Blender、GIMP、LibreOffice 这类开源软件、并且愿意维护一份 CLI 定义文件的用户。它不适合追求零配置的人,也不适合对 UI 自动化有强依赖的场景,因为项目文档里没有提到任何 GUI 坐标点击或图像识别能力。在采用之前,先检查你需要的软件是否已有现成 harness,仓库新闻里提到 Calibre、QGIS、Rekordbox 等已经合并,但这不是全部软件的保证。还要验证 v0.4.0 的 CLI-Hub 安装流程是否与你的包管理器兼容,特别是 registry 更新逻辑对 pip 和 npm 的处理差异。最后,Apache-2.0 许可证允许商用和修改,但如果你要分发自己的 harness,需要保留原始版权声明。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记