Mac Computer Use
让 Claude 等模型通过原生 macOS 命令直接操作你的 Mac。
- Star 数
- ★ 891
- 最近更新
- 2 年前
- 主语言
- Python
- FA 评分
- 13/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 使用 macOS 的开发者,希望通过 Streamlit 界面让 Anthropic 模型执行本机 GUI 操作。
- 不适合
- 使用 Windows 或 Linux 的用户
- 不愿授予代理完全控制整台 Mac 权限的人
这个 Agent 能做什么,适合哪些场景?
Mac Computer Use 是 Anthropic Computer Use 的 macOS 原生分支,用于让模型控制本机界面。它不运行上游方案中的 Ubuntu Docker 镜像,而是借助 macOS 命令和工具直接执行系统操作。项目提供 Streamlit 界面,并支持 Anthropic、Bedrock 和 Vertex 等 LLM 提供方。它可进行屏幕截图、键盘与鼠标操作、文件系统交互和文件编辑,并会自动调整屏幕分辨率。该项目适合可接受本机自动化权限与相应安全风险的 macOS 用户。
用户在 .env 中设置 API_PROVIDER、ANTHROPIC_API_KEY、WIDTH、HEIGHT 和 DISPLAY_NUM 后,通过 streamlit run streamlit.py 启动界面。运行时,项目使用原生 macOS 命令截取屏幕,并通过 cliclick 发送鼠标和键盘控制;它还可与文件系统交互并编辑文件。屏幕尺寸会被自动缩放到推荐目标,以优化模型表现。模型提供方可为 Anthropic、Bedrock 或 Vertex,README 给出了 Anthropic API 密钥的配置示例。
- 使用 macOS 的开发者,希望通过 Streamlit 界面让 Anthropic 模型执行本机 GUI 操作。
- 需要让模型根据屏幕截图点击、输入并操作桌面应用的个人自动化使用者。
- 希望避免 Ubuntu Docker 容器、改用原生 macOS 系统控制的 Computer Use 试用者。
- 需要在受控 Mac 上让模型交互文件系统并编辑文件的实验团队。
如何安装或部署这个 Agent?
前提:macOS Sonoma 15.7 或更高版本、Python 3.12+、Homebrew,以及 cliclick。执行:
git clone https://github.com/deedy/mac_computer_use.git
cd mac_computer_use
python3.12 -m venv venv
source venv/bin/activate
brew install cliclick
chmod +x setup.sh
./setup.sh
pip install -r requirements.txt如何使用这个 Agent?
在项目根目录创建 .env,至少包含:
API_PROVIDER=anthropic
ANTHROPIC_API_KEY=<key>
WIDTH=800
HEIGHT=600
DISPLAY_NUM=1然后运行:streamlit run streamlit.py。界面地址为 http://localhost:8501。可将 WIDTH 和 HEIGHT 设为 1024x768、1280x800 或 1366x768 等推荐尺寸。
这个 Agent 有哪些优点和局限?
- 以原生 macOS 命令和工具直接控制系统,无需运行 Docker。
- 通过 cliclick 提供明确的鼠标与键盘控制路径。
- 内置 Streamlit 界面,启动后可从本机浏览器访问。
- README 明确列出 Anthropic、Bedrock 和 Vertex 三种模型提供方支持。
- 可自动缩放较高屏幕分辨率以优化模型表现。
- 核心能力可控制 Mac 上的一切,README 明确警示存在显著安全风险。
- 仅明确支持 macOS Sonoma 15.7 或更高版本,不能据此确认其他操作系统可用。
- 需要 Python 3.12+、Homebrew 和 cliclick 等本机依赖。
- 示例运行配置需要 Anthropic API 密钥;API 的 Beta 版本可能变化。
- README 未说明权限授予、故障恢复或操作审计机制。
这个 Agent 与同类方案有什么区别?
相较于上游 Anthropic Computer Use 的 Ubuntu Docker 镜像方案,此分支改为在 macOS 上原生运行,并通过 macOS 命令与工具实施直接系统控制。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Mac Computer Use 当前 | 13 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 891 | 2 年前 | Python | Claude API |
| macOS Harness | 55 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1k | 22 天前 | Python | Codex · Claude Code |
| SwiftAutoGUI 桌面自动化工具包 | 60 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 94 | 19 天前 | Swift | Claude Code · OpenAI API |
| Photo Agents | 39 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 655 | 4 个月前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库明确警告风险,但未提供最小权限、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的具体实现。扣分原因:这些方面均未在文件中体现,故得0分。
证据显示:README与requirements.txt基本一致,但未提供错误处理或失败消息。扣分原因:自洽性仅部分满足,依赖可用性仅列出依赖,失败消息缺失。
证据显示:README描述了目标用户(Mac用户)和场景(GUI自动化),并列出能力边界(如屏幕分辨率限制)。扣分原因:触发精度(如用户如何精确控制操作)未说明,环境适配仅部分覆盖。
证据显示:README提供了安装步骤和已知限制,但缺少许可证、版本控制、变更日志和维护责任信息。扣分原因:信息架构基本合理,但命名稳定性、示例/FAQ、许可证、版本控制、维护责任均缺失。
证据显示:README说明了输出(Streamlit界面)和边际价值(原生Mac控制),但未提供成本效益分析。扣分原因:输出可用性部分满足,边际价值有描述,成本效益未量化。
证据显示:README中的声明(如支持多LLM提供商)未提供可追溯的验证,也没有交叉来源佐证或事实与推断的区分。扣分原因:所有验证标准均未满足。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 该仓库授予AI模型对Mac的完全控制权,存在严重安全风险,且未提供任何安全机制(如用户确认、最小权限)。
- 未提供许可证信息,使用前需确认法律合规性。
- 依赖项(如pyautogui、keyboard)可能被滥用,且未提供依赖安全审计。
常见问题
它需要 Docker 吗?
需要哪些关键权限或依赖?
如何连接 Anthropic?
API_PROVIDER=anthropic 和 ANTHROPIC_API_KEY=<key>,再启动 Streamlit 应用。