Skip to main content

Mac automation and streamlit interface tools

Project description

overlord

AI Overlord, managing your disparate agents through local computer use. This project allows AI to control macOS natively, providing direct system control through native macOS commands and utilities.

[!CAUTION] This comes with obvious risks. Overlord can control everything on your Mac. Please be careful.

Features

  • Native macOS GUI interaction (no Docker required)
  • Screen capture using native macOS commands
  • Keyboard and mouse control through cliclick
  • Multiple LLM provider support (Anthropic, Bedrock, Vertex)
  • Streamlit-based interface
  • Automatic screen resolution scaling
  • File system interaction and editing capabilities

Prerequisites

  • macOS Sonoma 15.7 or later
  • Python 3.12+
  • Homebrew (for installing additional dependencies)
  • cliclick (brew install cliclick) - Required for mouse and keyboard control

Setup Instructions

  1. Clone the repository and navigate to it:
git clone https://github.com/hanzoai/overlord.git
cd overlord
  1. Create and activate a virtual environment:
python3.12 -m venv venv
source venv/bin/activate
  1. Run the setup script:
chmod +x setup.sh
./setup.sh
  1. Install Python requirements:
pip install -r requirements.txt

Running the Demo

Set up your environment and Anthropic API key

  1. In a .env file add:
API_PROVIDER=anthropic
ANTHROPIC_API_KEY=<key>
WIDTH=800
HEIGHT=600
DISPLAY_NUM=1

Set the screen dimensions (recommended: stay within XGA/WXGA resolution), and put in your key from Anthropic Console.

  1. Start the Streamlit app:
streamlit run streamlit.py

The interface will be available at http://localhost:8501

Screen Size Considerations

We recommend using one of these resolutions for optimal performance:

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

Higher resolutions will be automatically scaled down to these targets to optimize model performance. You can set the resolution using environment variables:

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

[!IMPORTANT] The Beta API used in this reference implementation is subject to change. Please refer to the API release notes for the most up-to-date information.

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

hanzo_overlord-0.1.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

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

hanzo_overlord-0.1.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hanzo_overlord-0.1.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for hanzo_overlord-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d663eca9e335dd3847961ce06918073f2dc73179f3ef39642134c2b8e3d76d33
MD5 144ae00db68dd444c34b291bead2f1e9
BLAKE2b-256 815d0b0cffa24681bdf9a9119da57c7676e3486b4e5208453cbead567f3d3ca5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hanzo_overlord-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for hanzo_overlord-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 939815a85fca04516c666682d74e6c733f587f7ccdd551b764c4ebb6aa096f63
MD5 485e87ce7cb2f81cb098203d4ab14013
BLAKE2b-256 7dafaa2d331b5315333959514d8f144e63805b87bc9a13047be13d4b89612dc4

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