terminator-rs 0.6.4

A Playwright-style SDK for automating desktop GUI applications
docs.rs failed to build terminator-rs-0.6.4
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

terminator πŸ€–

https://github.com/user-attachments/assets/00329105-8875-48cb-8970-a62a85a9ebd0

Computer use SDK for building agents that learn from human screen recordings. Cross-platform (Windows/macOS/Linux), deterministic, and ready for L5 desktop automation.

⚑ TL;DR β€” Hello World Example

Skip the boilerplate. This is the fastest way to feel the magic.

🐍 Python

pip install terminator.py
import terminator
desktop = terminator.Desktop()
desktop.open_application('calc')
seven = desktop.locator('name:Seven')
seven.click()

🟦 TypeScript / Node.js

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')

🧠 What is Terminator?

Terminator is the Playwright-style SDK for automating Windows GUI apps.

  • πŸͺŸ Built for Windows, works on Linux & macOS (partial)
  • πŸ€– Uses RLHF'd human screen recording as context
  • 🧠 Designed for AI agents, not humans
  • ⚑ Uses OS-level accessibility (not vision)
  • 🧩 TS, Python, and Rust support
  • πŸ“ˆ 80ms UI scans, 10000x faster and cheaper than humans

Documentation

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:


πŸ•΅οΈ 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.


πŸ’‘ Tip

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.

Explore Further

contributing

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.

businesses

if you want desktop automation at scale for your business, let's talk