paint051225.mp4
Computer use SDK for building agents that learn from human screen recordings. Cross-platform (Windows/macOS/Linux), deterministic, and ready for L5 desktop automation.
Skip the boilerplate. This is the fastest way to feel the magic.
pip install terminator.py
import terminator
desktop = terminator.Desktop()
desktop.open_application('calc')
seven = desktop.locator('name:Seven')
seven.click()
bun i terminator.js # or npm, pnpm, yarn
const { Desktop } = require('terminator.js');
const desktop = new Desktop();
await desktop.openApplication('notepad')
await desktop.locator('name:Edit').typeText('hello world')
Terminator is an AI-first Playwright-style SDK for automating operating systems.
- πͺ Built for Windows, with partial support on Linux and macOS
- π€ Learns deterministically from screen recordings of real workflows
- π§ Designed for AI agentsβnot humans
- β‘ Uses OS-level accessibility APIs, with OCR/Vision as fallback
- π§© Supports TypeScript, Python, MCP, and Rust
- π Scans the UI in ~80msβup to 10,000x faster and cheaper than a human
Terminator runs βheadlessβ by default. It doesnβt require a visible screen, relying instead on accessibility layers (like UI Automation on Windows) to interact with apps.
While Terminator aims for full cross-platform support, current capabilities vary by OS. Windows is the primary development target and has the most complete feature set.
Feature | Windows | macOS | Linux | Notes |
---|---|---|---|---|
Core Automation | ||||
Element Locators | β | π‘ | π‘ | Find elements by name , role , window , etc. |
UI Actions (click , type ) |
β | π‘ | π‘ | Core interactions with UI elements. |
Application Management | β | π‘ | π‘ | Launch, list, and manage applications. |
Window Management | β | π‘ | π‘ | Get active window, list windows. |
Advanced Features | ||||
Workflow Recording | β | β | β | Record human workflows for deterministic automation. |
Monitor Management | β | π‘ | π‘ | Multi-display support. |
Screen & Element Capture | β | β | π‘ | Take screenshots of displays or elements. |
Language Bindings | ||||
Python (terminator.py ) |
β | β | β | pip install terminator.py |
TypeScript (terminator.js ) |
β | β | β | npm i terminator.js |
MCP (terminator-mcp-agent ) |
β | β | β | npx -y terminator-mcp-agent --add-to-app [app] |
Rust (terminator-rs ) |
β | β | β | cargo add terminator-rs |
Legend:
- β : Supported - The feature is stable and well-tested.
- π‘: Partial / Experimental - The feature is in development and may have limitations.
- β: Not Supported - The feature is not yet available on this platform.
For detailed information on features, installation, usage, and the API, please visit the Official Documentation.
Here's a section you can add under your README.md
to document tools for inspecting accessibility elements across Windows, macOS, and Linux β tailored to Terminator users trying to find correct selectors:
To create reliable selectors (e.g. name:Seven
, role:Button
, window:Calculator
), you need to inspect the Accessibility Tree of your OS. Here's how to explore UI elements on each platform:
- Tool: Accessibility Insights for Windows
- Alt: Inspect.exe (comes with Windows SDK)
- Usage: Open the app you want to inspect β launch Accessibility Insights β hover or use keyboard navigation to explore the UI tree (Name, Role, ControlType, AutomationId).
These tools show you the
Name
,Role
,ControlType
, and other metadata used in Terminator selectors.
- Tool: Accessibility Inspector
- Usage: Comes with Xcode β Open
Xcode > Open Developer Tool > Accessibility Inspector
β Use the target icon to explore UI elements on screen.
-
Tool: Accerciser
-
Install:
sudo apt install accerciser
-
Usage: Launch Accerciser β Select the window/app β Browse the accessible widget tree.
Once you identify the structure of your UI:
# Sample pattern
desktop.locator('window:Calculator')
.locator('role:Button')
.locator('name:Seven')
You can build and debug selector paths incrementally using .locator()
chaining.
- https://github.com/mediar-ai/terminator-typescript-examples
- https://github.com/mediar-ai/terminator-python-examples
- https://github.com/mediar-ai/terminator/examples
contributions are welcome! please feel free to submit issues and pull requests. many parts are experimental, and help is appreciated. join our discord to discuss.
if you want desktop automation at scale for your business, let's talk