andrewyng/openworker
GitHub: andrewyng/openworker
一款本地优先的开源桌面 AI 协作助手,能跨多种办公工具自主执行多步骤任务并交付完成的成果,而非仅仅提供对话回复。
Stars: 575 | Forks: 86
# OpenWorker
**[openworker.com](https://openworker.com)** · [下载](#download) · [问题](https://github.com/andrewyng/openworker/issues)
**帮你搞定日常事务的 AI。** OpenWorker 是一款开源的 AI 协作助手,驻留在你的桌面上,为你交付**已完成的工作**,而不仅仅是聊天:一份打磨好的文档、一条带有数据的 Slack 回复、一个更新过的日历、或者一个整理过的收件箱。
它运行在你的机器上,且不绑定任何模型:你可以使用自己的 API key 接入 OpenAI、Anthropic、Google 或开放权重提供商,也可以使用 Ollama 完全在本地运行。你的数据仅通过*你*选择的模型和集成应用离开你的设备。
[](https://openworker.com)
## 下载
[**⬇ macOS (Apple Silicon)**](https://download.openworker.com/mac)
macOS 12+ · 已签名和公证 · 支持自动更新
[**⬇ Windows 10/11 (x64)**](https://download.openworker.com/windows)
构建版本尚未进行代码签名,因此 SmartScreen 会发出警告;签名工作正在进行中
打开应用,添加一个模型 key(或者将其指向 Ollama),然后向它布置真实的任务吧。
## 工作原理
1. 告诉 OpenWorker 你想要的结果——比如“准备一份客户简报”、“整理我的日历”、“起草一份报告”或者“查看发布进度在 Jira 和 GitHub 上的具体情况”。
2. 它会将任务分解为多个步骤,并在你的桌面、文件和已连接的应用之间协同工作。
3. 在执行任何重要操作之前——比如发送消息、修改日历、运行命令——它会先向你确认,由你批准或重定向。
4. 你最终获得的是完成的交付成果,而不是一份待办事项清单。
底层实现:
```
┌────────────────────────────────────────────────┐
│ OpenWorker desktop app │ native shell + GUI
├────────────────────────────────────────────────┤
│ local agent server (Python) │ engine · tools · connectors - built on aisuite
├───────────────┬────────────────┬───────────────┤
│ your files │ your tools │ your model │ everything runs with your keys,
│ & terminal │ 25+ connectors │ any provider │ on your machine
└───────────────┴────────────────┴───────────────┘
```
## 功能介绍
- **产出真实交付成果** —— 文档、电子表格、报告和网页都会以文件形式生成,你可以直接打开和分享。
- **通过 Slack 工作** —— 在频道中提及 `@OpenWorker`;你的桌面上会开启一个会话,工作会在你的工具中完成,随后答案会作为话题回复返回。
- **使用你的日常工具** —— 包含 GitHub、Slack、Jira、Notion、Linear、HubSpot、Outlook、monday.com、Gmail 和 Google Calendar 等 25+ 项集成,外加你的**终端和本地文件**。任何可通过 [MCP](https://modelcontextprotocol.io/) 访问的工具也能接入,并支持逐工具级别的权限控制。
- **定时运行** —— 为重复性工作设置自动化:比如每日简报、每周报告、或是对某个频道的持续监控。运行结果及完整记录会同步到应用中。
- **先询问后行动** —— 写入、发送和 Shell 命令均需经过批准。无人值守的运行会将其请求暂存在收件箱中,而不是擅自执行操作。
## 接入你自己的模型
模型访问权掌握在你手中:选择一个提供商,粘贴你的 key,并随时切换。开箱即支持以下服务:
**OpenAI · Anthropic · Google Gemini · Inkling (Thinking Machines) · GLM (Z.ai) · DeepSeek · Kimi (Moonshot) · Qwen · MiniMax · Mistral · Grok (xAI)** —— 还可以通过 **Together** 和 **Fireworks** 使用开放权重模型,或通过 **Ollama** 运行完全本地化的模型。
我们提供的精选模型列表中,标明了我们已经验证过支持工具调用的模型。添加任何自定义的模型字符串出现风险需自行承担。
## 隐私
OpenWorker 遵循本地优先原则。一切都保存在你的机器上:agent 循环、你的对话、connector 的 token 以及模型 key —— 全部存放在应用本地的安全存储区中。唯一涉及的云端组件是一个用于处理 connector OAuth 握手的小型代理服务。你完全可以脱离登录使用本应用 —— 通过手动创建的凭证/API key 来使用 connector 即可。
## 从源码运行
前置条件:Python 3.10+,Node 20+,以及(针对桌面端壳程序)通过 [rustup](https://rustup.rs/) 安装的 Rust 工具链。
```
git clone https://github.com/andrewyng/openworker
cd openworker
# 1. 一次性 bootstrap - 在 .venv 创建 Python venv
# (在 Windows 上,从 Git Bash 或 WSL 运行)
bash packaging/setup_dev_env.sh
# 2. 启动本地 agent server
.venv/bin/openworker-server --cwd ~/some/project --port 8765
# (Windows: .venv\Scripts\openworker-server.exe)
# 3. 在第二个终端中,启动 UI
cd surfaces/gui
npm install
npm run dev # browser UI on the Vite dev port
```
如果要运行完整的桌面应用而不是浏览器 UI,请将第 3 步替换为 `npm run tauri dev`(在 `surfaces/gui/` 目录下)—— Tauri 壳程序会启动窗口并自行管理服务器进程。
测试:`.venv/bin/pytest`(服务器端),以及在 `surfaces/gui` 目录下运行 `npm test` 和 `npm run e2e`(GUI 单元测试 + 封闭的端到端测试)。桌面打包构建使用 `packaging/build_dmg.sh` / `packaging/build_windows.ps1`。
## 仓库结构
| 目录 | 内容说明 |
|---|---|
| `coworker/` | Python 后端 —— agent 引擎、模型提供商、connector、MCP 客户端、记忆、自动化模块 |
| `surfaces/gui/` | 桌面应用 —— React UI + 负责管理服务器的 Tauri 壳程序 |
| `stt/` | 用于语音输入的语音转文本 (Speech-to-text) 辅助进程 (Rust) |
| `packaging/` | 安装程序构建 (macOS DMG, Windows)、自动更新清单、开发引导 |
| `docs/` | 设计规范和决策日志 |
| `tests/` | 后端测试套件 |
## 基于 aisuite 构建
OpenWorker 的引擎构建于 [**aisuite**](https://github.com/andrewyng/aisuite) 之上,这是一个轻量级的 Python 库,它提供了跨 LLM 提供商的统一 chat-completions API,以及包含工具、工具包和 MCP 支持的 agents 层。如果你想构建自己的 agent 架构而不是使用我们的,可以从这里开始入手;本仓库也是 aisuite 功能应用的一个工作参考。
OpenWorker 最初是在 aisuite 仓库内部开发出来的,随后才迁移到了这个独立的专属空间;在此感谢 aisuite 的贡献者们,正是基于你们的工作才有了现在的项目。
## 贡献
欢迎提交贡献和 Bug 报告 —— 请创建一个 [issue](https://github.com/andrewyng/openworker/issues) 或提交 pull request。应用支持自动更新,因此修复程序会迅速送达所有安装版本。
对于任何 PR,请附上反映原先问题以及当前修复效果的截图。我们很快就会添加一些可供你参与贡献的新功能。
请注意,我们目前的开发工作主要是基于一份内部清单和目标来积极推行的,因此如果我们发现某项 PR 添加的功能已经在开发中,或者偏离了我们的愿景,我们可能会拒绝批准。
## 许可证
MIT —— 详见 [LICENSE](LICENSE)。
标签:AI助手, DLL 劫持, MITM代理, 任务自动化, 可视化界面, 大语言模型, 安全规则引擎, 效率工具, 桌面自动化, 逆向工具