openworker README

The project's README from github.com/andrewyng/openworker. As one markdown file: README.md.

OpenWorker

openworker.com · Download · Issues

andrewyng%2Fopenworker | Trendshift

Beta - OpenWorker is in open beta: fully usable, updates itself, and we're actively polishing rough edges. Issues welcome.

AI that gets your everyday tasks done. OpenWorker is an open-source AI coworker that lives on your desktop and delivers finished work, not just chat: your code reviewed for vulnerabilities with fixes ready to go, a polished document, a Slack reply with the numbers, a triaged inbox. It ships specialist Security coworkers first — attackers already use AI, and defenders deserve the same leverage, governed.

It runs on your machine and doesn't lock you into any model: bring your own API key for OpenAI, Anthropic, Google, or an open-weight provider, or run fully local with Ollama. Your data leaves your machine only through the model and integrations you choose. Every action an agent takes is governed and logged — see Governed by design.

How OpenWorker works

Download

⬇ macOS (Apple Silicon) macOS 12+ · signed & notarized · auto-updates

⬇ Windows 10/11 (x64) builds are not yet code-signed, so SmartScreen will warn; signing is in progress

Open the app, add a model key (or point it at Ollama), and ask for something real.

Use cases

Pick a coworker, point it at real work, get a finished deliverable:

Specialist coworkers arrive with the tools, working style, and check-ins for one job already set up. Security coworkers ship first.

How it works

  1. Tell OpenWorker the outcome you want - "prepare a customer brief," "untangle my calendar," "draft a report," "check where the release stands across Jira and GitHub."
  2. It breaks the task into steps and works across your desktop, files, and connected apps.
  3. Before anything consequential - sending a message, changing a calendar, running a command - it checks in and you approve or redirect.
  4. You get the finished deliverable, not a to-do list.

Under the hood:

┌────────────────────────────────────────────────┐
│              OpenWorker desktop app            │  native shell + GUI
├────────────────────────────────────────────────┤
│           local agent server (Python)          │  engine · tools · connectors - built on aisuite
├───────────────┬────────────────┬───────────────┤
│  your files   │   your tools   │  your model   │  everything runs with your keys,
│  & terminal   │ 25+ connectors │  any provider │  on your machine
└───────────────┴────────────────┴───────────────┘

Governed by design

Governance is the architecture, not a plugin - the agent can't grant itself new permissions, and no prompt can talk it past a gate. Three tiers, all in this repo:

  1. Hard floors. A set of dangerous and irreversible operations is human-only, always. No mode - including full auto-approve - lowers these floors; they always escalate to you.
  2. A ladder of earned autonomy. Actions are approval-gated by default. One-off approvals can graduate into standing rules, then into config allowlists - each step explicit, visible, and revocable. In auto-approve mode a reviewer model lets routine actions through and escalates anything it isn't sure about to you; repeated denials trip a circuit breaker that pauses the reviewer and hands control back. Reviewer verdicts are judgments, not guarantees - the floors and the audit trail are what backstop them.
  3. An audit trail that answers "who did this, and why?" Every tool call is recorded with its approval provenance - auto-approved, user-approved, or denied, with the reviewer's reasoning attached - and persisted with the conversation.

Unattended runs never self-approve: their asks park in an inbox until a human answers. Found a vulnerability? See SECURITY.md.

What it can do

Bring your own model

Model access is yours: pick a provider, paste your key, switch anytime. Supported out of the box:

OpenAI · Anthropic · Google Gemini · BytePlus Ark · Volcengine Ark Agent Plan · Inkling (Thinking Machines) · GLM (Z.ai) · DeepSeek · Kimi (Moonshot) · Qwen · MiniMax · Mistral · Grok (xAI) - plus open-weight models via Together and Fireworks, and fully local models via Ollama.

A curated model list marks what we've verified for tool-calling work. Adding any model string works at your own risk.

Privacy

OpenWorker is local-first. Everything lives on your machine: the agent loop, your conversations, connector tokens, and model keys - all in the app's local secret store. The only cloud piece is a small service that brokers OAuth handshakes for connectors. You can always use the App without signing-in - use the connectors via manually-created credentials/API-keys.

Run from source

Prerequisites: Python 3.10+, Node 20+, and (for the desktop shell) the Rust toolchain via rustup.

git clone https://github.com/andrewyng/openworker
cd openworker

# 1. One-time bootstrap - creates the Python venv at .venv
#    (on Windows, run from Git Bash or WSL)
bash packaging/setup_dev_env.sh

# 2. Start the local agent server
.venv/bin/openworker-server --cwd ~/some/project --port 8765
#    (Windows: .venv\Scripts\openworker-server.exe)

# 3. In a second terminal, start the UI
cd surfaces/gui
npm install
npm run dev        # browser UI on the Vite dev port

The standalone server creates a per-launch token at <state-dir>/sidecar-8765.token; Vite reads that user-only file when it starts. For direct API calls, send its value in the X-OpenWorker-Token header. The desktop app uses an in-memory launch token instead and never writes it to disk.

To run the full desktop app instead of the browser UI, replace step 3 with npm run tauri dev (from surfaces/gui/) - the Tauri shell launches the window and supervises the server itself.

Tests: .venv/bin/pytest (server), npm test and npm run e2e in surfaces/gui (GUI unit + hermetic end-to-end). Desktop bundles are built with packaging/build_dmg.sh / packaging/build_windows.ps1.

Repository layout

Directory What's in it
coworker/ Python backend - agent engine, model providers, connectors, MCP client, memory, automations
surfaces/gui/ Desktop app - React UI + Tauri shell that supervises the server
stt/ Speech-to-text sidecar (Rust) for voice input
packaging/ Installer builds (macOS DMG, Windows), auto-update manifest, dev bootstrap
docs/ Design specs and decision logs
tests/ Backend test suite

Built on aisuite

OpenWorker's engine is built on aisuite, a lightweight Python library providing a unified chat-completions API across LLM providers and an agents layer with tools, toolkits, and MCP support. If you want to build your own agent harness rather than use ours, start there; this repo is a working reference for what aisuite can carry.

OpenWorker was originally developed inside the aisuite repository before moving to its own home here; thanks to the aisuite contributors whose work it builds on.

Contributing

Contributions and bug reports are welcome - open an issue or a pull request. The app updates itself, so fixes reach installs quickly. For any PR, please attach screenshots of what was broken and how it is fixed now. We will shortly add features that you can contribute to. Please note that we are actively developing based off a internal list and goal, so we may not approve PRs that add features that are already under-development or deviates from our vision.

License

MIT - see LICENSE.

openworker (andrewyng/openworker)

Searching Database…

这是什么?OpenWorker 是一款开源的 AI 办公助手,它常驻在你的桌面上,交付的是成品而不只是聊天:经过审查并附带修复的代码、打磨好的文档、包含真实数据的 Slack 回复,以及分类整理好的收件箱。
这是聊天机器人,还是真的能替我完成任务?它是一款智能体式桌面应用:你描述想要的结果,它会把任务拆分成多个步骤,在你的文件和已连接的应用中执行,遇到重要操作前会先征求你的确认,最后交给你一份成品,而不是一条回复或一个待办清单。
我要怎么把它运行起来?下载已签名的 macOS(Apple Silicon,macOS 12+)或 Windows 10/11(x64)版本,打开应用,添加模型 API 密钥或将其指向 Ollama,然后让它处理一件实际的事情。也可以使用 Python 3.10+、Node 20+ 和 Rust 工具链从源代码运行。
它可以使用哪些 AI 服务商?你可以自带密钥接入 OpenAI、Anthropic、Google Gemini、DeepSeek、Kimi、Qwen、MiniMax、Mistral、Grok、通过 Together/Fireworks 调用的开放权重模型,或者借助 Ollama 完全在本地运行。它不会被锁定在某一家服务商上。
Windows 版本现在可以直接用吗?它能运行,但还没有进行代码签名,因此在签名工作完成之前,打开时 Windows SmartScreen 会显示警告;macOS 版本则已经完成签名和公证。
这个能在 Linux 上运行吗,还是只能用于 Mac 和 Windows?目前只提供 macOS(Apple Silicon,macOS 12+)和 Windows 10/11(x64)的下载版本;Linux 没有列为受支持的构建版本。
OpenWorker 如何防止自己在没有指令的情况下做出有害的事?一组危险且不可逆的操作被设为仅限人工执行的“硬底线”,任何模式(包括自动批准)都无法绕过。常规操作则遵循一个层级:从一次性批准,到长期有效的规则,再到配置中的允许列表。每一次工具调用都会记录其批准来源和理由。
它能在 Slack 里工作,而不必打开它自己的应用窗口吗?可以。在 Slack 频道中 @OpenWorker,桌面端就会使用你已连接的工具开启一个会话,完成的答案会以话题回复的形式返回。
aisuite 是什么?为什么 README 会提到它?aisuite 是一个轻量级的 Python 库,为各大 LLM 服务商提供统一的聊天补全 API 以及智能体/工具层。OpenWorker 的引擎就是基于它构建的,而这个项目最初其实是在 aisuite 仓库里诞生的,之后才迁移到自己的独立仓库。
它开箱即可连接哪些工具和应用?提供 25+ 个集成,包括 GitHub、Slack、Jira、Notion、Linear、HubSpot、Outlook、monday.com、Gmail 和 Google Calendar,此外还有你的终端和本地文件;其他任何工具都可以通过 MCP 接入。
Creator
andrewyng
Size
6 MB
Stars
18.6K
Age
3mo
Commits · 90 Days