一、什么是 Open Cowork
Open Cowork 是一款桌面 AI 助手应用,核心是为 AI Agent 构建安全、隔离的运行环境,代理用户完成复杂任务。
与传统对话式 AI 不同,Open Cowork 为 AI 授予了沙箱工作区内的真实文件系统权限,可完成文件读取、写入、整理等操作,同时通过多层隔离机制保障系统安全。应用支持多类 AI 模型,包括 Claude、OpenAI 兼容接口,以及 GLM、MiniMax、Kimi 等主流国产模型。
二、架构概览
Open Cowork 采用经典 Electron 架构,严格分离主进程(后端)、渲染进程(前端)与预加载脚本(IPC 通信桥),多进程架构兼顾运行稳定性、安全性与界面响应性。
整体采用分层安全设计:
用户交互通过渲染进程发起
经由安全 IPC 通道与主进程通信
通过沙箱适配器与隔离环境交互
所有文件操作与命令执行,要么被限制在虚拟机(Windows 端为 WSL2,macOS 端为 Lima)内,要么通过主机路径防护机制进行权限约束。
三、核心功能
Open Cowork 平衡易用性与安全性,在提供专业级 AI 协作能力的同时,保持轻量化的用户体验。
功能分类 | 能力说明 | 安全保障 |
多模型支持 | 兼容 Claude、OpenAI、GLM、MiniMax、Kimi、OpenRouter | 配置库内 API Key 加密存储 |
文件管理 | 工作区内文件读取、写入、整理 | 路径防护机制,限制操作仅在工作目录内生效 |
技能系统 | 内置 PPTX/DOCX/XLSX 生成能力,支持自定义技能 | 技能执行前完成合法性校验 |
MCP 集成 | 可对接浏览器、Notion 及自定义应用 | MCP 服务运行在独立隔离进程中 |
沙箱隔离 | Windows 端 WSL2、macOS 端 Lima,支持原生降级模式 | 虚拟机级别的命令执行隔离 |
实时追踪 | 可视化查看 AI 推理过程与工具执行链路 | 仅只读可视化,无执行权限 |
多模态输入 | 支持拖拽文件、图片上传 | 文件先校验再复制至安全目录 |
会话管理 | 基于数据库的持久化聊天会话 | 所有数据本地存储,配置项加密 |
其中技能系统是核心扩展能力,用户可通过预置工作流或自定义技能定义自动化任务规则。技能分为三类:
内置技能:随应用安装包分发
MCP 技能:对接外部服务
自定义技能:用户自主开发
四、技术栈
4.1 核心技术
层级 | 技术选型 | 作用 |
应用框架 | Electron 40.0 | 跨平台桌面应用框架 |
前端框架 | React 18.3 | UI 组件开发 |
开发语言 | TypeScript 5.3 | 类型安全的开发体验 |
状态管理 | Zustand 5.0 | 轻量级状态管理方案 |
构建工具 | Vite 7.3 | 开发服务与打包构建 |
样式方案 | Tailwind CSS 3.4 | 工具优先的 CSS 框架 |
本地数据库 | better-sqlite3 12.6 | 嵌入式 SQL 数据库,负责数据持久化 |
4.2 AI 与自动化组件
组件 | 依赖库 | 功能 |
Claude SDK | @anthropic-ai/claude-agent-sdk | Claude Agent 能力实现 |
OpenAI SDK | @anthropic-ai/sdk | OpenAI 兼容模型支持 |
MCP SDK | @modelcontextprotocol/sdk | 模型上下文协议集成 |
Claude Code | @anthropic-ai/claude-code | 代码执行能力 |
4.3 安全与基础设施
组件 | 依赖库 | 功能 |
配置存储 | electron-store | 加密配置持久化 |
文件监听 | chokidar 4.0 | 文件变更检测与监听 |
文件归档 | archiver 7.0 | ZIP 等格式的文件打包 |
国际化 | i18next 25.8 | 多语言支持 |
应用同时内置了针对 Windows(WSL2)与 macOS(Lima)的专属沙箱代理,由 TypeScript 编译后随安装包分发,确保所有命令执行都在隔离环境中完成。
五、项目结构
代码采用模块化架构,职责边界清晰,整体目录对应 Electron 的进程模型分为三大模块:
Plain Text open-cowork/ ├── src/ │├── main/# 主进程(后端核心) ││├── claude/# Claude Agent 实现 ││├── config/# 应用配置管理 ││├── credentials/# 用户凭证管理 ││├── db/# SQLite 数据库层 ││├── mcp/# MCP 服务管理 ││├── memory/# Agent 记忆系统 ││├── openai/# OpenAI 模型适配 ││├── sandbox/# 沙箱隔离层 ││├── session/# 会话与聊天管理 ││├── skills/# 技能系统 ││├── tools/# 工具执行框架 ││└── utils/# 通用工具函数 ││ │├── preload/# 预加载脚本(IPC 通信桥) ││└── index.ts# 上下文桥接定义 ││ │└── renderer/# 渲染进程(前端) │├── components/# React 组件 │├── hooks/# 自定义 React Hooks │├── i18n/# 国际化配置 │├── store/# Zustand 状态仓库 │├── styles/# 样式文件 │└── types/# TypeScript 类型定义 │ ├── resources/# 静态资源 │├── logo.png# 应用图标 │└── entitlements.mac.plist# macOS 权限配置 │ ├── scripts/# 构建与工具脚本 │└── download-node.js# Node.js 二进制下载脚本 │ ├── tests/# 测试文件 │└── settings-panel-sidebar.test.ts │ ├── electron-builder.yml# Electron Builder 打包配置 ├── vite.config.ts# Vite 构建配置 └── package.json# 项目元数据与依赖管理 |
主进程:承载全部业务逻辑,包括会话管理器(调度 AI 交互)、技能管理器(加载与执行技能)、MCP 管理器(外部服务连接)、沙箱适配器(安全命令执行)。
渲染进程:纯 React 前端应用,无直接系统访问权限,仅通过预加载脚本定义的 IPC 桥与主进程通信。
六、沙箱安全模型
Open Cowork 采用多层级安全架构,为 AI Agent 操作提供纵深防御,共分为三级防护:
安全层级 | 适配平台 | 技术实现 | 防护范围 |
路径防护 | 全平台 | 路径合法性校验 | 文件操作仅允许在工作目录内执行 |
虚拟机隔离 | Windows | WSL2 | 所有命令在 Linux 虚拟机内运行 |
虚拟机隔离 | macOS | Lima | 所有命令在 Linux 虚拟机内运行 |
原生降级模式 | Linux / 全平台 | 原生执行 | 命令运行受路径权限约束 |
路径防护(基础层)作为最底层安全机制,通过校验逻辑确保所有文件系统操作(读、写、删除、创建目录)仅能在指定工作目录内发生,在主进程层面拦截所有越权文件访问。
虚拟机隔离(增强层)Windows 端集成 WSL2、macOS 端集成 Lima,提供虚拟机级隔离。启用虚拟化后,所有 Shell 命令均在独立 Linux 虚拟机内执行,工作目录挂载至虚拟机中实现文件双向同步,命令执行无法直接影响主机系统。
原生降级(兼容层)架构支持自动检测虚拟化环境,若虚拟机不可用,则平滑降级为原生执行模式;该模式下仍保留路径防护机制,保障基础安全。
七、快速开始
7.1 安装方式
安装方式 | 支持平台 | 操作步骤 | 适用人群 |
预编译安装包 | Windows / macOS | 从 Releases 下载 .exe 或 .dmg 安装 | 普通用户 |
源码构建 | 全平台 | 执行 npm install && npm run rebuild && npm run dev | 开发者 |
Docker 构建 | 全平台 | 使用项目提供的 Dockerfile | CI/CD 环境 |
7.2 前置条件
使用前请准备:
API Key:从 OpenRouter、Anthropic 或 GLM、MiniMax、Kimi 等支持的服务商处获取
Node.js 18+:源码构建模式下必需
WSL2(Windows):可选,推荐开启以获得更强安全能力
Lima(macOS):可选,推荐开启,可通过 brew install lima 安装
7.3 首次启动流程
启动应用后,按提示完成 AI 服务商配置
输入 API Key,非 Anthropic 服务商需同步配置 Base URL
选择 AI 操作的工作目录
沙箱自动初始化,检测可用的虚拟化环境
即可在安全工作区内与 AI 助手对话协作
所有配置、会话与聊天历史均存储在用户本地,会话数据持久化至 SQLite 数据库,支持应用重启后继续对话。
* 开源代码仓库:https://github.com/OpenCoworkAI/open-cowork
夜雨聆风