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 完全在本地运行。你的数据仅通过*你*选择的模型和集成应用离开你的设备。 [![OpenWorker 的工作原理](https://static.pigsec.cn/wp-content/uploads/repos/cas/2c/2c55b8d1f9eaa37a264e8de67953857051ca4ccd46ed2db124a79d3aa4eb8c5c.png)](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代理, 任务自动化, 可视化界面, 大语言模型, 安全规则引擎, 效率工具, 桌面自动化, 逆向工具