
源码系统概览
文章正文
OpenWorker 是一个开源的 AI 桌面同事源码,它的定位不是聊天机器人,而是能在你电脑上真正把事情做完的数字同事。
它运行在本地,接入你自己的模型密钥或本地大模型,帮你产出成稿文档、整理日历、回复 Slack、分类收件箱,而不是只给你一份待办清单。
项目由 Andrew Ng(andrewyng)团队发起,底层引擎构建于 aisuite,整体采用 local-first 设计,数据和密钥都留在你的本机。
源码简介
OpenWorker 由 andrewyng 开源,采用 MIT 许可证,当前处于开放测试阶段,已在 GitHub 收获约 9300 颗 Star,适合研究本地智能体与桌面自动化的开发者参考。
仓库目录结构清晰:coworker 是 Python 后端,承载智能体引擎、模型提供商路由、连接器、MCP 客户端、记忆与自动化调度。
surfaces/gui 是桌面应用,采用 React 构建界面、Tauri(Rust)作为原生外壳来托管本地服务进程;stt 目录是用 Rust 写的语音转写 Sidecar,提供语音输入能力。
packaging 目录存放安装包构建脚本、自动更新清单与开发环境引导;docs 收录设计规格与决策日志;tests 是后端测试套件。
整套系统以本地智能体服务为核心,上层通过 GUI 或浏览器界面与用户交互,模型与连接器均可由用户自行配置,不锁定任何厂商。
适用场景
日常办公:让 OpenWorker 起草客户简报、整理会议纪要、更新日历,把重复性的文书工作交给本地智能体。
团队协同:在 Slack 频道中 @OpenWorker,它会在你的桌面开启会话、调用你的工具,并把结果作为线程回复返回。
研发管理:跨 Jira、GitHub 等系统核查发布进度,自动汇总工单与 PR 状态,生成可读的进展报告。
定时任务:配置早间简报、周报、频道值守等自动化,运行记录与完整转录都落在应用内便于追溯。
功能亮点
产出真实成果:文档、表格、报告与网页都会以文件形式落地,可以直接打开和分享,而非停留在对话里。
自带 25+ 连接器:覆盖 GitHub、Slack、Jira、Notion、Linear、HubSpot、Outlook、monday.com、Gmail、Google Calendar,以及你的终端与本地文件。
任意模型自由切换:支持 OpenAI、Anthropic、Google Gemini、GLM、DeepSeek、Kimi、Qwen、MiniMax、Mistral、Grok,以及 Together、Fireworks 与 Ollama 本地模型。
行动前先确认:写文件、发消息、执行命令均设审批关卡,无人值守时把待确认项收进收件箱,绝不擅自行动。
本地优先隐私:智能体循环、对话、连接器令牌与模型密钥都存于本机密钥库,唯一的云端部件只负责连接器的 OAuth 握手。
技术架构与部署指南
| 维度 | 本套源码 | 同类通用方案 |
|---|---|---|
| 技术栈 | 前端:React + Tauri(Rust 外壳)构建桌面 GUI,Vite 提供开发服务器(surfaces/gui) | 依具体方案选型,需自行搭建与维护 |
| 部署方式 | 前置条件为 Python 3.10+、Node 20+,若需构建桌面外壳还需通过 rustup 安装 Rust 工具链。 | 多托管于第三方平台或订阅云服务 |
| 功能侧重 | 产出真实成果:文档、表格、报告与网页都会以文件形式落地,可以直接打开和分享,而非停留在对话里。 | 功能通用,定制深度有限 |
| 数据归属 | 数据自持,部署在自有服务器,不出站 | 数据通常留存于服务商侧 |
| 成本模式 | 获取后自主部署,无持续授权费用 | 通常按订阅或调用量计费 |
技术栈与运行环境
前端:React + Tauri(Rust 外壳)构建桌面 GUI,Vite 提供开发服务器(surfaces/gui)。
后端:Python 3.10+(coworker 智能体引擎,基于 aisuite)。
数据库:无独立数据库(状态与密钥存于本地密钥库与状态目录)。
运行环境:桌面端 macOS 12+ / Windows 10·11,需 Python 3.10+、Node 20+、Rust 工具链(rustup)。
其他依赖:aisuite、各模型提供商 SDK、Rust stt sidecar、Vite 构建链路。
安装与部署提示
前置条件为 Python 3.10+、Node 20+,若需构建桌面外壳还需通过 rustup 安装 Rust 工具链。
执行仓库根目录的一键引导脚本 bash packaging/setup_dev_env.sh,它会创建隔离的 .venv 并安装后端依赖。
启动本地智能体服务:.venv/bin/openworker-server –cwd ~/some/project –port 8765(Windows 为 .venv\Scripts\openworker-server.exe)。
另开终端进入 surfaces/gui 执行 npm install 与 npm run dev 即可在浏览器中使用界面;也可改用 npm run tauri dev 启动完整桌面应用。
服务会生成一次性令牌文件 sidecar-<port>.token,Vite 启动时读取该仅用户可读文件完成鉴权,桌面应用则使用内存令牌不落盘。
截图与演示说明
官方给出一张架构示意图,直观展示桌面应用外壳、本地 Python 智能体服务、你的文件与终端、25+ 连接器以及任意模型提供商之间的层次关系。

从应用界面可以看到任务被拆解为步骤,并在你的桌面、文件与已连接应用之间推进,关键动作前会弹出审批确认。
GitHub 仓库 docs/assets 下还提供了工作流与界面相关的示例图,部署后可在本地克隆仓库直接查看原始素材。
常见问题
问:OpenWorker 必须联网吗?
答:模型推理与连接器调用需要网络,但你可以在本机用 Ollama 跑本地模型,并将数据保留在本地,仅在你选择的集成上出网。
问:支持哪些大模型?
答:开箱即支持 OpenAI、Anthropic、Google Gemini、GLM、DeepSeek、Kimi、Qwen、MiniMax、Mistral、Grok,以及 Together、Fireworks 的开放权重模型与 Ollama 本地模型。
问:它会擅自发送消息或执行命令吗?
答:不会。写文件、发消息、运行命令均设审批关卡,无人值守时把待办确认收进收件箱,由你批准或改向后再执行。
安全风险提示
源码安全扫描在本仓库的 tests/ 测试目录下共检出 5 处风险命中,全部位于单元测试桩代码中,不影响生产运行时,部署前仍建议人工复核。
路径:tests/test_provider_router.py。
类型:hardcoded-credential。
证据:测试用 provider 路由中写入占位凭证字符串,属于测试夹具。
建议:仅用于单元测试,生产侧通过本地 SecretStore 读取密钥,请勿将测试文件发布到生产环境。
路径:tests/test_config.py、tests/test_github_installs.py、tests/test_model_errors.py、tests/test_provider_router.py。
类型:dynamic-exec。
证据:测试桩动态构造并执行函数以验证行为,属常规测试手段。
建议:生产 coworker/ 后端以白名单与 SecretStore 管控执行与凭证,运行测试套件时不要与真实密钥环境混用。
特别提示:本源码风险命中均集中在测试目录,生产代码设计采用本地密钥存储与工具白名单,下载后请务必进行安全审计,删除恶意代码后再部署使用!
下载说明
源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。
本仓库采用 MIT 许可证,可自由使用与修改,但接入的第三方连接器与模型服务须自行遵守其服务条款与隐私政策。
GitHub项目开源地址:https://github.com/andrewyng/openworker