From 4ffc73f1e8432ebf502f78ce9923261ab10e7e0a Mon Sep 17 00:00:00 2001 From: Rohit P Date: Thu, 23 Jul 2026 09:51:19 -0700 Subject: [PATCH] README: Minor updates. --- README.md | 90 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 62 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 2874e22f..dc933832 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,7 @@ > **Beta** - OpenWorker is in open beta: fully usable, updates itself, and we're actively polishing rough edges. [Issues](https://github.com/andrewyng/openworker/issues) welcome. -OpenWorker is an open-source AI coworker that delivers **finished work**, not just chat: a polished document, a Slack reply with the numbers, an updated calendar, a triaged inbox. - -Ask it to prepare a customer brief, untangle your week, draft a report, or check where a release stands across Jira and GitHub. It works across your files and everyday tools, produces the deliverable, and **checks in before doing anything consequential**. +**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: a polished document, a Slack reply with the numbers, an updated calendar, a triaged inbox. 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. @@ -14,32 +12,23 @@ It runs on your machine and doesn't lock you into any model: bring your own API ## Download -[**⬇ macOS (Apple Silicon)**](https://github.com/andrewyng/openworker/releases/latest/download/OpenWorker-macos-arm64.dmg) +[**⬇ macOS (Apple Silicon)**](https://download.openworker.com/mac) macOS 12+ · signed & notarized · auto-updates -[**⬇ Windows 10/11 (x64)**](https://github.com/andrewyng/openworker/releases/latest/download/OpenWorker-windows-setup.exe) +[**⬇ Windows 10/11 (x64)**](https://download.openworker.com/windows) 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. -## What it can do - -- **Produce real deliverables** - documents, spreadsheets, reports, and web pages land as files you can open and share, not text in a chat window. -- **Work from Slack** - mention `@OpenWorker` in a channel; a session opens on your desktop, the work happens with your tools, and the answer comes back as a thread reply. -- **Use your everyday tools** - 25+ integrations including GitHub, Slack, Jira, Notion, Linear, HubSpot, Outlook, monday.com, Gmail, and Google Calendar, plus your **terminal and local files**. Remote MCP servers plug in too, with per-tool control. -- **Run on a schedule** - automations for recurring work: a morning brief, a weekly report, a standing watch over a channel. Runs land in the app with full transcripts. -- **Ask before acting** - writes, sends, and shell commands are approval-gated. Unattended runs park their asks in an inbox instead of acting on their own. - -## 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 · 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; any model string works at your own risk. Keys are stored locally and are only ever sent to the vendor they belong to. - ## 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: + ```text ┌────────────────────────────────────────────────┐ │ OpenWorker desktop app │ native shell + GUI @@ -51,23 +40,62 @@ A curated model list marks what we've verified for tool-calling work; any model └───────────────┴────────────────┴───────────────┘ ``` -Everything lives on your machine: the agent loop, your conversations, connector tokens, and model keys. A small cloud service exists only to make connector OAuth one-click; the tokens it brokers are handed straight back to your device and stored locally. No account is required: every connector also accepts manually-created credentials, and the app is fully usable signed out. +## What it can do + +- **Produce real deliverables** - documents, spreadsheets, reports, and web pages land as files you can open and share. +- **Work from Slack** - mention `@OpenWorker` in a channel; a session opens on your desktop, the work happens with your tools, and the answer comes back as a thread reply. +- **Use your everyday tools** - 25+ integrations including GitHub, Slack, Jira, Notion, Linear, HubSpot, Outlook, monday.com, Gmail, and Google Calendar, plus your **terminal and local files**. Any tool reachable over [MCP](https://modelcontextprotocol.io/) plugs in too, with per-tool control. +- **Run on a schedule** - automations for recurring work: a morning brief, a weekly report, a standing watch over a channel. Runs land in the app with full transcripts. +- **Ask before acting** - writes, sends, and shell commands are approval-gated. Unattended runs park their asks in an inbox instead of acting on their own. + +## 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 · 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](https://rustup.rs/). + ```shell git clone https://github.com/andrewyng/openworker cd openworker -bash packaging/setup_dev_env.sh # creates .venv and installs the package -# terminal 1 - the local agent server +# 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) -# terminal 2 - the GUI (browser dev mode) -cd surfaces/gui && npm install && npm run dev +# 3. In a second terminal, start the UI +cd surfaces/gui +npm install +npm run dev # browser UI on the Vite dev port ``` -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`. Design notes and specs live in [`docs/`](docs/). +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 @@ -75,6 +103,12 @@ OpenWorker's engine is built on [**aisuite**](https://github.com/andrewyng/aisui 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](https://github.com/andrewyng/openworker/issues) 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](LICENSE). Contributions and bug reports are welcome; the app updates itself, so fixes reach installs quickly. +MIT - see [LICENSE](LICENSE).