Skip to main content

Give any AI Agent hands to control your Mac — auto-discover apps, generate CLI wrappers, return structured JSON.

Project description

  CLAM: 给 AI 装上控制 Mac 的手

你的 Mac 上有几十个应用,但 AI 一个都碰不到。
CLAM 自动扫描、生成 CLI 接口,让任何 AI Agent 用原生方式操控一切。

OpenClaw Skill · Claude Code MCP · 命令行直接用 · 对比其他方案

安装后,AI Agent 能调用应用原生能力播放音乐、操作 Word、发邮件、绘制 3D 模型——无需依赖 API,无需手动写一行适配代码。

🆚 为什么需要 CLAM?

现有方案让 AI 控制 Mac 应用,要么覆盖面窄,要么根本做不到

现有方案 问题
手写专用接口 (MCP/Skill) 每个应用都要有人单独开发,大多数应用根本没有
浏览器自动化 只能控制网页,碰不到 Music、Finder、Word 等原生应用
让 AI 直接写 AppleScript 语法诡异,生成的脚本经常报错,输出非结构化

CLAM 一次性解决了这些问题:

CLAM 能力 效果
clam scan AI 自动发现你 Mac 上所有可控应用
clam install <app> 10 秒生成完整 CLI,零配置,不需要有人提前开发
--json 输出 所有命令返回结构化 JSON,AI 可直接用于推理决策
clam doctor 提前告诉 AI 哪些命令可靠,避免盲试出错

🦀 给你的 AI 装上虾钳

pip install clam-mac                    # 从 PyPI 安装

或者从源码安装:

git clone https://github.com/mileszhang001-boom/cli-on-mac.git
cd cli-on-mac
pip install -e .                        # 开发模式

然后根据你使用的 AI Agent 选择集成方式:

🦞 OpenClaw / Lobster

CLAM 生成的每个 clam-<app> 都是标准 shell 命令,可直接作为 Lobster pipeline step:

# focus-mode.lobster — 一键进入专注模式
steps:
  - run: clam-music set-sound-volume 20
  - run: clam-music play
  - run: clam-finder open ~/Projects/current

也可以作为 OpenClaw Skill 使用——AI 自动调用 clam scan 发现能力、clam install 安装、clam-<app> 执行。

🤖 Claude Code / MCP

claude mcp add clam -- clam-mcp         # 注册 MCP Server

完成了。去 Claude Code 里说一句:

"帮我把音量调到 50,然后告诉我现在在放什么歌"

AI 自动扫描应用、安装 wrapper、执行命令——你不需要输入任何命令。

🔧 其他 Agent 框架

CLAM 生成的是标准 CLI 工具,任何能调用 shell 命令的 Agent 都可以直接使用:

# LangChain / AutoGPT / 任何框架
import subprocess, json
result = subprocess.run(["clam-music", "--json", "get-current-track"], capture_output=True, text=True)
track = json.loads(result.stdout)  # 结构化 JSON,直接用

🖐 30 秒上手(人类版)

clam scan                              # 看看有什么
clam install music                     # 装一个试试
clam-music play                        # 播放
clam-music next-track                  # 下一首
clam-music set-sound-volume 80         # 音量 80
clam-music get-current-track           # 当前曲目全部信息(JSON)

🔧 三种模式,覆盖几乎所有应用

模式 原理 典型应用 能力
完整模式 解析 .sdef 脚本定义 Music、Finder、Chrome、Word 几十到几百个命令
UI Scripting 通过菜单点击控制 Figma、Slack、VS Code、Spotify 菜单里能点的都能控
基础模式 macOS 标准套件 钉钉、WPS、微信 前置/退出/打开文件/查版本

安装时自动选择最佳模式,不需要手动指定。

📖 完整命令

clam scan              # 扫描可控应用
clam install <app>     # 安装 CLI(模糊匹配:chrome → google-chrome)
clam info <app>        # 查看能力详情
clam doctor <app>      # 检查命令可靠性
clam list              # 查看已安装
clam remove <app>      # 卸载

clam-<app>             # 能力概览
clam-<app> api         # 完整 API 列表

❓ 常见问题

找不到 clam-xxxsource .venv/bin/activate

"permission denied"? — 系统设置 > 隐私与安全性 > 自动化,允许终端控制目标应用

UI Scripting 报权限错误? — 系统设置 > 隐私与安全性 > 辅助功能,允许终端

只有基础命令? — 取决于应用开发者,国产应用大多没有脚本化接口,只能基础模式

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clam_mac-0.1.0.tar.gz (44.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clam_mac-0.1.0-py3-none-any.whl (42.2 kB view details)

Uploaded Python 3

File details

Details for the file clam_mac-0.1.0.tar.gz.

File metadata

  • Download URL: clam_mac-0.1.0.tar.gz
  • Upload date:
  • Size: 44.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for clam_mac-0.1.0.tar.gz
Algorithm Hash digest
SHA256 08d5acd81fd10554fb60967464893a158e5e959fc8f72be26ad645e0de964dcb
MD5 35a863670ef05cce36924c14d5763eab
BLAKE2b-256 48de8e2677677f609ca30c539149446609820a35038c4f31ac87b6fd7b2b71eb

See more details on using hashes here.

File details

Details for the file clam_mac-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: clam_mac-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 42.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for clam_mac-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f40d77ce285f83bbc981cb0ab03c728dc1ad025461b5368e367c3583f8e2036
MD5 41e1a33bd4309a29a31bd6171519c1f6
BLAKE2b-256 f6b7e678a443bd191dca62fdee537400c85949a0e38c2431f1dfd6df1bd9b78e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page