OpenWork 开源版 Claude Cowork 深度解析:从原理到实战,手把手教你搭建本地AI协作系统

AI1天前发布 beixibaobao
3 0 0

OpenWork 开源版,Claude Cowork 平替来了

源码七号站 原创深度技术解析 | 转载请注明来源


写在前面

就在几天前,Anthropic 正式发布了 Claude Cowork——一款能够直接操控你电脑桌面的AI智能代理工具。这款产品一经推出就在技术圈掀起了巨大波澜,它不再是简单的”问答机器人”,而是真正意义上的”数字同事”,能够帮你整理文件、处理数据、甚至自动完成一系列复杂的工作流程。

然而,好东西往往伴随着门槛。Claude Cowork 目前仅对 Max 订阅用户开放(每月100到200美元),而且更重要的是——你需要把本地文件夹的访问权限交给云端服务。对于很多注重数据隐私的开发者和企业用户来说,这无异于”裸奔”。

就在大家还在纠结要不要掏腰包、要不要冒隐私风险的时候,开源社区的极客们已经行动起来了。一个名为 OpenWork 的项目横空出世,定位非常明确:打造一个开源、可扩展、本地优先的 Claude Cowork 替代品。

这个项目刚上线就冲上了 Hacker News 热榜第一,短短两天斩获近千颗 Star,热度还在持续攀升。作为一个长期关注 AI Agent 领域的技术博主,我第一时间对这个项目进行了深度测评和源码分析。

这篇文章会从技术原理、架构设计、安装部署、实际操作等多个维度,为你全面剖析 OpenWork 这个项目。无论你是想了解前沿 AI Agent 技术的开发者,还是希望在本地部署一套AI协作系统的普通用户,这篇文章都会对你有所帮助。

源码七号站 的老朋友应该知道,我一直推崇”授人以渔”的理念。所以这篇文章不会只是简单的”下载-安装-运行”流水账,而是会深入到技术细节层面,让你不仅知其然,还知其所以然。

好了,废话不多说,正文开始。


第一章:搞懂背景——Claude Cowork 到底是什么?

在聊 OpenWork 之前,我们得先搞清楚它模仿的对象——Claude Cowork 究竟是个什么东西。

1.1 从聊天机器人到”数字员工”的进化

过去几年,我们见证了 AI 对话模型的飞速发展。从最初的 ChatGPT 到现在的 Claude、Gemini,这些模型在理解能力和生成能力上都取得了质的飞跃。但如果你仔细观察就会发现,它们本质上还是”被动”的——你问它答,你不问它就不动。

Claude Cowork 代表的是下一阶段的 AI 形态:主动执行型智能代理(Agentic AI)。简单来说,你不再需要一步步告诉它该怎么做,而是直接给它一个目标,它会自己规划执行步骤、调用各种工具、完成任务后向你汇报。

举几个 Anthropic 官方给出的使用场景:

  • 文件整理:把你杂乱无章的下载文件夹按照类型、日期重新归类,并给每个文件起一个有意义的名字
  • 数据处理:从一堆收据照片中提取信息,自动生成一份费用报销表格
  • 文档生成:把散落在各处的笔记汇总成一份完整的报告初稿

这种”交代任务-自动执行-结果汇报”的工作模式,是不是很像你和一个得力助手的协作方式?这也是它被命名为”Cowork(协作)”的原因。

1.2 Agentic Loop:Claude Cowork 的核心机制

理解 Claude Cowork 的工作原理,有一个关键概念必须掌握:Agentic Loop(智能体循环)

传统的 AI 对话是一问一答的线性模式。而 Agentic Loop 则是一个循环迭代的过程:

用户下达任务
    ↓
AI 分析任务,制定执行计划
    ↓
AI 执行计划中的第一步
    ↓
检查执行结果,判断是否需要调整
    ↓
继续执行下一步,或者向用户请求确认
    ↓
循环往复,直到任务完成
    ↓
向用户汇报最终结果

在这个循环中,AI 不只是生成文字,而是会调用各种工具(Tools)来完成实际操作。比如读取文件系统、执行 Shell 命令、操作浏览器等等。这也是为什么它能真正”做事”而不只是”说话”。

Claude Cowork 就是构建在这套 Agentic 架构之上的产品级应用。它继承了 Anthropic 此前推出的 Claude Code 的核心能力,但把界面从命令行变成了普通用户也能上手的图形化应用。

1.3 为什么我们需要开源替代品?

Claude Cowork 看起来确实很香,但它有几个让人犹豫的问题:

价格门槛高

目前 Claude Cowork 仅对 Max 订阅用户开放,基础档位每月100美元起步。对于个人开发者或小团队来说,这个成本不算低。虽然刚宣布开放给 Pro 用户了,但功能和额度上仍有诸多限制。

数据隐私风险

要使用 Claude Cowork,你必须授权它访问本地文件夹。虽然 Anthropic 强调”只能访问你明确授权的目录”,但你的文件内容最终还是会上传到云端进行处理。对于涉及敏感数据的场景,这是一个不可忽视的风险点。

平台锁定

Claude Cowork 目前只在 macOS 桌面应用中可用,而且深度绑定 Anthropic 的服务。你没法选择其他模型提供商,也没法在本地完全离线运行。

正是这些痛点,催生了开源社区对替代方案的需求。而 OpenWork,就是目前最有潜力的答案之一。


第二章:OpenWork 项目全解析

2.1 项目定位与设计哲学

OpenWork 的定位非常清晰:一个开源、可扩展的”Claude Cowork 风格”系统

项目由 different-ai 团队发起,核心开发者在 Hacker News 的帖子中表示,这是一次为期两天的黑客马拉松的产物。虽然开发周期很短,但项目架构设计得相当完整。

OpenWork 的核心设计哲学可以总结为四个关键词:

  • 可扩展(Extensible):通过技能包(Skills)和插件(Plugins)机制,用户可以轻松扩展 AI 的能力边界
  • 可审计(Auditable):每一步操作都清晰可见,你可以完整追溯 AI 做了什么、为什么这么做
  • 有权限(Permissioned):敏感操作需要用户显式授权,控制权始终在你手里
  • 本地/远程两用(Local/Remote):既可以在本地运行,也可以连接到远程服务器

这四点直击了 Claude Cowork 的几个软肋:闭源不可控、操作黑盒化、隐私风险高。

2.2 技术架构深度剖析

了解 OpenWork 的技术架构,是理解它能做什么、有什么限制的基础。这里我尽量用通俗的语言解释,不懂代码的朋友也能看懂。

整体架构图
┌─────────────────────────────────────────────────────┐
│                   OpenWork 桌面应用                   │
│              (Tauri + React + TypeScript)            │
├─────────────────────────────────────────────────────┤
│                                                      │
│   ┌─────────────┐    ┌─────────────┐                │
│   │  工作区管理   │    │   会话管理   │                │
│   └──────┬──────┘    └──────┬──────┘                │
│          │                  │                        │
│   ┌──────┴──────────────────┴──────┐                │
│   │         OpenCode SDK 层         │                │
│   │     (@opencode-ai/sdk/v2)       │                │
│   └──────────────┬─────────────────┘                │
│                  │ HTTP/SSE                          │
└──────────────────┼──────────────────────────────────┘
                   │
┌──────────────────┴──────────────────────────────────┐
│              OpenCode Server (后端引擎)               │
│                                                      │
│   ┌─────────────┐   ┌─────────────┐                 │
│   │  会话管理器   │   │   工具执行器  │                 │
│   └─────────────┘   └─────────────┘                 │
│   ┌─────────────┐   ┌─────────────┐                 │
│   │  模型提供商   │   │   权限控制器  │                 │
│   └─────────────┘   └─────────────┘                 │
│                                                      │
└─────────────────────────────────────────────────────┘
                   │
                   ▼
        ┌─────────────────────┐
        │    AI 模型 API      │
        │ (Claude/GPT/Gemini) │
        └─────────────────────┘
前端层:Tauri + React

OpenWork 的桌面应用采用了 Tauri 框架。如果你不了解 Tauri,可以把它理解为 Electron 的”轻量级替代品”。

传统的 Electron 应用会内嵌一个完整的 Chromium 浏览器内核,导致应用体积动辄几百MB。而 Tauri 使用操作系统自带的 WebView(macOS 上是 WebKit,Windows 上是 WebView2),应用体积可以控制在几十MB甚至更小。

前端界面部分用的是 React + TypeScript 技术栈,配合 Tailwind CSS 做样式管理。对于现代前端开发者来说,这是一套非常主流且成熟的组合。

后端层:OpenCode 引擎

OpenWork 的真正”大脑”是 OpenCode——一个由 anomalyco 团队开发的开源 AI 编码代理。OpenCode 在 GitHub 上已经积累了超过 7 万颗 Star,是目前最活跃的开源 AI Agent 项目之一。

OpenCode 采用客户端-服务器架构:

  • 服务端:一个基于 Hono 框架的 HTTP 服务器,负责管理会话状态、调用 AI 模型、执行工具、处理权限请求
  • 客户端:可以是终端界面(TUI)、桌面应用、IDE 插件、甚至是移动应用

OpenWork 本质上就是 OpenCode 的一个图形化客户端,把原本需要在终端里敲命令的操作,封装成了点击按钮就能完成的界面。

通信机制:REST + SSE

OpenWork 前端和 OpenCode 后端之间通过两种协议通信:

  • REST API:用于一次性的请求响应,比如创建会话、发送提示词、获取状态等
  • SSE(Server-Sent Events):用于实时推送,比如 AI 的执行进度、计划更新、权限请求等

SSE 是实现”实时感”的关键。有了它,你才能在界面上看到 AI 一步步执行任务的动态过程,而不是傻等一个最终结果。

© 版权声明

相关文章