Open-source project
TurixAI/TuriX-CUA avatar
TurixAI/TuriX-CUA

TuriX CUA: An Open-Source AI Agent That Operates the Desktop Directly

This is the official website for TuriX Computer-use-Agent

3,171 stars330 forksPythonMIT

At a glance

What is it?
TuriX is an open-source computer-use agent that accepts natural-language instructions and translates them into GUI actions on macOS, Windows, and Linux, without app-specific APIs. It supports swappable vision-language models and scored 64.2% on the OSWorld benchmark.
Who is it for?
TuriX is a practical fit for researchers and developers who want a visual, model-agnostic automation agent for macOS and who are comfortable with a Python 3.12 setup and granting system-level accessibility permissions. Those who need stable versioned releases or enterprise support should note that TuriX does not yet have a 1.0 release.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 17 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

TuriX as a General-Purpose Desktop Automation Agent

TuriX is a computer-use agent (CUA) built in Python that accepts natural-language task descriptions and executes them by controlling the desktop directly: moving the mouse, clicking buttons, typing text, and reading the screen. It requires no app-specific automation APIs; if a human can interact with a UI element, TuriX can too.

The primary audience is developers and researchers who want to automate complex desktop workflows across applications, including proprietary tools that expose no scripting interface. Documented example tasks from the README include booking flights and hotels, searching prices, creating documents in Pages, inserting charts into PowerPoint, and sending messages via Discord. The agent runs on macOS 15 or later on the main branch, with Windows support on the multi-agent-windows branch and Linux support on the multi-agent-linux branch.

How TuriX Controls Desktop Applications

TuriX's architecture separates the planning layer from the execution layer. A planner interprets the user's goal and optionally loads relevant Skill guides, which are markdown playbooks stored in the skills/ directory. The planner selects skills by name and description, then uses their full instructions to break the task into steps. A vision-language model (VLM) acts as the policy brain: it receives a screenshot of the current desktop state and produces the next action (click, type, scroll, and so on).

The execution layer uses pyautogui and pynput (both listed in requirements.txt) to deliver those actions to the operating system. Playwright handles browser-specific interactions. The result is a control loop: take screenshot, send to VLM with task context, receive action, execute, repeat until the task is complete or a stopping condition is reached.

The README states the agent never collects data during a session.

Setting Up TuriX on macOS, Windows, and Linux

The main branch targets macOS 15 or later with Python 3.12. An app download is available from https://www.ngtechai.com for a less manual setup. For the manual path, create a Python 3.12 virtual environment, install the dependencies from requirements.txt, and grant two macOS permissions described in the README: Accessibility access (for mouse and keyboard control) and Safari Automation (for browser tasks).

For Windows, switch to the dedicated branch first:

bash
git checkout multi-agent-windows

For Linux (for example Ubuntu), switch to:

bash
git checkout multi-agent-linux

A legacy macOS setup with a single-model configuration is on the mac_legacy branch. The OpenClaw integration packages for both macOS and Windows live in the OpenCLaw_TuriX_skill/ directory and have their own README.md with installation and permission steps.

Swapping the Vision-Language Model via config.json

One of TuriX's practical design decisions is that the underlying VLM is not hard-coded. The README states: change it in config.json and run. An example config.json is provided in examples/ in the repository.

The requirements.txt file confirms the supported integrations: langchain-openai, langchain-anthropic, langchain-ollama, langchain-fireworks, langchain-aws, and langchain-google-genai are all listed as direct dependencies, meaning TuriX can route requests to OpenAI, Anthropic, local Ollama models, Fireworks, AWS Bedrock, or Google Generative AI without code changes. The portkey-ai dependency adds a model gateway layer for routing and observability.

This matters practically: if a new VLM outperforms the default model on your task type, you replace one line in config.json rather than rewriting the agent. The README mentions Qwen3-VL support was added in a 2026 update.

Skills, MCP Integration, and the OpenClaw Ecosystem

The Skills system lets TuriX follow procedure guides written as markdown. Guides go in the skills/ directory. When the planner receives a task, it matches task intent to available skill names and descriptions, then feeds the full skill instructions to the VLM brain for step planning. This is TuriX's mechanism for encoding domain-specific procedures without retraining the model.

TuriX also exposes a Model Context Protocol (MCP) interface. The README demonstrates a Claude for Desktop workflow where Claude searches for AI news, calls TuriX via MCP, has TuriX write the research results into a Pages document, and sends the document to a contact. Any MCP-compatible agent host can use TuriX as a computer-use action provider in the same way.

The OpenClaw Skill packages (in OpenCLaw_TuriX_skill/) allow TuriX to be invoked through the ClawHub platform. The macOS skill is on the main branch and the Windows version is on multi-agent-windows.

OSWorld Benchmark Results and What They Mean

The README reports that TuriX ranked 3rd overall on the OSWorld benchmark among all submitted agents, scoring 64.2% (229.88 out of 358 tasks) with a 50-step limit. OSWorld is a benchmark for evaluating computer-use agents on real desktop tasks in a Linux-based environment. The README notes TuriX was built and optimized for macOS and used zero Linux training data, which it presents as context for the result.

On its own internal OSWorld-style Mac benchmark, the README claims an 80%+ success rate. This is a self-hosted benchmark, not the public OSWorld, so the two numbers are not directly comparable. A technical report is referenced at https://turix.ai/technical-report/.

These numbers give a rough calibration of what to expect. A 64.2% task-completion rate means roughly one in three tasks fails on an unfamiliar benchmark environment. Success rates on a user's specific real-world tasks will vary depending on application complexity and the VLM chosen.

TuriX Against Scripted Automation Tools and Its Limitations

The traditional alternative to vision-based agents is scripted GUI automation. Tools built on pyautogui (which TuriX itself uses internally) or similar libraries record and replay actions at fixed screen coordinates or window element identifiers. They are deterministic and fast, but they break when the UI changes, require separate scripts per application, and cannot adapt to dynamic content.

TuriX takes the opposite approach: the VLM reads screenshots and decides where to click based on visual understanding, so it can adapt to UI changes without script updates. The trade-off is that VLM inference adds latency and API cost (unless running a local Ollama model) and task success is probabilistic rather than guaranteed.

The most concrete limitation is the platform requirement. The main branch requires macOS 15 or later. Windows and Linux users must switch to separate branches that may lag behind the main branch in features. The latest release listed in the repository is v0.4 from March 2026; there is no 1.0 release. The last push was on 2026-09-14.

Editorial conclusion

TuriX is a practical fit for researchers and developers who want a visual, model-agnostic automation agent for macOS and who are comfortable with a Python 3.12 setup and granting system-level accessibility permissions. Those who need stable versioned releases or enterprise support should note that TuriX does not yet have a 1.0 release. Before deploying on a shared or sensitive system, read the SECURITY-related notes in CONTRIBUTING.MD and verify what macOS permissions the agent requires during the Accessibility and Safari Automation grant steps.

Frequently asked questions

What operating systems does TuriX support?

The main branch of TuriX targets macOS 15 or later. Windows support is available on the multi-agent-windows branch, and Linux support (for example Ubuntu) is on the multi-agent-linux branch. Each platform branch has its own setup instructions.

How do I change which AI model TuriX uses?

TuriX reads its model configuration from config.json. An example file is in the examples/ directory. The requirements.txt includes LangChain integrations for OpenAI, Anthropic, Ollama, Fireworks, AWS Bedrock, and Google Generative AI, so switching providers requires only editing config.json.

Does TuriX collect data while it runs?

The README states explicitly that TuriX never collects data. The repository is MIT-licensed and fully open source, so the code that handles screen captures and inputs can be inspected directly.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. TurixAI/TuriX-CUA on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/turixai-turix-cua.svg)](https://hysenlabs.com/projects/turixai-turix-cua)