Back to MCP directory
publicPublicdnsLocal runtime

mac-use

Overlord是一个通过本地计算机控制macOS的AI管理项目,提供直接系统控制和多LLM提供商支持。

article

README

🚀 Overlord——掌控你的 Mac 设备

Overlord 是一个基于本地计算机的 AI 项目,它借助 macOS 的本机命令和工具,可直接对 macOS 系统进行控制,为你提供便捷的系统操作体验。

⚠️ 重要提示

该项目存在明显风险。Overlord 可以完全控制你的 Mac。请谨慎操作。

✨ 主要特性

  • 原生 macOS 图形界面交互(无需 Docker)
  • 利用原生 macOS 命令进行屏幕截图
  • 通过 cliclick 实现键盘和鼠标控制
  • 支持多种 LLM 提供商(Anthropic、Bedrock、Vertex)
  • 基于 Streamlit 的界面
  • 具备自动屏幕分辨率缩放功能
  • 拥有文件系统交互和编辑功能

📦 安装指南

先决条件

  • macOS Sonoma 15.7 或更高版本
  • Python 3.12+ 版本
  • Homebrew(用于安装额外依赖)
  • cliclick(通过 brew install cliclick 安装)——鼠标和键盘控制所需

安装步骤

  1. 克隆仓库并进入目录:
git clone https://github.com/hanzoai/overlord.git
cd overlord
  1. 创建并激活虚拟环境:
python3.12 -m venv venv
source venv/bin/activate
  1. 运行设置脚本:
chmod +x setup.sh
./setup.sh
  1. 安装 Python 依赖项:
pip install -r requirements.txt

💻 使用示例

基础用法

设置环境和 Anthropic API 密钥

  1. .env 文件中添加以下内容:
API_PROVIDER=anthropic
ANTHROPIC_API_KEY=<key>
WIDTH=800
HEIGHT=600
DISPLAY_NUM=1

设置屏幕分辨率(推荐在 XGA/WXGA 分辨率范围内),并添加从 Anthropic 控台 获取的密钥。 2. 启动 Streamlit 应用:

streamlit run streamlit.py

界面将在 http://localhost:8501 可用

高级用法

屏幕分辨率注意事项

我们推荐使用以下分辨率以获得最佳性能:

  • XGA:1024x768(4:3)
  • WXGA:1280x800(16:10)
  • FWXGA:1366x768(~16:9)

更高的分辨率将自动缩放到这些目标分辨率以优化模型性能。你可以通过环境变量设置分辨率:

export WIDTH=1024
export HEIGHT=768
streamlit run streamlit.py

⚠️ 重要提示

此参考实现中使用的 Beta API 可能会更改。请参考API 发布说明获取最新信息。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client