Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Ani-4x/terminator

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

terminator ๐Ÿค–

paint051225.mp4

Join us on Discord docs

.

Terminator is the best computer use AI SDK. Record human workflows, deploy at scale. It's designed to interact with native GUI applications on Windows using a Playwright-like API, like parsing a website. By leveraging OS-level accessibility APIs, Terminator is significantly faster and more reliable for AI agents than vision-based approaches, and can interact with background applications.

โš ๏ธ Experimental โš ๏ธ: Terminator is under active development. Expect bugs and breaking changes. Please report issues โ€“ we aim to fix them quickly!

OS Support

Operating System Support Status Key Characteristics
Windows โœ… Active Focus Full features, best performance, actively developed & documented.
macOS ๐ŸŸก Partial Core functionality available; community-driven, less documented.
Linux โŒ No Support Not currently supported.

Key Features

  • AI-First & Agentic: Built from the ground up for modern AI agents and workflows.
  • Blazing Fast & Reliable: Uses OS-level accessibility APIs, making it much faster and more robust than vision-based tools.
  • Playwright-Style API: Offers a familiar, powerful, and developer-friendly interface.
  • Cross-Platform (Windows Focus): Automate native GUI applications on Windows (primary) and macOS.
  • Deep UI Introspection: Enables detailed understanding and control of complex UI elements.
  • Background App Interaction: Capable of interacting with applications even if they are not in focus.
  • Human workflow recording & compilation: Can record human workflows and compile into AI decision tree that runs 10000x faster, only using AI as fallback during inference.

Benchmarks

The benchmark test illustrates how fast Terminator can query the UI. It finds all edit elements in about 80ย ms, showcasing a big speed advantage over vision-based tools.

This form-filling app can read & fills forms as soon as you see them in <1s end-to-end using Gemini.

Demos

Check out Terminator in action:

Documentation

For detailed information on features, installation, usage, and the API, please visit the Official Documentation.

Quick Start

Get up and running with Terminator:

  1. Clone the repo:
    git clone https://github.com/mediar-ai/terminator
    cd terminator
  2. Set up the server:
    • Windows: Download & unzip the pre-built server using PowerShell:
      powershell -ExecutionPolicy Bypass -File .\setup_windows.ps1
    • macOS: Compile the server using Rust/Cargo (ensure Rust and Xcode Command Line Tools are installed):
      cargo build --release --package server
  3. Run the server:
    • Windows:
      ./server_release/server.exe --debug
    • macOS:
      ./target/release/examples/server --debug
  4. Run an example client (in a separate terminal): Navigate to the example directory, install dependencies, and run:
    cd examples/hello-world
    npm i
    npm run dev
    # Then, open http://localhost:3000 in your browser

For more details, see the Getting Started Guide in the docs.

Explore Further

Technical Details & Debugging

Key Dependencies

  • Windows: uiautomation-rs
  • macOS: Native macOS Accessibility API (exploring cidre as an alternative)

Debugging Tools

  • Windows:
    • Accessibility Insights for Windows
    • FlaUInspect: A recommended alternative for inspecting UI Automation properties on Windows.
      • Install: choco install flauinspect or download from FlaUI/FlaUInspect releases.
      • Usage: Launch FlaUInspect.exe, hover or click on elements to see properties like AutomationId, Name, and ControlType. This is great for debugging selectors.

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

๐Ÿ How to Use the Python Bindings

Don't use the old python-sdk folder. Instead, follow these steps to build and use the new, fast Python API:

  1. Create and activate a Python virtual environment (recommended):

    python -m venv .venv
    # On Windows:
    .venv\Scripts\activate
    # On macOS/Linux:
    source .venv/bin/activate
  2. Install Maturin:

    pip install maturin
  3. Build and install the Python bindings:

    cd bindings/python
    maturin develop

    This will compile the Rust code and install the terminator Python package into your current environment.

  4. Use it in Python:

    import terminator
    desktop = terminator.PyDesktop()
    print(desktop.hello())

If you get stuck:

  • Make sure you're in the right folder (cd bindings/python).
  • Make sure you're using a Python virtual environment (see above).
  • If you see errors, try pip install maturin --upgrade and cargo clean.

๐ŸŸฆ How to Use the Node.js/TypeScript Bindings

Donโ€™t use the old HTTP server for JS/TS. Instead, use the new native bindings for maximum speed:

  1. Install Deps & Build the native addon:

    cd bindings/nodejs
    npm install
    npm run build

    This will compile the Rust code and generate a .node binary for use in JS/TS. You can use the wrapper index.js, It will handle loading .node binary

  2. Use it in JavaScript/TypeScript:

    const { NodeDesktop } = require('./index.js');
    const desktop = new NodeDesktop();
    console.log(desktop.hello());

If you get stuck:

  • Make sure youโ€™re in the right folder (cd node/bindings).
  • Make sure you have Rust and Node.js installed.
  • If you see errors, try cargo clean and npm run build again.

About

Parse your desktop like an HTML website. Playwright but for your desktop.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 88.6%
  • Python 5.2%
  • TypeScript 3.3%
  • JavaScript 2.5%
  • PowerShell 0.4%