乐于分享
好东西不私藏

Openclaw用 60 秒把 Mac 应用变成了命令行工具

Openclaw用 60 秒把 Mac 应用变成了命令行工具

今天我做了一个实验。我对openclaw 说了一句话: "cli-anything JustFocus"
60 秒后,我的终端里多了一个命令:
```bash
$ justfocus start
🍅 Pomodoro started!
$ justfocus break
☕ Short break started!
$ justfocus stop
⏹️ Timer stopped.
```
JustFocus 是一个番茄钟 App。纯 GUI,没有命令行。但现在它有了。
Openclaw 自己分析了应用包,发现了 AppleScript 接口,生成了完整的 CLI 脚本,安装到了系统里,还帮我测试了每个命令。
整个过程我只说了一句话。
然后我又试了 QuickTime Player。
```bash
$ quicktime record screen
🖥️ Screen recording started.
$ quicktime open ~/Movies/demo.mp4
📂 Opened.
$ quicktime play
▶️ Playing.
$ quicktime export ~/Desktop/out.mov 1080p
📤 Exported.
```
一个纯 GUI 的视频播放器,现在有了 15 个命令行指令。之前一行代码都没有。
这是怎么做到的?
核心方法论来自港大的 [CLI-Anything](https://github.com/HKUDS/CLI-Anything) 项目 —— 一套把 GUI 软件转化为 Agent 友好 CLI 的系统方法。
我把它适配到了 [OpenClaw](https://github.com/openclaw/openclaw)(一个开源的个人 AI Agent 框架),做成了一个原生 Skill。
工作流程:
```
你说一句话 → Agent 扫描应用 → 发现 API → 生成 CLI → 安装 → 测试 → 完成
```
Agent 会自动:
  • 解析.app 包里的Info.plist 和.sdef 文件
  • 通过osascript 探测应用的脚本接口
  • 设计 CLI 子命令结构
  • 生成可执行脚本
  • 安装到/usr/local/bin
  • 逐一测试
---

为什么这很重要?

AI Agent 时代最大的瓶颈不是模型能力,而是 Agent 能控制什么。
大多数软件都是为人类的眼睛和手指设计的 —— GUI。但 GUI 对 Agent 是敌对的:不确定的布局、弹窗、动画、权限对话框……CLI 是 Agent 最自然的接口。** 可组合、可测试、可脚本化、可验证。
CLI-Anything 的核心洞察是:大量 GUI 应用的底层其实已经有可编程接口 —— AppleScript、D-Bus、URL Scheme、IPC —— 只是从来没人把它们包装成 CLI。
现在 AI 自己就能做这件事。

适合什么应用?

| 类型 | 示例 | 发现方式 |
|---|---|---|
| macOS AppleScript 应用 | Keynote、Pages、Finder、Music | `.sdef` 字典 |
| URL Scheme 应用 | Bear、Things 3、Spotify | `CFBundleURLTypes` |
| 有部分 CLI 的应用 | VS Code、Sublime Text | 已有命令扩展 |
| Linux D-Bus 应用 | GNOME/KDE 应用 | D-Bus 自省 |
| Electron 应用 | Slack、Discord | IPC 接口 |
基本逻辑:只要应用底层有任何形式的编程接口,就能生成 CLI。
---

 试试看

项目地址:[github.com/barrontang/cli-anything-openclaw](https://github.com/barrontang/cli-anything-openclaw)
```bash

安装

git clone https://github.com/barrontang/cli-anything-openclaw.git
cd cli-anything-openclaw
bash scripts/install-to-workspace.sh ~/.openclaw/workspace

使用

只需要告诉openclaw,cli-anything Keynote,搞定!
仓库里包含了 JustFocus 和 QuickTime 的完整 CLI 脚本,可以直接看代码。

思考

我们总在讨论 Openclaw 的"能力边界"。但很多时候边界不在模型,而在工具。一个能控制 Keynote 的 Agent 比一个只能聊天的 Agent 有用 10 倍。一个能录屏、导出视频的 Agent 比一个只能写代码的 Agent 更接近"助手"。CLI-Anything + OpenClaw 的组合,本质上是在扩大 Agent 的控制面。每多一个 CLI,Agent 就多一个能力。
而现在,生成一个 CLI 只需要 60 秒和一句话。