open-cowork
开源 AI 桌面助手:集成 Claude/GPT/Gemini/DeepSeek 多模型,一键安装
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 AI 桌面助手:集成 Claude/GPT/Gemini/DeepSeek 多模型,一键安装
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Claude Code 是 Anthropic 官方推出的 CLI 编程工具,能让 Claude 模型直接操作你的文件系统、终端和浏览器来完成编程任务。然而,它本质上是一个终端工具——没有图形界面、没有多会话管理、不擅长同时处理多种类型文档。如果你是一个非程序员,想让它帮你做一份 PPT、写一份合同、整理一份 Excel,Claude Code 本身并不擅长。
Open Cowork 解决了这个问题。它是一个开源的 AI Agent 桌面应用,将 Claude Code 的能力封装进了一个 Windows/macOS 原生 GUI,同时支持 OpenAI、DeepSeek、Gemini 等多模型接入,并通过 MCP 协议连接浏览器、Notion 等桌面应用,让 AI 真正成为你电脑上的"数字同事"。
Open Cowork 的技术选型围绕Electron 桌面 + 多 Agent 协同 + 沙箱隔离三大核心展开。
前端层采用 React 18 + TypeScript + Zustand 状态管理,通过 src/renderer/ 目录组织所有 UI 组件,包括会话视图(ChatView)、设置面板(SettingsPanel)、权限对话框(PermissionDialog)和远程控制面板(RemoteControlPanel)。Zustand store(src/renderer/store/index.ts,20KB)统一管理全局会话状态。样式使用 TailwindCSS,支持多语言国际化(i18next),文档渲染支持 Markdown + LaTeX 数学公式。
主进程层是整个应用的核心引擎,运行在 src/main/ 目录下。入口文件 src/main/index.ts(86KB)负责 Electron 主进程初始化;src/main/claude/agent-runner.ts(124KB)是 Claude Agent 的主循环,负责解析 thinking tag、管理工具调用结果和历史会话重建;src/main/claude/claude-sdk-one-shot.ts(12KB)封装了 Anthropic SDK 的单次调用接口。
沙箱隔离是 Open Cowork 安全性设计的核心。Windows 平台使用 WSL2(src/main/sandbox/wsl-bridge.ts,35KB),macOS 使用 Lima VM(src/main/sandbox/lima-bridge.ts,29KB)。两个 bridge 文件分别负责:文件系统路径映射(防止 Agent 访问沙箱外的路径)、进程隔离执行和结果回传。src/main/sandbox/path-guard.ts(9KB)实现了路径白名单机制。
MCP 集成是 Open Cowork 区别于 Claude Cowork 的关键差异化能力。src/main/mcp/mcp-manager.ts(68KB)负责 MCP 服务器的启动、配置管理和生命周期;src/main/mcp/gui-operate-server.ts(229KB)是最大的单个源文件,实现了 GUI 自动化操作的 MCP 工具集,包括屏幕截图、鼠标键盘模拟、元素定位等能力;src/main/mcp/software-dev-server-example.ts(112KB)提供了软件开发的 MCP 工具示例,包括文件读写、终端执行等。
多模型路由由 src/main/claude/pi-model-resolution.ts(12KB)实现,支持动态选择 Claude、OpenAI、DeepSeek、Gemini 等模型,背后通过 @anthropic-ai/sdk、openai、@google/genai 等多个 SDK 接入。
文档生成 Skills 系统通过 src/main/skills/skills-manager.ts(38KB)管理,支持生成 PPTX、DOCX、XLSX、PDF 等专业文档。这些 Skills 通过 MCP 协议调用 Python 脚本执行,通过 Lima/WSL2 沙箱隔离运行。
远程控制通过 src/main/remote/ 模块实现,集成了飞书(Lark)SDK(@larksuiteoapi/node-sdk)和 Slack SDK(@slack/bolt),支持通过飞书群聊或 Slack 远程操控 AI Agent。src/main/remote/gateway.ts(25KB)负责 WebSocket 网关,src/main/remote/tunnel-manager.ts(4KB)通过 ngrok 建立反向隧道。
会话与记忆系统通过 src/main/session/session-manager.ts(44KB)管理会话生命周期;src/main/memory/ 模块(18个文件)实现了完整的 Agent 记忆系统,包括核心记忆存储(core-memory-store)、经验记忆(experience-memory-store)、记忆检索(memory-retriever)和 LLM 优化(memory-prompt-optimizer)。
Open Cowork 不提供 Docker 部署,需要用户下载预编译的 Windows/macOS 安装包:
.exe),内置 WSL2 Agent(TypeScript 编译产物)、Node.js 22 运行环境、MCP 服务器bundled resources 和 Claude Skills。构建过程通过 npm run build 完成,依赖包括:下载预编译 Node.js 二进制(scripts/download-node.js)、编译 WSL Agent TypeScript(tsc -p src/main/sandbox/wsl-agent/tsconfig.json)、编译 Lima Agent、esbuild 打包 MCP 服务器(scripts/bundle-mcp.js)、prepare Python 环境(scripts/prepare-python.js)和 Tauri GUI 工具链。原生模块(better-sqlite3)通过 @electron/rebuild 针对 Electron 版本重新编译。
亮点方面,Open Cowork 实现了真正意义上的多平台沙箱隔离,WSL2 和 Lima 分别针对不同 OS 做了深度适配,路径守卫机制防止了 Agent 逃逸到沙箱外部。MCP 集成深度丰富,特别是 GUI 自动化能力让 AI 第一次可以在桌面上"看见"并操作 UI 界面。多模型动态路由设计允许多个 AI 模型协同工作,适合不同复杂度的任务。多语言国际化(i18next)和飞书/Slack 集成让远程团队协作成为可能。
局限性方面,构建门槛较高——需要 Node.js >= 22、WSL2(Windows)或 Lima(macOS),以及复杂的 native module 编译链,对于普通用户来说"一键安装"的体验仅限于官方提供的预编译包。Electron 桌面应用的资源占用相对较重。WSL2 沙箱在某些企业网络环境下可能遇到 Hyper-V 兼容性问题。Skills 系统的可扩展性取决于 MCP 服务器的实现质量,官方 Skills 数量有限。
Open Cowork 代表了 AI Agent 从 CLI 向 GUI 迁移的趋势。随着 Claude Code、Copilot CLI 等工具的普及,"AI 编程"已经进入终端时代,但非技术用户的上手门槛依然存在。Open Cowork 通过 Electron 桌面化封装,降低了 AI Agent 的使用门槛,同时通过沙箱隔离保障了安全性,是 AI 原生应用从实验室走向真实办公场景的一个有意义的探索方向。
项目持续活跃维护(2026年6月最新提交),版本号 3.3.1,支持 Node.js >= 22,采用 MIT 许可证,GitHub Stars 持续增长中。