terminator-rs

Crates.ioterminator-rs
lib.rsterminator-rs
version0.23.35
created_at2025-06-25 17:51:03.308309+00
updated_at2025-12-03 15:35:25.744984+00
descriptionA Playwright-style SDK for automating desktop GUI applications
homepagehttps://github.com/mediar-ai/terminator
repositoryhttps://github.com/mediar-ai/terminator
max_upload_size
id1726239
size1,497,153
Louis Beaumont (louis030195)

documentation

https://docs.rs/terminator

README

Want a turnkey automation? mediar.ai

Want No code workflow builder? app.mediar.ai

💰 Bounty Developer Program

We have listed a few issues with bounties - ask questions, complete tasks, make money!

Check out our bounty-tagged issues and start contributing today:

Join our Discord to discuss bounties and get help getting started.

demo of terminator drawing in paint

https://github.com/user-attachments/assets/b7bec5df-64a9-4f0e-aba4-1578c11275c7

Join us on Discord YouTube @mediar_ai Crates.io - terminator-rs Crates.io - workflow recorder

Install in Cursor Install in VS Code Install in VS Code Insiders

🚀 What's new

🧠 Why Terminator

For Developers

  • Create automations that work across any desktop app or browser
  • Runs 100x faster than ChatGPT Agents, Claude, Perplexity Comet, BrowserBase, BrowserUse (deterministic, CPU speed, with AI recovery)
  • >95% success rate unlike most computer use overhyped products
  • MIT-licensed — fork it, ship it, no lock-in

We achieve this by pre-training workflows as deterministic code, and calling AI only when recovery is needed.

For Teams

Our public beta workflow builder + managed hosting:

  • Record, map your processes, and implement the workflow without technical skills
  • Deploy AI to execute them at >95% success rate without managing hundreds of Windows VMs
  • Kill repetitive work without legacy RPA complexity, implementation and maintenance cost

Platform installation method

Platform CLI MCP Agent Automation Installation Method
Windows npm/bunx
macOS 🟡 🟡 🟡 Compile from source
Linux 🟡 🟡 🟡 Compile from source

📥 Installation for technical users

Terminator CLI

Windows (Recommended):

# Run directly without installation
npx @mediar-ai/cli --help
bunx @mediar-ai/cli --help

# Or install globally
npm install -g @mediar-ai/cli

macOS / Linux (Experimental - Compile from Source):

⚠️ Warning: macOS and Linux support is experimental. Many features are Windows-only or incomplete on other platforms.

git clone https://github.com/mediar-ai/terminator
cd terminator
cargo build --release
# Binary at: ./target/release/terminator

🤖 Want AI Automation with Claude Code?

Install the Terminator MCP in Claude Code:

claude mcp add terminator "npx -y terminator-mcp-agent@latest" -s user

Or install via the MCP directory for other clients (Cursor, VS Code, etc.).

What this does: Gives AI assistants the ability to control your desktop and automate tasks across any application.

Feature Support

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
Browser Automation Chrome extension enables browser control.
Workflow Recording Record human workflows for deterministic automation.
Monitor Management 🟡 🟡 Multi-display support.
Screen & Element Capture 🟡 Take screenshots of displays or elements.
Libraries
Python (terminator.py) 🟡 🟡 🟡 pip install terminator
TypeScript (@mediar-ai/terminator) npm i @mediar-ai/terminator
Workflow (@mediar-ai/workflow) npm i @mediar-ai/workflow
CLI (@mediar-ai/cli) npm i @mediar-ai/cli
KV (@mediar-ai/kv) npm i @mediar-ai/kv
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.

🕵️ How to Inspect Accessibility Elements (like name:Seven)

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:

🪟 Windows

  • 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.


🍎 macOS

  • Tool: Accessibility Inspector
  • Usage: Comes with Xcode → Open Xcode > Open Developer Tool > Accessibility Inspector → Use the target icon to explore UI elements on screen.

🐧 Linux

  • Tool: Accerciser

  • Install:

    sudo apt install accerciser
    
  • Usage: Launch Accerciser → Select the window/app → Browse the accessible widget tree.


Troubleshooting

For detailed troubleshooting, debugging, and MCP server logs, send us a message.

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests. many parts are experimental, and help is appreciated.

Commit count: 1390

cargo fmt