Andrew Ng Just Released OpenWorker: An Open-Source, Local-First Desktop AI Coworker That Returns Finished Deliverables Instead of Chat






Andrew Ng has announced OpenWorker, an open-source desktop agent that produces finished work rather than conversation. OpenWorker asks the user for an outcome, not a prompt: a polished document, a Slack reply containing the actual numbers, an updated calendar, a triaged inbox. It then breaks that outcome into steps, works across local files and connected apps, and checks in before anything consequential.

The architecture is four layers, and all of them run on your machine

The repository contains 119 Python files (~32,400 lines) under coworker/, 149 TypeScript/TSX files under surfaces/gui/, and 78 backend test modules.

The stack breaks down as follows:

  • Desktop shell — a Tauri 2 native window wrapping a React 18 UI. The bundle identifier is com.openworker.desktop, and the shell supervises the Python server itself.
  • Local agent server — Python 3.10+ on FastAPI and uvicorn, binding to 127.0.0.1:8765 by default. The example config caps a turn at 12 model↔tool iterations.
  • Capability and connector layer — vetted local tools (files, git, ripgrep-backed search, shell, todo) plus hosted integrations plus MCP.
  • Model router — one interface over native, OpenAI-compatible, reseller and local providers.

The engine is built on aisuite, Andrew Ng’s provider-agnostic LLM library.


‘+l.d+’

    ‘+l.u.map(function(u){return ‘

  • ‘+u+’
  • ‘}).join(”)+’

‘;
d.addEventListener(‘click’,function(){var was=d.classList.contains(‘on’);lay.querySelectorAll(‘.layer’).forEach(function(x){x.classList.remove(‘on’)});if(!was)d.classList.add(‘on’);sz();});
lay.appendChild(d);});
function facet(items,idx,chipEl,rowEl,render){
var cats=[];items.forEach(function(it){if(cats.indexOf(it[idx])<0)cats.push(it[idx])});
var sel=”All”;
function chips(){chipEl.innerHTML=”;[‘All’].concat(cats).forEach(function(c){
var n=c===’All’?items.length:items.filter(function(i){return i[idx]===c}).length;
var b=document.createElement(‘button’);b.className=”chip”+(c===sel?’ on’:”);
b.innerHTML=c+’‘+n+’‘;
b.addEventListener(‘click’,function(){sel=c;chips();rows();sz();});chipEl.appendChild(b);});}
function rows(){rowEl.innerHTML=”;items.filter(function(i){return sel===’All’||i[idx]===sel}).forEach(function(i){
var d=document.createElement(‘div’);d.className=”row”;d.innerHTML=render(i);rowEl.appendChild(d);});}
chips();rows();}
facet(MODELS,0,document.getElementById(‘mchips’),document.getElementById(‘mrows’),function(m){
return ‘‘+(m[3]?’Vision + PDF’:’Tools only’)+’‘;});
facet(CONN,0,document.getElementById(‘cchips’),document.getElementById(‘crows’),function(c){
return ‘

‘+c[1]+’

‘+c[0]+’‘;});
var mxb=document.getElementById(‘mxb’);
MX.forEach(function(r){var tr=document.createElement(‘tr’);
tr.innerHTML=’

'+r[0]+'

‘+r.slice(1).map(function(c){return ‘

‘+c[0]+’

‘}).join(”);
mxb.appendChild(tr);});
function sz(){try{parent.postMessage({owEmbed:’ow1′,height:R.offsetHeight+40},’*’)}catch(e){}}
if(window.ResizeObserver)new ResizeObserver(sz).observe(R);
window.addEventListener(‘load’,sz);setTimeout(sz,120);sz();
})();



Source link

  • Related Posts

    Reflection AI Introduces Beam: A 501B Open-Weight MoE Model With 23B Active Parameters for Coding and Agentic Workloads

    Reflection AI has introduced Beam, its first open-weight model. Beam is a sparse Mixture-of-Experts (MoE) model with 501B total parameters and 23B active per token, built for coding, reasoning and…

    Meet Together Link: A Free CLI That Runs Open Models Like Kimi K3 and GLM 5.3 Inside Claude Code, Codex, and OpenCode

    Together AI has released Together Link, a free, MIT-licensed CLI now in beta. It connects the coding agents developers already use to open models hosted on Together AI. Supported tools…

    Leave a Reply

    Your email address will not be published. Required fields are marked *