今天在 GitHub Trending 上看到一个有意思的项目:OpenWorker,这是吴恩达团队开源的一款桌面 AI 助手,能够在本地运行并自动完成实际工作任务,而不是仅仅停留在聊天层面。
一、项目概述
OpenWorker 是一个开源的 AI 工作助手,它生活在你的桌面上,能够交付完成的工作成果:一份精致的文档、一条带有数据的 Slack 回复、一个更新后的日历、一个分类整理后的收件箱。
与传统 AI 聊天工具不同,OpenWorker 的核心理念是"交付结果而非待办清单"。它会在你的机器上本地运行,支持 OpenAI、Anthropic、Google 等多种模型提供商,也可以通过 Ollama 完全本地运行。
核心特性
- 真实交付物:生成文档、电子表格、报告和网页文件
- Slack 集成:在频道中提及
@OpenWorker,桌面端会话自动启动并返回结果 - 25+ 工具集成:支持 GitHub、Slack、Jira、Notion、Linear、HubSpot、Outlook、Gmail、Google Calendar 等
- 定时自动化:支持早间简报、周报、频道监控等周期性任务
- 审批机制:写入、发送、Shell 命令等敏感操作需要用户确认
- 隐私优先:所有数据和密钥都存储在本地,只有你选择的模型和集成才会接触云端
二、技术原理
架构设计
OpenWorker 采用分层架构设计:
┌────────────────────────────────────────────────┐
│ OpenWorker desktop app │ 原生 Shell + GUI
├────────────────────────────────────────────────┤
│ local agent server (Python) │ 引擎 · 工具 · 连接器 - 基于 aisuite
├───────────────┬────────────────┬───────────────┤
│ your files │ your tools │ your model │ 使用你的密钥在本地运行
│ & terminal │ 25+ connectors │ any provider │
└───────────────┴────────────────┴───────────────┘
核心技术栈
从 pyproject.toml 可以看到项目的技术选型:
dependencies = [
"openai>=1.0",
"anthropic>=0.40", # Claude API 原生支持
"google-genai>=1.0", # Gemini 原生支持
"textual>=1.0", # 终端 UI
"fastapi>=0.110", # Web 框架
"uvicorn[standard]>=0.27",
"aisuite @ git+https://github.com/andrewyng/aisuite.git",
"mcp>=1.1", # MCP 客户端(stdio + streamable-http)
"httpx>=0.27",
"websockets>=13",
"croniter>=2", # 定时任务调度
"pypdf>=5", # PDF 处理
"pypdfium2>=4", # PDF 光栅化
]
关键设计模式
基于 aisuite 的统一模型接口:OpenWorker 的引擎构建在 aisuite 之上,这是一个轻量级 Python 库,提供了跨 LLM 提供商的统一 chat-completions API,以及带有工具、工具包和 MCP 支持的代理层。
MCP (Model Context Protocol) 支持:通过 MCP 协议,任何可通过 MCP 访问的工具都能接入 OpenWorker,并支持细粒度的工具权限控制。
本地优先的隐私设计:代理循环、对话历史、连接器令牌、模型密钥都存储在应用的本地密钥库中,只有 OAuth 握手需要一个小的云端服务。
数据流分析
- 任务接收:用户通过 GUI 或 Slack 集成输入任务描述
- 任务分解:Agent 将复杂任务拆解为可执行步骤
- 工具调用:根据需要调用连接器(GitHub、Slack、文件系统等)
- 审批检查点:敏感操作暂停等待用户确认
- 结果交付:生成最终文件或执行结果
三、安装与快速开始
环境要求
- macOS 12+(Apple Silicon)或 Windows 10/11 (x64)
- Python 3.10+、Node 20+、Rust 工具链(用于桌面 Shell)
下载安装
# macOS (Apple Silicon) - 已签名且公证,自动更新
# 下载地址: https://download.openworker.com/mac
# Windows 10/11 (x64)
# 下载地址: https://download.openworker.com/windows
# 注意:当前构建尚未代码签名,SmartScreen 会警告
安装后,打开应用,添加模型 API 密钥或指向 Ollama,即可开始使用。
从源码运行
git clone https://github.com/andrewyng/openworker
cd openworker
# 1. 初始化开发环境(创建 Python venv)
bash packaging/setup_dev_env.sh
# 2. 启动本地代理服务器
.venv/bin/openworker-server --cwd ~/some/project --port 8765
# 3. 在另一个终端启动 UI
cd surfaces/gui
npm install
npm run dev # 浏览器 UI
# 或 npm run tauri dev # 完整桌面应用
四、使用方法与实战
基础用法
- 添加模型:打开应用后,选择提供商并粘贴 API 密钥,支持 OpenAI、Anthropic、Google、DeepSeek、Qwen、Mistral 等
- 描述任务:例如"准备客户简报"、“整理日历”、“起草报告”
- 审批确认:发送消息、修改日历、运行命令前会请求确认
- 获取结果:任务完成后获得最终交付物
Slack 集成
在 Slack 频道中提及 @OpenWorker:
- 桌面端自动打开会话
- 工作在你的工具环境中执行
- 结果作为线程回复返回
定时自动化
配置周期性任务:
- 早间简报
- 周报生成
- 频道监控
- 运行结果包含完整记录
支持的模型提供商
官方支持:OpenAI、Anthropic、Google Gemini、Inkling (Thinking Machines)、GLM (Z.ai)、DeepSeek、Kimi (Moonshot)、Qwen、MiniMax、Mistral、Grok (xAI)
开放权重模型:通过 Together、Fireworks,或完全本地运行 via Ollama
五、常见问题与解决方案
安装问题
问题:Windows SmartScreen 警告 解决:当前 Windows 构建尚未代码签名,点击"更多信息"→“仍要运行”。代码签名正在进行中。
问题:依赖安装失败 解决:确保 Python 3.10+、Node 20+ 已安装,macOS 需要 Xcode Command Line Tools。
运行时错误
问题:模型调用失败 解决:检查 API 密钥是否有效,确认账户余额充足。使用 Ollama 时确保服务已启动。
问题:连接器授权失败 解决:OAuth 握手需要网络连接。如无法授权,可使用手动创建的凭据/API 密钥。
性能优化
问题:本地模型响应慢 解决:Ollama 模型性能取决于硬件配置,建议使用支持 GPU 加速的模型。
问题:内存占用高 解决:限制并发任务数量,关闭不需要的连接器。
兼容性问题
问题:macOS Intel 芯片支持 解决:当前仅提供 Apple Silicon 版本,Intel 用户需从源码构建。
问题:Linux 支持 解决:当前仅支持 macOS 和 Windows,Linux 用户需从源码运行服务器组件。
六、总结
OpenWorker 代表了 AI 助手从"对话工具"向"工作伙伴"的演进方向。它不是让你和 AI 聊天,而是让 AI 真正帮你完成工作。通过本地运行、多模型支持、丰富的集成和审批机制,OpenWorker 在隐私、灵活性和安全性之间取得了良好平衡。
对于想要自动化日常工作的开发者、产品经理、运营人员来说,OpenWorker 是一个值得尝试的开源工具。它的 aisuite 底层也为想要构建自己代理系统的开发者提供了良好的参考实现。