OpenWorker: put a desktop AI agent to work on real files
Set up OpenWorker Desktop with a hosted or local model, try it on one folder, and budget model calls, connected services, and optional remote machines.
Last updated: 2026-11-15
OpenWorker Desktop is an MIT-licensed desktop app for tasks that cross your files and connected tools: for example, turning meeting notes into a brief or preparing a code review. The app runs its Python agent engine on your computer and lets you connect a hosted model or a local model server. Its Harness SDK is a separate Rust engine for developers building agent apps; this guide covers the Desktop App.
The app itself is free. Your model provider, connected services and any remote machine can still cost money. Local-first describes where the app and its saved conversations run; it does not mean every model request stays on your device.

What runs where: the optional OpenShell sandbox holds the session’s folders and nothing else, secrets stay outside it, and every model route receives the context you send. Original explanation of documented behavior, not a recorded run.
Check the platform before installing
| Platform | What the project currently documents | What to know |
|---|---|---|
| macOS | macOS 12+; the official v0.3.1 download manifest lists Apple Silicon and Intel builds | The README's download button names Apple Silicon, while the official manifest also has an Intel package. |
| Windows | Windows 10/11, x64 | The project says its Windows build is not code-signed, so Windows SmartScreen may show a warning. |
| Linux | The v0.3.0 release provides an openworker command-line build for x86_64 and aarch64 | The v0.3.1 Desktop App download manifest has no Linux desktop package; its Linux download is a CLI, not the desktop interface. |
The Desktop App is in open beta and updates itself. As checked November 15, the official download manifest served v0.3.1. Start at openworker.com and use the download link there. For source builds, follow the repository's current setup instructions instead of treating the packaged app and development setup as the same install.
Choose a model and understand where data goes
In the Desktop App, open Settings → Models & Keys and connect a provider or a local server. The project lists OpenAI, Anthropic, Google Gemini, OpenRouter and other providers, plus local model servers such as Ollama, LM Studio, llama.cpp and vLLM. See the model setup guide and local server guide for supported connection details.
With a hosted model, the text and files the agent uses for a request are sent to that model provider. With local inference, the model runs on the device or server you selected; OpenWorker does not publish a minimum RAM or GPU requirement that applies to every model. The model's size, quantization, context length and tool-calling behavior affect whether a task fits and how well it works. One user report from October 8 describes a tool-call loop with OpenWorker v0.3.1 and Ollama 0.40.1 on a 16 GB M5 Mac when the server's default context was too small; the author said the fix was not in published builds. This is one version and configuration, not a general benchmark. The official download manifest still serves v0.3.1 as checked on November 15, so confirm your installed version and try a short task before relying on local inference for longer work.
The project says the Desktop App keeps its agent loop, conversations, connector tokens and model keys on your machine. Its optional service brokers OAuth sign-ins for connectors; you can instead use the app without signing in by configuring connector credentials yourself. A connected service still receives requests when you ask the agent to use it, and a cloud model still receives the context sent to it. Review which folders and integrations a task can access before starting.
Try one task in a working folder
Start with a folder containing a few meeting notes. No connected apps are needed for this first run.
- Choose a hosted provider or connect a local model in Settings → Models & Keys.
- Give the session access only to the folder you want it to read.
- Ask for a brief, review the tool activity and any approval request, then inspect the saved file yourself.
For example:
Read the meeting notes in this folder. Draft a one-page brief with the key decisions, open questions and next steps. Leave the original notes unchanged. Ask before writing a new file named
brief.md.
Open brief.md and check it against the notes. Check that each decision and next step comes from the supplied notes, then ask for a specific revision in the same session.
Set permissions for the task
OpenWorker approval-gates actions by default, records tool activity, and keeps certain dangerous or irreversible actions at a human approval floor. The app also has an optional sandbox for command and file tools. NVIDIA OpenShell uses a Linux container and requires Docker; the project documents OS-level sandbox options for macOS and Windows when OpenShell is not being used. The model keys, agent loop and connectors remain outside the OpenShell container, so sandboxing is a boundary for supported command and file execution, not a claim that all app data or integrations are inside it. Read the approval and safety documentation and OpenShell guide before enabling broader access.
For an initial run, limit the workspace to a test folder and leave writes, messages and other external actions behind their approval prompts. If you use a connected account, the agent's access is also bounded by that account's permissions.
Estimate a complete task's cost
OpenWorker does not charge per task. With an API model, the provider bills each model request in the agent loop. A multi-step task can make several requests, and retries, cached input or long conversation history can change the total. Use the provider's recorded usage where available:
task model cost = (input tokens × input rate + output tokens × output rate) ÷ 1,000,000
For a worked example without caching, suppose one brief task uses 100,000 input tokens and 12,000 output tokens across all turns, and the chosen API model's hypothetical rates are $0.50 per million input tokens and $2 per million output tokens. The model portion is $0.074: ($0.050 input + $0.024 output). These example rates are not a current provider quote or an OpenWorker price. Replace them with your model's current rates and billed token counts. If your provider bills cache reads and writes separately, calculate those token groups at their respective rates.
Add any separately billed search or integration service and remote compute you keep running. With a local model, the model provider line can be $0, but your computer or server still uses power and hardware capacity. The AI running-cost calculator can help compare model and machine costs; llama.cpp is a separate guide for estimating a local inference setup.
Choose Desktop App or Harness SDK
Use the Desktop App when you want a coworker for your own files and connected services. Use the Harness SDK when you are building an app that needs an agent loop, tool calls, approvals and durable sessions. The SDK has its own setup, deployment and model-cost choices; a Desktop App setup does not configure an SDK application.
For native GUI control through accessibility APIs, see agent-desktop. To organize existing coding agents in persistent terminal panes, see Herdr. Browse the Agent guides for related workflows.
Sources
Checked 2026-11-15: OpenWorker repository README and license, official website and downloads, official download manifest, Desktop App model setup, local model servers, approval and safety overview, OpenShell guide, v0.3.0 release, v0.3.1 release, issue #744, and Harness SDK README.