OpenWorker - Andrew Ng's free, local-first AI desktop agent
OpenWorker is an open-source AI desktop agent released by Andrew Ng, completely free under the MIT license. It's not a chatbot, but a local-first AI colleague for delivering results. Users specify desired outcomes, and it directly produces usable documents, SLAC...
What is OpenWorker?
OpenWorker is an open-source AI desktop agent released by Andrew Ng, completely free under the MIT license. It's not a chatbot, but a local-first AI colleague that delivers results. Users specify desired outcomes, and the system directly generates usable documents, Slack replies, or calendar events, rather than to-do lists. All data runs locally, supporting over 30 models (including Ollama, which is fully offline), and integrating with 25+ tools such as Slack, Gmail, and GitHub. Any actions with consequences (sending emails, running commands) require user confirmation, balancing efficiency and security.
Main functions of OpenWorker
-
Deliverables-orientedIt does not return to the to-do list, but directly generates usable deliverables, such as polishing documents, data reports, Slack replies, calendar schedules, and categorized inboxes.
-
Local-first architectureThe proxy engine, dialogue history, connector token, and API key are all stored locally, and the data does not leave the device by default.
-
Model-independent supportBased on the aisuite unified interface, it is compatible with more than 30 models such as OpenAI, Anthropic, Google, Kimi, DeepSeek, and Qwen, and can also run completely offline through Ollama.
-
Multi-tool integrationIt has 25+ built-in connectors, covering everyday office tools such as Slack, Gmail, Google Calendar, GitHub, Jira, Notion, Linear, HubSpot, and Outlook.
-
Slack Collaborative OfficeAs mentioned by @OpenWorker in the Slack channel, it automatically starts a session on the desktop and sends the results back to the original thread after the task is completed.
-
Timed automationSupports setting up periodic tasks (such as morning briefings, weekly report generation, and channel monitoring), with complete execution logs.
-
Terminal and file operationsIt can directly read and write local files, execute Shell commands, and use the desktop environment as a workspace.
-
MCP Ecosystem AccessIt supports Model Context Protocol (MCP), allowing any tool that can access it via MCP to connect, and supports individual permission control for each tool.
-
Approval security mechanismAll write, send, and execute operations require user confirmation by default; in unattended mode, consequential operations are temporarily stored in the inbox pending approval.
-
Voice input supportIt includes a built-in Rust-based STT bypass that supports voice command input.
How to use OpenWorker
-
Download and install the client.Visit the OpenWorker website https://openworker.com/ or GitHub Releases to download the installation package for your system, macOS or Windows 10/11.
-
Configure AI modelAfter opening the application, paste your own API key in the settings, or point to your local Ollama to achieve completely offline operation; it supports switching between different models in the same task to balance cost and quality.
-
Connect to office toolsAuthorize commonly used tools in the settings, including 25+ connectors such as Slack, Gmail, Google Calendar, GitHub, Jira, Notion, Linear, HubSpot, and Outlook; you can also connect to any compatible tool via the MCP protocol, and each tool can be enabled or disabled individually.
-
State the target outcome.Instead of typing random suggestions, describe the specific deliverables you want in the chat box, such as "prepare a client meeting briefing", "organize next week's conflict schedule and provide adjustment plans", or "check the progress of Monday's release on Jira and GitHub".
-
Key approval proceduresOpenWorker automatically breaks down tasks and executes them across applications; before performing actions with consequences, such as sending emails, modifying calendars, or running shell commands, the application will display a confirmation pop-up, which you can approve, reject, or redirect within the application or in Slack.
-
Obtain the completed deliverablesAfter the task is completed, you will directly obtain usable results such as Markdown/PDF documents, data reports, sent Slack replies, updated calendar events, categorized inbox summaries, etc., rather than a to-do list.
-
Collaboration in SlackAs mentioned in the work channel by @OpenWorker, a session will be automatically opened on the desktop, calling your local tools and files to complete the task, and the final result will be sent back to the original channel in the form of a thread reply.
-
Set up timed automationCreate recurring tasks in the application (such as daily morning briefings, weekly project progress reports, or continuous monitoring of a channel) and set the running time; in unattended mode, consequential operations will be automatically stored in the "inbox" for batch review.
-
Source code building (advanced user)For secondary development or Linux use, clone the repository and then execute the command.
bash packaging/setup_dev_env.shCreate a Python virtual environment, and then start the local proxy server (.venv/bin/openworker-server) and front-end interface (npm run tauri dev); requires Python 3.10+, Node 20+, and Rust toolchain. -
Management permissions and securityView the individual permission switches for each connector and MCP tool in the settings; by default, all write, send, and execute operations require confirmation, which can be adjusted as needed.
discuss(Read-only)interactive(Default approval)auto(Automatic within a limited range) orcustom(Custom) mode.
OpenWorker's core advantages
-
Local priority, zero compromise on privacyThe proxy engine, conversation history, API key, and connector token are all stored in the local keystore. The data does not leave the device by default, and the cloud only proxies the OAuth handshake.
-
Completely open source and freeMIT license, no subscription required, no functional limitations, the community is free to fork and develop it.
-
Model zero lockingBased on the aisuite unified interface, it supports more than 30 models such as OpenAI, Anthropic, Kimi, DeepSeek, and Qwen. It can switch between models midway through the same task to balance cost and quality.
-
Can run completely offline: Accessing local models via Ollam requires no API keys or network dependencies, enabling use in a purely intranet environment.
-
Delivering results, not dialogueIt directly generates usable documents, reports, Slack replies, and calendar updates, rejecting the pseudo-proxy experience of "completing the to-do list and then it's over".
-
Operation Approval Safety NetAll write, send, and execute operations require user confirmation by default. In unattended mode, consequential operations are automatically stored in the inbox pending approval.
-
Rich tool ecosystemIt has 25+ built-in connectors covering everyday tools such as Slack, Gmail, GitHub, Jira, and Notion, and also supports unlimited expansion of the MCP protocol.
-
Slack native collaborationSimply use @OpenWorker in the channel to trigger the desktop task execution, and the result will be automatically sent back to the original thread without switching applications.
-
Timed automationSupports periodic task orchestration (morning briefing, weekly report, channel monitoring), with complete execution logs.
-
No registration required.It does not require an account system and can run completely offline with just an API key and manual credentials, lowering the barrier to entry.
OpenWorker official website address
- Official website address:https://openworker.com/
- GitHub repository:https://github.com/andrewyng/openworker
Comparison of OpenWorker and similar competing products
| Comparison Dimensions | OpenWorker | Claude Cowork | Manus |
|---|---|---|---|
| Open source license | MIT, completely free | Closed source | Closed source |
| Operating environment | Local preferred, local desktop client | Desktop (macOS / Windows) | Cloud-based sandbox Linux VM + Chromium browser |
| Model Strategy | Model-independent, 30+ models by BYOK, supports Ollama completely offline. | Claude series models only | Multi-model cloud hosting, users cannot choose their preferred model. |
| Data privacy | Conversations, tokens, and keys are all stored in the local keystore; the data does not leave the device. | Local file sandbox, dialogue with local storage | Data resides in a cloud VM and is processed remotely on a server. |
| File access | Local file system + terminal + Git | Specify local folder sandbox read/write | Independent file system in the cloud, persistent storage |
| Tool Integration | 25+ connectors + MCP protocol extension | Connector + MCP + Browser Plugin | Browser, Python/Node execution environment, API calls |
| Slack Collaboration | @OpenWorker mentioned that the desktop client executes the operation and then sends a return thread. | Access via connector | Distribute tasks remotely via WhatsApp / Slack / Telegram |
| Scheduled tasks | Local automated orchestration requires the device to be online. | Supports local scheduled tasks | Supports long-term unattended autonomous operation |
| Approval mechanism | Forced confirmation before writing/sending/executing; temporary storage in the inbox when unattended. | The planning and execution approval process is gated and can be redirected midway. | High degree of autonomy, with fewer intermediate confirmation steps |
| Pricing Model | The application is free, but users are responsible for the cost of the cloud model API; Ollam is free. | Bundled with Claude paid plans, Pro starts at $20/month. | Points system: Free / $20 / $40 / $200 tiers |
| Offline capabilities | Support (Ollama local model) | Internet connection required | Internet connection required |
Application scenarios of OpenWorker
-
Sales Customer PreparationAutomatically reads Gmail emails and Google Calendar schedules, integrates them to generate client meeting summaries, and automatically sends follow-up emails after confirmation.
-
Schedule Conflict AnalysisScan the calendar to identify time conflicts, propose adjustment plans, and automatically update the schedules of all participants after one-click confirmation.
-
Project progress trackingIt pulls the latest issues, PRs, and milestone data from Jira and GitHub and automatically generates a weekly release progress summary report.
-
Slack Collaborative ResponseWhen a task is mentioned in the work channel by @OpenWorker, the agent executes the task on the desktop by calling the tool and then sends the result back to the original channel as a thread reply.
-
Smart sorting of inboxesAutomatically reads Gmail emails, categorizes and organizes them by priority and subject, and generates a summary for users to quickly make decisions.
-
Operation and maintenance incident responseThe process of monitoring Slack alert channels, reviewing local runbooks, drafting incident reports, and executing remediation commands all require manual confirmation.