Andrew Ng开源OpenWorker:本地优先的桌面AI Agent,从“对话“到“交付成品“的范式转变“
一、引言:AI助手的"最后一公里"困境过去两年,大语言模型的能力突飞猛进。GPT-5系列、Claude Opus 4.8、Gemini 3.6——每个模型都能写出令人惊叹的回答,都能在基准测试中刷新纪录。但有一个问题始终没解决:AI停留在"说"的阶段,无法真正"做"。你让AI"准备一份客户续约简报",它给你一段文字。你让AI"整理一下这周的日历冲突",它给你一个待办清单。你让AI"排查一下线上故障",它给你一份分析报告。然后呢?你还是要自己动手——打开文档编辑器、切换日历应用、登录Slack发消息。AI回复了你,然后把烂摊子留给你收拾。2026年7月23日,Andrew Ng 联合 Alexa 前负责人 Rohit Prasad 开源了OpenWorker,一个MIT协议的桌面AI Agent。GitHub上14.5k星,定位是"桌面AI同事"(desktop AI coworker)。它的核心承诺只有一句话:AI应该交付成品,而不是对话。┌──────────────────────────────────────────────────────────────┐ │ 范式转变:从"对话"到"交付成品" │ │ │ │ 传统AI助手(Chatbot范式) │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ 用户提问 │ - │ AI回复 │ - │ 用户自己动手干活 │ │ │ └──────────┘ └──────────┘ └──────────────────┘ │ │ ↑ │ │ "帮我写个报告" → 一段文字 → 你打开Word自己排版 │ │ │ │ OpenWorker(成品交付范式) │ │ ┌──────────┐ ┌──────────────────┐ ┌──────────────┐ │ │ │ 用户描述 │ - │ AI拆解执行+审批 │ - │ 交付成品文件 │ │ │ │ 目标成果 │ │ 跨工具全流程 │ │ 可直接使用 │ │ │ └──────────┘ └──────────────────┘ └──────────────┘ │ │ ↑ │ │ "准备客户续约简报" → 读CRM+查Slack+分析数据 → HTML报告 │ │ → 请求审批 → 发送给客户CTO │ └──────────────────────────────────────────────────────────────┘这不是一个简单的聊天机器人升级。这是AI产品设计哲学的深刻转变——从"优化回复质量"到"优化交付完整性"。本文将从架构设计、审批门控、连接器生态、模型路由等维度,深度剖析OpenWorker的技术实现。二、项目背景:为什么是Andrew NgAndrew Ng 不需要过多介绍。斯坦福教授、Coursera联合创始人、Google Brain早期成员、百度前首席科学家、DeepLearning.AI创始人。和他一起做这个项目的 Rohit Prasad,是亚马逊Alexa的前负责人,拥有超过八年的大规模语音AI产品经验。两人联手做OpenWorker,信号非常明确:AI Agent要从"玩具"变成"工具",产品化是最关键的一步。OpenWorker于2026年7月20日创建,7月23日正式开源,8月广泛传播。截至本文撰写时,GitHub上已获得14.5k星,仓库包含:coworker/:Python后端——约119个文件、32,400行代码(Agent引擎、模型提供者、连接器、MCP客户端、记忆系统、自动化调度)surfaces/gui/:React UI + Tauri桌面壳——149个TypeScript/TSX文件stt/:Rust语音识别sidecar(基于whisper.cpp)packaging/:macOS DMG和Windows安装包构建、自动更新清单tests/:78个后端测试模块这不是一个Demo项目。这是一个可以直接下载、安装、使用的桌面应用。三、核心设计哲学:不追求"多聪明",追求"把活干完"OpenWorker 的 README 第一句话写得非常克制:“AI that gets your everyday tasks done.” 翻译过来就是"帮你把日常任务干完的AI。"这句话的潜台词是:OpenWorker不和你比谁更聪明,它和你比谁更靠谱。3.1 从"Prompt"到"Outcome"的转变传统AI的使用方式是写Prompt。你写"给我写一份总结",AI给你一段总结。写得不好,你改Prompt重试。OpenWorker改变了这个交互模型——你给的是一个结果目标(outcome),不是一段提示词(prompt)。你说"准备下周一客户续约会议的简报",它不会回你一段文字让你自己去整理。而是:检查HubSpot CRM中的客户数据读取相关的Slack对话记录分析使用量趋势生成一份HTML/PDF简报文件请求你的审批后,将简报通过邮件发送给客户CTO最终交付的是一个成品——一份可以直接打开的文档、一条已经发送的消息、一项已经更新的日历。3.2 四种Agent角色,而不是一种万能PromptOpenWorker 在后端区分了四种Agent角色,每种角色有独立的工具集、系统提示词和行为模式:# coworker/agent.py - 四种Agent角色定义(示意代码)AGENT_ROLES={"chat":{"description":"纯对话模式,没有文件和shell权限","tools":["web_search","read_url"],"system_prompt":"你是一个友好的对话助手,只能提供信息和建议。"},"code":{"description":"编码专用Agent,带单目录工作区","tools":["read_file","write_file","shell","git_clone","git_commit","git_push","grep_search","list_files"],"system_prompt":("你是一位资深工程师。先读懂代码再修改,""改完必须验证。多个互不依赖的read/grep请求""要在一个批次里并发发出,而不是一次一个。"),"workspace":"single_dir"},"coworker":{"description":"知识工作Agent,交付具体成品","tools":["read_file","write_file","web_search","connector:slack","connector:gmail","connector:calendar","connector:github","connector:jira","connector:notion"],"system_prompt":("你的任务是交付可用的成品文件,而不是回复文字。""在发送消息、修改日历、运行命令之前,""必须请求用户审批。"),"workspace":"multi_dir"},"myhelper":{"description":"长期在线个人助理,跨时间连续线程","tools":["read_file","write_file","web_search","connector:slack","connector:gmail","connector:calendar","scheduler"],"system_prompt":"你是一个长期助理,记住用户的重要事项并主动提醒。","persistent":True}}四种角色,四套工具集,四套人格。不同工种配不同人格,比一个万能Prompt硬撑要清晰得多。这种设计也体现了软件工程中的**关注点分离(Separation of Concerns)**原则。四、四层架构详解OpenWorker 的架构是清晰的分层设计,全部运行在用户本机。┌──────────────────────────────────────────────────────────────────┐ │ OpenWorker 四层架构总览 │ │ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ Layer 1: 桌面壳 (Tauri 2 + React 18) │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ React UI (Composer, Transcript, Onboarding) │ │ │ │ │ ├────────────────────────────────────────────────┤ │ │ │ │ │ Tauri Rust Shell (进程管理, 系统托盘, 语音) │ │ │ │ │ │ - 启动/监控Python sidecar │ │ │ │ │ │ - 本地语音识别 (ocw-stt, whisper.cpp) │ │ │ │ │ │ - 系统托盘 保持唤醒 (caffeinate) │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────┤ │ │ │ Layer 2: 本地Agent服务 (Python FastAPI + uvicorn) │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ TurnEngine (核心执行循环) │ │ │ │ │ │ ├─ SessionManager (会话管理) │ │ │ │ │ │ ├─ PermissionEngine (审批门控引擎) │ │ │ │ │ │ ├─ ToolRegistry (工具注册与调度) │ │ │ │ │ │ └─ ProviderRouter (模型路由) │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ │ 绑定: 127.0.0.1:8765 · 默认12轮模型-工具迭代 │ │ │ ├────────────────────────────────────────────────────────┤ │ │ │ Layer 3: 能力与连接器层 │ │ │ │ ┌────────────────────┬─────────────────────────────┐ │ │ │ │ │ 本地工具 │ 外部连接器 │ │ │ │ │ │ ├─ 文件系统 (read/ │ ├─ Slack, GitHub, Jira │ │ │ │ │ │ │ write/list) │ ├─ Gmail, Outlook, Cal │ │ │ │ │ │ ├─ Shell执行 │ ├─ Notion, Linear, │ │ │ │ │ │ ├─ Git操作 │ │ HubSpot, Attio │ │ │ │ │ │ ├─ ripgrep搜索 │ ├─ Google Drive, Dropbox│ │ │ │ │ │ ├─ 待办列表 │ ├─ Asana, Monday.com │ │ │ │ │ │ └─ MCP Client │ └─ MCP Server (任意) │ │ │ │ │ └────────────────────┴─────────────────────────────┘ │ │ │ ├────────────────────────────────────────────────────────┤ │ │ │ Layer 4: 模型路由 (aisuite) │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ │ │ ProviderRouter → ProviderDescriptor → Client │ │ │ │ │ │ ├─ OpenAI / Anthropic / Google (原生) │ │ │ │ │ │ ├─ DeepSeek / GLM / Kimi / Qwen / MiniMax │ │ │ │ │ │ │ Mistral / Grok (兼容) │ │ │ │ │ │ ├─ Together / Fireworks (开源权重) │ │ │ │ │ │ └─ Ollama (完全本地) │ │ │ │ │ └────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ 全部运行在本机 · 唯一的云组件:OAuth握手中转服务 │ └──────────────────────────────────────────────────────────────────┘4.1 Layer 1: 桌面壳(Tauri 2 + React 18)桌面壳是用户与OpenWorker交互的入口。Tauri 2提供了原生窗口、系统托盘、进程管理等功能。React 18提供了UI组件。关键设计:Tauri壳负责管理Python sidecar的完整生命周期——启动、监控、终止。如果GUI崩溃,sidecar会自动检测到父进程消失并退出,防止产生僵尸进程。# coworker/server/run.py - Sidecar进程管理(示意代码)importosimportsignalimportthreadingdef_exit_when_orphaned():"""检测父进程是否存活,若已死则自行退出"""parent_pid=os.getppid()whileTrue:try:# POSIX: os.kill(pid, 0) 检测进程存活os.kill(parent_pid,0)threading.Event().wait(2.0)exceptProcessLookupError:# 父进程已终止,自己退出os._exit(0)exceptException:threading.Event().wait(2.0)def_watch_parent_windows

相关新闻

华为MetaERP Oracle EBS R12 / Fusion SLA 子分类账会计一、核心后台物理表(EBS 与 Fusion 表名基本兼容,Fusion 增加分区、扩展列,前缀统一 XLA_

华为MetaERP Oracle EBS R12 / Fusion SLA 子分类账会计一、核心后台物理表(EBS 与 Fusion 表名基本兼容,Fusion 增加分区、扩展列,前缀统一 XLA_

Oracle EBS R12 / Fusion SLA 子分类账会计一、核心后台物理表(EBS 与 Fusion 表名基本兼容,Fusion 增加分区、扩展列,前缀统一 XLA_)说明:Fusion Cloud 不允许直接 DML 操作 XLA 底层表,仅支持查询&#x…

2026/8/18 0:44:22 阅读更多 →
GA-VisAgent:多智能体协同实现代码生成与可视化即时反馈

GA-VisAgent:多智能体协同实现代码生成与可视化即时反馈

1. 项目概述:当代码生成遇见可视化,一个多智能体如何重塑交互式学习如果你尝试过用大语言模型(LLM)生成一段数据分析或算法演示的代码,大概率会遇到这样的困境:模型确实“吐”出了一段看起来正确的Python代…

2026/8/18 0:43:22 阅读更多 →
ChatGPT免费测试实战:从零到一验证AI订餐厅功能全流程

ChatGPT免费测试实战:从零到一验证AI订餐厅功能全流程

最近在帮朋友处理一个项目需求时,遇到了一个挺有意思的场景:需要快速生成一批风格统一的餐厅推荐文案,并模拟用户预订流程。朋友的第一反应是“用ChatGPT试试”,但紧接着就抛出了一连串问题:“现在还能免费测吗&#x…

2026/8/18 0:43:22 阅读更多 →

最新新闻

氢燃料电池车技术解析:为何它是“电-电”混动系统?

氢燃料电池车技术解析:为何它是“电-电”混动系统?

1. 一个从业者的开场白:从“氢能”与“混动”的认知错位说起每次在行业交流或者车展上,只要聊到氢燃料电池车,总有一个问题会冒出来,而且提问者往往带着一丝困惑和好奇:“这车不是烧氢气的吗?怎么你们总说它…

2026/8/18 3:44:16 阅读更多 →
Windows Defender 移除教程:三种档位按需选,从轻度清理到镜像级根除

Windows Defender 移除教程:三种档位按需选,从轻度清理到镜像级根除

Windows Defender 移除教程:三种档位按需选,从轻度清理到镜像级根除 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gi…

2026/8/18 3:44:16 阅读更多 →
华为eNSP实战:VLAN综合实验配置与排障全解析

华为eNSP实战:VLAN综合实验配置与排障全解析

这次我们来看一个网络工程师绕不开的核心技能:VLAN综合实验。很多朋友觉得VLAN、Access、Trunk、单臂路由、ACL这些概念学起来抽象,配置起来容易出错,排障更是无从下手。这篇文章不空谈理论,直接带你从零开始,手把手搭…

2026/8/18 3:44:16 阅读更多 →
Windows Defender卸载终极指南:三步让旧电脑提速,完整移除不残留

Windows Defender卸载终极指南:三步让旧电脑提速,完整移除不残留

Windows Defender卸载终极指南:三步让旧电脑提速,完整移除不残留 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitco…

2026/8/18 3:44:16 阅读更多 →
基于unity的跳舞游戏设计|毕设答辩|Unity项目|毕设项目|

基于unity的跳舞游戏设计|毕设答辩|Unity项目|毕设项目|

题目:基于unity的跳舞游戏设计 一、项目介绍 摘要 随着游戏产业的迅猛发展,跳舞游戏作为一种融合音乐、舞蹈与互动体验的独特游戏类型,受到了广大玩家的喜爱。本文聚焦于基于 Unity 引擎的跳舞游戏设计与实现研究。Unity 引擎凭借其强大的跨平…

2026/8/18 3:44:14 阅读更多 →
Hive GROUPING SETS与GROUPING_ID:多维聚合的利器与实战指南

Hive GROUPING SETS与GROUPING_ID:多维聚合的利器与实战指南

1. 项目概述:从“多维度报表”的痛点说起做数据开发或者数据分析的朋友,对“多维分析”这个词一定不陌生。简单来说,就是你需要从不同维度组合去观察同一份数据。举个最经典的例子:一份销售数据,老板可能想看全国的总销…

2026/8/18 3:43:14 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/17 2:58:27 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/17 2:58:30 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/17 2:58:32 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →