This guide walks you through installing, configuring, and running Exe Computer Use for the first time.
- System Requirements
- Installation
- Development Mode
- Model Configuration
- macOS Permissions
- Running Your First Task
- Building for Production
- Troubleshooting
| Requirement | Details |
|---|---|
| Node.js | >= 20 |
| pnpm | >= 9.10 |
| Operating System | macOS (Apple Silicon recommended), Windows, or Linux |
| RAM | 16 GB minimum |
| RAM (local models) | 32 GB recommended for running UI-TARS models locally |
| Disk Space | ~5 GB for model weights (local models only) |
# Clone the repository
git clone https://github.com/AskExe/exe-computer-use.git
cd exe-computer-use
# Install dependencies
pnpm installThis installs all workspace packages across the monorepo, including the Electron app, SDK, operators, and infrastructure packages.
Start the application in development mode with hot reload:
pnpm devThis runs turbo which builds all dependent packages and launches the Electron app with electron-vite dev.
The app window will open automatically. You can also use the debug mode for Chrome DevTools access:
cd apps/ui-tars
npm run debugExe Computer Use requires a Vision Language Model to analyze screenshots and predict actions. You have two options.
Use any OpenAI-compatible API provider (OpenAI, Anthropic, or self-hosted endpoints).
- Launch the app and open Settings (gear icon).
- Under VLM Provider, configure:
- API Base URL: Your provider's API endpoint (e.g.,
https://api.openai.com/v1). - API Key: Your authentication key.
- Model Name: The model identifier (e.g.,
ui-tars).
- API Base URL: Your provider's API endpoint (e.g.,
- Save settings. The app will use this endpoint for all agent invocations.
Run UI-TARS models entirely on your machine using llama-server. No internet connection needed after setup.
- Launch the app and open Settings.
- Enable Local Model Serving.
- The app will guide you through downloading:
- llama-server binary -- The inference server.
- UI-TARS-2B -- The primary action model (smaller, faster).
- UI-TARS-7B-DPO -- The reflection model (used by the Reflection Memory Agent for self-correction).
- Model weights are downloaded from HuggingFace and stored locally.
- Enable Auto-Start to have the servers launch automatically with the app.
Default ports:
- Main model server:
11435 - Reflection model server:
11436
See the Configuration Reference for all local model settings.
On macOS, Exe Computer Use needs two system permissions to control your computer:
Required to capture screenshots of your screen.
- The app will prompt you on first launch.
- If denied, go to System Settings > Privacy & Security > Screen Recording and enable Exe Computer Use.
- Restart the app after granting permission.
Required to control your mouse, keyboard, and interact with UI elements.
- The app will prompt you on first launch.
- If denied, go to System Settings > Privacy & Security > Accessibility and enable Exe Computer Use.
- Restart the app after granting permission.
Note: Both permissions require the app to be restarted after being granted for the first time.
-
Make sure you have configured a model provider (remote or local).
-
Ensure macOS permissions are granted (if applicable).
-
In the app's main window, type a natural language instruction. For example:
Open System Preferences and turn on Dark Mode -
Click Run (or press Enter). The agent will begin its loop:
- Screenshot: Captures your current screen.
- Model Inference: Sends the screenshot to the VLM with your instruction.
- Action Execution: The model returns an action (e.g., "click at coordinates (512, 340)") and the operator executes it.
- Repeat: The loop continues until the model signals the task is complete (
finished) or requests your input (call_user).
-
You can pause or stop the agent at any time using the controls in the UI.
To build a distributable application:
cd apps/ui-tars
# Full build: typecheck, bundle, and package
npm run buildThis produces platform-specific distributables in the out/ directory.
For individual build steps:
# Build only the distributable (skip packaging)
npm run build:dist
# Package without rebuilding
npm run package
# Create installer (after package)
npm run make- Go to System Settings > Privacy & Security > Screen Recording.
- Ensure Exe Computer Use is listed and enabled.
- Restart the app completely (quit from the dock, not just close the window).
- Remote API: Verify your API base URL, API key, and model name in Settings. Test the endpoint with
curlto confirm it is reachable. - Local models: Check that the llama-server process is running. Open the app logs to see server health check results. Ensure you have enough RAM for the model.
If ports 11435 or 11436 are already in use:
- Open Settings > Local Model.
- Change the port numbers to available ports.
- Restart the local model servers.
You can check for port conflicts with:
lsof -i :11435
lsof -i :11436- Ensure Node.js >= 20 and pnpm >= 9.10 are installed.
- Delete
node_modulesand reinstall:rm -rf node_modules && pnpm install. - Check that all workspace packages build successfully:
pnpm prepare.
The Reflection Memory Agent (RMA) is designed to detect and break out of stuck loops automatically. If it is not working:
- Ensure RMA is enabled in Settings (
rmaEnabled: true). - If using local models, ensure the reflection model (UI-TARS-7B-DPO) is configured and running on the reflection port.
- You can manually stop the agent at any time using the stop button.