让 AI 直接操控你的软件:CLI-Anything 实战全记录
让 AI 直接操控你的软件:CLI-Anything 实战全记录
“ “AI 的下一块短板,不是推理能力,是用不了真正的软件。”
香港大学的研究者上周推了一个项目,名字很直接:CLI-Anything。
副标题更直接:Making ALL Software Agent-Native。
让所有软件都能被 Agent 驱动。
我第一眼看到这个标题时,直觉是”又一个噱头”。等我真把它跑起来,在自己电脑上用一条命令截了张截图、录了段 GIF,我才意识到这件事比我想象的严肃一些。
Agent 有一块一直没被填上的空白
过去一年,AI 编程工具的进化方向基本是这个路径:
更大上下文 → 更强推理 → 更多工具调用
Claude 能读几十个文件,能自我修正几十轮,能调各种 API。这些都很好。
但有一类东西,它一直碰不了:真正的专业软件。
我说的是 GIMP、Blender、Premiere、DaVinci Resolve、LibreOffice、OBS Studio 这类东西。这些软件承载着大量真实的专业工作流,但它们不是为 Agent 设计的——它们是为人的手和眼设计的。
当我问 Claude「帮我把这 500 张图片统一加水印」,它有三种选择:
方案一:GUI 自动化(截图 + 点击坐标) 换个主题就挂、速度极慢、极度脆弱。
方案二:有限 API 官方只开放了 20% 的功能,复杂需求根本没接口,厂商说有才有。
方案三:重新实现 用 Python 写简化版,丢失 90% 的专业能力,结果是个玩具。
三条路,没有一条好走。
CLI-Anything 的切入点非常清晰:上面三条路全错了,因为它们都在绕着软件走。真正的解法是把软件本身变成 Agent 可以直接调用的工具。
CLI:人与 Agent 之间的通用语言
为什么是 CLI,而不是别的接口?
|
|
|
|---|---|
| 结构化 & 可组合 |
|
| 自描述 | --help
|
| 轻量通用 |
|
| 确定性强 |
|
| 可测试 |
|
Claude Code 每天跑成千上万个真实工作流靠的就是 CLI。这不是理论,是已经被大规模验证的结论。
它怎么工作:7 阶段全自动流水线
把一个软件的源码或 GitHub 仓库丢给 CLI-Anything,它会自动跑完这 7 个阶段:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最后你会得到一个标准的 Python 包,安装到 PATH 之后,就可以像这样用:
cli-anything-gimp batch resize --input ./photos/ --width 1920cli-anything-blender render --model product.blend --angles 0,45,90cli-anything-libreoffice convert --input ./docs/ --to pdf
哪些软件能用,哪些不行
核心逻辑很简单:
“ CLI-Anything 需要分析源码。开源 = 能分析 = 能生成 CLI。闭源 = 没有源码 = 不行。
✅ 已官方支持(开源):
-
GIMP → 图像编辑 -
Blender → 3D 建模渲染 -
LibreOffice → 文档/表格/PPT -
OBS Studio → 录屏直播 -
Shotcut / Kdenlive → 视频剪辑 -
FFmpeg → 媒体处理(本文主角)
❌ 不支持(闭源):
-
Photoshop / Premiere(Adobe 系) -
WPS Office -
Obsidian(闭源 Electron,插件 API 开放 ≠ 源码开源) -
DaVinci Resolve
我的验证实验:FFmpeg + Windows 10
我没有使用 Claude Code,但 CLI-Anything 的核心是一套方法论(HARNESS.md),任何 AI Agent 都可以按这套流程执行。
环境:
-
Windows 10 -
Python 3.10.19 + FFmpeg 6.1.1(conda 安装)
按照 7 阶段流水线生成了 cli-anything-ffmpeg 包,命令树涵盖:
-
screenshot capture— 桌面截图(gdigrab) -
gif from-video— 视频转 GIF(双通道调色板优化) -
gif record— 录屏 N 秒转 GIF -
video record— 录屏视频 -
info probe— ffprobe JSON 媒体元数据
安装只需一行:
# 在生成的 agent-harness 目录下pip install -e .
之后 cli-anything-ffmpeg 就在 PATH 里了。
跑起来是什么效果
三条命令,三个实测结果:
截图
cli-anything-ffmpeg screenshot capture -o screenshot.png --json# ✓ Saved: screenshot.png (5,741,331 bytes)# 自动识别为 5120×1440 双屏分辨率
媒体探针
cli-anything-ffmpeg info probe screenshot.png --json# → 完整 ffprobe 元数据:分辨率/格式/编码/比特率,全部结构化 JSON
录屏 GIF(5 秒)
cli-anything-ffmpeg gif record -d 5 --fps 10 --width 640 -o demo.gif --json# ✓ GIF saved: demo.gif (711,325 bytes)
5 秒钟,从录屏到可用的 GIF,一条命令搞定。
一个小坑: conda 版 FFmpeg 编译时 --disable-gpl,不含 libx264。临时录制的中间视频改用 mpeg4 编码器,一行搞定,不影响最终 GIF 质量。
这件事真正有价值的地方
我想单独说这一点,因为我觉得大多数人第一眼会低估它。
CLI-Anything 的核心不是「帮你操控某个具体软件」。它的核心是:
把「Agent 无法使用」和「软件」之间的那道墙,系统性地打掉一块。
过去一年,AI Agent 的能力在代码推理、代码生成、工具调用上爆炸式增长。但使用真实专业软件这件事,几乎没有进展。原因不是模型能力不够,是接口根本不存在。
CLI-Anything 做的,是给这个空白造接口。
一旦接口存在,Agent 就可以:
-
批量处理 500 张图片,不是靠截图点击,是靠调用真实的 GIMP 进程 -
把一堆 DOCX 批量转 PDF,靠真实的 LibreOffice,排版一分不差 -
从任意视频里提取关键帧、生成 GIF、转换格式,不用手写 ffmpeg 参数 -
把这些操作串成流水线,全自动,无人值守
这不是「让 AI 用工具」,这是让 AI 融入真实的专业工作流。
实战建议:从这三个方向切入
|
|
|
|
|---|---|---|
|
|
FFmpeg 媒体处理 |
|
|
|
LibreOffice 文档批处理 |
|
|
|
GIMP 图片处理流水线 |
|
最快落地路径:
# Claude Code 用户/plugin marketplace add HKUDS/CLI-Anything/plugin install cli-anything/cli-anything:cli-anything ./your-software# Codex 用户(Windows).\CLI-Anything\codex-skill\scripts\install.ps1
社区有一个 CLI-Hub 注册中心( https://hkuds.github.io/CLI-Anything/hub/ ),别人已经生成好的 CLI 可以直接 pip 安装,不用自己跑流水线。
最后说一句
我最近一直在想一件事:AI 能力的天花板,往往不是模型本身,而是模型能接触到什么。
上下文工程解决了「让 AI 看到对的信息」的问题。CLI-Anything 解决的是「让 AI 用上对的工具」的问题。
这两件事加在一起,才是我们真正在讨论的那种规模的自动化。
不是聊天窗口里多了几个 AI 助手。是你工作流里每一个原本需要手动操作的环节,开始有了真正可以被 Agent 接管的接口。
延伸阅读
-
CLI-Anything 项目:https://github.com/HKUDS/CLI-Anything -
CLI-Hub 注册中心:https://hkuds.github.io/CLI-Anything/hub/ -
HARNESS.md 方法论:https://github.com/HKUDS/CLI-Anything/blob/main/cli-anything-plugin/HARNESS.md -
FFmpeg 官网:https://ffmpeg.org/download.html
夜雨聆风