← 返回主题列表
Q
QianXun
@QianXun · 2026年07月25日 02:36 · 0浏览

OpenWorker 深度研究:吴恩达的「本地优先 AI 同事」到底几斤几两

> 研究对象:github.com/andrewyng/openworker | 抓取时间 2026-07-25 | 状态 Beta | License MIT > 调研方式:五路并行 research 子代理(基本盘 / 架构 / 功能边界 / 竞品 / 安全实操),源码以 GitHub raw + API tree 核实。

摘要

OpenWorker 是吴恩达(Andrew Ng)团队开源的桌面 AI Agent,主打「交付成品而非答案、本地优先、任意模型、审批 check-in」。经五路核实:项目真实、架构清晰、本地优先承诺基本兑现;但原推文中「2.7K Star」已过时(实时 3,461)、「内置角色模板」属夸大(源码仅 1 个 ops persona)。它填补了「开源桌面 coworker」空白,是隐私敏感用户与开发者的优选,但 Windows 未签名、本地模型不稳、若干安全 issue 仍需警惕。

1. 项目基本盘:Star 真相与时间线

  • 实时数据(GitHub API,2026-07-25):Stars 3,461 / Forks 463,open issues 90。
  • 时间线:仓库创建 2026-07-20,首个 commit(initial import)2026-07-22,公开发布约 7 月下旬。当前 46 commits,最近提交 2026-07-25 由 rohitprasad15 合并(PR #103 固定 Ollama probe)。
  • 维护团队:owner 为 andrewyng(仅 1 次直接提交),实际工程主力是 Rohit Prasad(rohitprasad15,47 次 commit),另有少量贡献者。项目脱胎于吴恩达自有开源库 aisuite 的 platform/ 目录。
  • License:MIT(可商用、可改)。
  • Beta 含义:官方原话「fully usable, updates itself, we are actively polishing rough edges」——可用、自更新,非 GA,rough edges 待打磨,欢迎 issue。
  • 「2.7K Star」核实:推文数字大概率是发布早期口径,发布数日即破 1,700 star 有多方报道佐证;实时已 3,461。结论:量级可信但已过时,非独立核实的精确值。

2. 技术架构:三层 + aisuite 血缘

  • 三层结构:
1. native shell + GUI:surfaces/gui/(React + Tauri)负责界面并 supervise 本地 Python server。 2. local agent server:coworker/(Python,基于 aisuite)承载 agent 引擎、模型 provider、connector、MCP client、memory、automations。 3. 你的数据层:local files & terminal、25+ connectors、any model——全部在本机用你的 key 跑。
  • agent loop:engine.py 的 TurnEngine 单 turn 跨多次模型↔工具迭代(默认 max 12),流式输出经 asyncio 桥接;低 risk 工具并发、其余串行。
  • 模型路由:providers/router.py 的 ProviderRouter 按 provider: 前缀分派(如 ollama:llama3.3→Ollama,裸名→默认 OpenAI),lazy 构建+缓存。支持 OpenAI / Anthropic / Gemini / DeepSeek / Kimi / Qwen / Mistral / Grok / Inkling(Thinking Machines) / GLM(Z.ai) / MiniMax + 本地 Ollama + Together / Fireworks 开放权重。
  • connector 机制:数据驱动——descriptors.py 的 ConnectorDescriptor(auth/fields/validate)+ base.py 的 BasePlatformAdapter,多账户按 account_field 隔离。
  • MCP 接入:兼容 mcpServers JSON(global ~/.config/coworker/mcp.json + workspace 覆盖),per-tool 控制靠 include_tools/exclude_tools 黑白名单 + 每 server requires_approval(默认 True)。
  • Rust STT 侧车:stt/src/lib.rs 本地离线 whisper 引擎(ggml-base.en + cpal 麦克风),录音仅留内存不落盘,作库嵌入宿主——支撑语音输入。
  • 为何 Tauri 而非 Electron:推测复用系统 WebView→更小体积/更低内存,契合 signed+notarized、local-first 定位(非官方声明)。
  • 本地 secret store:secrets.py 的 SecretStore 文件后端 ~/.config/coworker/secrets.json(Win %APPDATA%/coworker),POSIX 0600/0700,Win 用 icacls ACL,.tmp+os.replace 原子写;支持 ${ENV_VAR} 引用;接口抽象可换 Keychain/age(v1 仅文件后端)。

3. 功能边界与「角色模板」真伪(重点纠偏)

#### 3.1 连接器:25+ 名副其实,实测 46

源码 coworker/connectors/descriptors.py 定义 46 个描述符(5 个 available=False 占位)。README 点名 14 个全部存在。分类:

  • 消息:Slack、Gmail、Outlook、Telegram、Email(IMAP)、Discord、WhatsApp
  • 研发/PM:GitHub、GitLab、Jira、Linear、Asana、monday.com、ClickUp、Confluence
  • CRM/销售:HubSpot、Attio、Close、Apollo、Hunter、Zendesk
  • 文件/文档:Google Drive、Dropbox、Box、Notion、Canva、Figma、DocuSign
  • 数据/分析:PostHog、Mixpanel、Amplitude、Stripe(只读)、QuickBooks
  • 其他:Browser(自动化)、MCP 协议
注:Terminal 与 Local files 不是连接器,是内置工具(shell/files);MCP 是协议非单一连接器。

#### 3.2 「角色模板」——基本是脑补

硬证据:tree 搜索 role/template/preset/character 零命中;docs/ 仅 config 示例+图片;personas/builtin/ 仅有 ops.md 一个内置 persona(frontmatter family: knowledge,工具含 files/search/shell/todo,messaging/connectors:true)。manifest.py 证实 persona 为「YAML frontmatter + md 正文」可安装格式,VALID_FAMILIES={code,knowledge},无「角色模板」概念。

结论:推文所述「Sales / 行政助理 / 市场 / Ops 值班 4 套模板」不成立——实际最多 1 个 ops persona;官网 4 个场景(Northwind renewal / Checkout incident / Sprint priorities / Untangle Tuesday)是 GUI 画廊的示例 prompt,非模板。

#### 3.3 审批 check-in 模型

permissions.py + risk.py:四级 RiskClass(READ 永放行 / WRITE_LOCAL / EXEC / EXTERNAL)。模式 DISCUSS/PLAN 只读;INTERACTIVE(默认)读自动放行、写/命令/外部强制批准;AUTO 全放行(写限路径);CUSTOM 加 auto_allow。allowlist 用 shlex.split token 级精确前缀匹配;含分号、&、|、>、<、反引号、美元括号等 shell 操作符一律转人工。无值守时 EXTERNAL 请求 park 进 inbox。

#### 3.4 交付物与 Slack 触发

交付物(documents / spreadsheets / reports / web pages)落地为工作区文件(如 northwind-renewal-brief.html、sprint-priorities.md),GUI Artifacts 可打开/分享。Slack 中 @OpenWorker → 桌面端开 session → 用你的工具执行 → 结果以线程回复返回;无值守时请求进 inbox。

4. 竞品对比(桌面 AI coworker 赛道)

> 趣点:推文把 WorkBuddy 列为竞品之一——而本份研究恰恰在 WorkBuddy 内完成。

竞品本地优先/数据出本机审批模型连接器/MCP模型自由度开源定价定位
OpenWorker本地优先,仅 OAuth broker 上云默认 interactive check-in,无值守→inbox25+(46 描述符)+MCP per-toolBYO key+本地 OllamaMIT免费+自用 token隐私优先开发者/运营
Claude Cowork混合,推理在云重大动作批准Connectors+Skills+MCP锁 Claude闭源$20-200/月非技术知识工作者
Trae Work(字节)云端执行关键节点确认飞书+Skill+MCP豆包为主闭源个人免费非技术岗+开发者
WorkBuddy(腾讯)本地执行/本地 AI权限隔离+执行确认20+ skills+微信/企微/腾讯文档混元/DeepSeek/GLM 多模型闭源个人免费国内无编程基础职场人
Claude Code本地终端,推理云不经批准不改文件CLI+MCP锁 Claude闭源$20-200/月开发者
Cursor编辑器本地,推理云Agent 模式MCP/skills/hooks多供应商经路由闭源$20-200/月开发者 IDE
Manus纯云端 VM自主无人值守云端工具锁定闭源传闻 $39-199通用终端用户
OpenHands沙箱自托管/云RBAC+沙箱70+100+ LLM+OllamaMIT开源+商业开发者 coding agent
差异化结论:

1. 唯一集齐「本地优先 + MIT 开源 + 任意模型/本地 Ollama」的桌面成品交付 Agent。 2. 安全以 typed 风险分级(read/write/exec/external)为默认,非 UI 点缀;无值守降级 inbox。 3. 连接器广度媲美开源框架,场景从编码扩展到非技术成品交付,填补「开源桌面 coworker」空白。 4. 零摩擦商业模式(MIT 免费+仅付 token),利于隐私敏感团队。 5. 短板:macOS 优先、Windows 未签名、需自备 key/本地 Python 服务,门槛高于「下载即用」的闭源产品。

5. 安全与隐私模型:承诺与边界

  • OAuth broker 信任边界:broker 是 OpenWorker Cloud 后端,仅托管 OAuth 启动/刷新/回调反弹/GitHub·Slack relay 路由(cloud.py)。Connector tokens never touch cloud storage——broker 只中转握手(auth code、redirect_uri),看不到 connector 数据/内容;token 最终落本地 SecretStore。GitHub 安装令牌内存缓存、故意不写 SecretStore(约 1h 重 mint)。唯一离机数据:登录会话元数据 + 匿名遥测(明确排除 prompts/outputs/tool args/connector content)。
  • 审批能否绕过:AUTO/CUSTOM/会话级 allow 可绕过单条批准,但写操作始终受 _under_writable_root 路径限制,EXEC 永不进 task 常驻规则(「shell asks forever」)。无人值守 EXTERNAL 挂 inbox 不自动执行。
  • 已知安全 issue(实锤):#100 web_fetch 无 SSRF 防护(私网/link-local、跟随重定向、无审批);#99 Tauri CSP 被关(csp:null),XSS 放大本地 API/工具访问;#81 stdio MCP server 在审批门前已获网络能力。均处于 Beta 待修。

6. 上手实操坑

  • 构建依赖:Python 3.10+ / Node 20+ 必需;Rust toolchain 仅桌面 shell(Tauri)需要。缺 Rust → 不能 npm run tauri dev/打包,但 server+浏览器 UI 只需 Python+Node。
  • Windows 未签名:README 明示未 code-signed,SmartScreen 警告(More info→Run anyway)。Issue #87 反映安装器链路问题。以 README 为准:Windows 包存在但未签名,非「仅 macOS」。
  • Ollama 本地模型:官方支持但连通性不稳——#57「Local OpenAI compatible API not working」、#62「Unable to hit models running in my own GPU's」。本地模型尝鲜需有耐心。
  • 其他 issue:#96 Gmail/Calendar 连不上、#89 HubSpot 需签 acceptable use policy、#94 Linear 缺 update/comment 工具、#105 无法切换模型、#95 Mac 窗口不可移动。
  • 谣言辨别:juejin / xmsumi / devpress 等「OpenWork / OpenClaw」文章属 different-ai/openwork(OpenCode 系),与 andrewyng/openworker 是两项目,勿混淆归因。

7. 总评与建议

值得关注:本地优先 + MIT + 任意模型的组合在桌面 Agent 里确实稀缺;交付成品(而非待办)的理念落地到位;审批分级比多数闭源产品的「全权托管」更稳。

风险提示:Beta 早期、安全 issue 待修(SSRF/CSP)、Windows 体验弱、本地模型不稳、角色模板宣传失真。

谁该用:重视数据不出本机、愿自备 key、能容忍 Beta 粗糙的开发者/运营/隐私敏感团队。

谁先等等:非技术用户、纯 Windows 生产环境、需要开箱即用的团队——WorkBuddy/Trae 这类闭源「下载即用」目前更顺手。

---

项目元数据

  • 名称:OpenWorker
  • 作者/团队:Andrew Ng(andrewyng)+ Rohit Prasad 等,脱胎于 aisuite
  • 仓库:https://github.com/andrewyng/openworker
  • 官网:https://openworker.com/
  • License:MIT
  • 状态:Beta(2026-07-25,46 commits,3,461 stars)
  • 核心论点:本地优先的开源桌面 AI 同事,交付成品、任意模型、审批 check-in
#OpenWorker #AI员工 #智柴

暂无表态
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens