Skip to content

Repository files navigation

TIA Operator

TIA Operator cover

TIA Operator is a local-first desktop automation app for recording mouse and keyboard workflows, saving them as reusable scripts, replaying them safely, and exposing those same actions to other coding agents through a built-in MCP server.

See more app screenshots in APP.md

What It Does

  • Record local mouse and keyboard input into reusable scripts.
  • Edit script timelines by hand, including coordinate-free mouse press steps.
  • Replay scripts with countdown, timing, loop, and shortcut controls.
  • Run a local MCP server on http://127.0.0.1:11531/mcp so other agents can:
    • list, create, remove, and execute scripts
    • capture screenshots
    • send mouse and keyboard input directly
  • Keep quick controls in the tray with Open App, Exit App, and MCP on/off status.

MCP Server

The app now starts with the MCP server enabled by default. You can turn it on or off from the dedicated MCP Server page or from the tray menu.

Exposed tools:

  • execute_script
  • list_scripts
  • create_script
  • remove_script
  • get_screenshot
  • mouse_down
  • mouse_up
  • mouse_move
  • mouse_scroll
  • keyboard_input
  • key_down
  • key_up

mouse_down accepts omitted coordinates. When both x and y are left out, TIA Operator presses the button at the current cursor position without moving the mouse first.

Safety Model

  • Recording only starts from an explicit user action.
  • The UI always shows recording and replay state.
  • Scripts stay in the local SQLite database unless you export them.
  • Replay is blocked while recording.
  • Recording is blocked while replaying.
  • A global emergency stop shortcut is always shown in the app.

Local Development

Prerequisites:

  • Node.js 20+
  • pnpm
  • Rust 1.85+
  • Tauri system dependencies for your OS

Install dependencies:

pnpm install

Run checks:

pnpm check

Run the desktop app:

pnpm tauri:dev

Build local installers:

pnpm tauri:build

Generated bundles are written under src-tauri/target/release/bundle.

Data

TIA Operator stores local data in the app data directory reported inside the Settings screen. The SQLite database filename is:

tia-operator.sqlite3

Scripts can be exported and imported as JSON.

Releases

This repo publishes releases from .github/workflows/release.yml. Pushing a tag like v0.1.6 runs checks, builds desktop artifacts, and publishes them to GitHub Releases.

Before publishing:

  1. Keep TAURI_UPDATER_PUBLIC_KEY, TAURI_SIGNING_PRIVATE_KEY, and TAURI_SIGNING_PRIVATE_KEY_PASSWORD configured in GitHub Actions secrets.
  2. Push the release tag:
git tag v0.1.6
git push origin v0.1.6

The updater endpoint is configured to use the latest GitHub Release artifact:

https://github.com/ZhuXinAI/tia-operator/releases/latest/download/latest.json

License

MIT

About

The operator on your desktop

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages