编程 OpenWork 深度拆解:当 AI Agent 工作台遇上开源革命——从 Claude Cowork 平替到 MCP 生态的完全指南(2026)

2026-08-13 13:12:21 +0800 CST views 9

OpenWork 深度拆解:当 AI Agent 工作台遇上开源革命——从 Claude Cowork 平替到 MCP 生态的完全指南(2026)

18.7k Stars,48小时从 0 到爆款,OpenWork 正在重新定义 AI Agent 工作台的游戏规则。这不是又一个 AI 聊天客户端,而是一个将「订阅制 SaaS」变成「开源+本地」的革命性平台。本文从架构设计、MCP 协议、权限审批机制、工作流共享到生产部署,为你完整拆解这个 2026 年最受瞩目的开源项目。

背景:为什么我们需要 OpenWork?

订阅制的隐形成本

2026 年,AI Agent 已经成为开发者的日常工具。但随之而来的是「订阅疲劳」:Claude Pro、ChatGPT Plus、Cursor、Windsurf、Copilot……每个工具都在向你收取月费,而功能却高度重叠。更糟糕的是,数据被锁定在各个平台的云端,工作流无法跨工具复用。

Claude Cowork 作为 Anthropic 推出的 AI Agent 工作台,提供了强大的协作能力——但它是闭源的、订阅制的、数据存储在 Anthropic 的服务器上。对于一个真正关心数据隐私、希望定制化工作流的开发者来说,这远远不够。

OpenWork 的诞生

2026 年 7 月,创始人 Ben Shafii 在 Hacker News 上发布了一个帖子:「我花了 48 小时做了一个 Claude Cowork 的开源替代品」。这个帖子迅速登上 HN 首页,OpenWork 一夜之间获得了数千 Stars。

核心理念

  • 开源:MIT 核心协议,FSL-1.1-MIT 企业版
  • 本地优先:所有数据在你自己的机器上
  • MCP 原生:基于 OpenCode(18万+ Stars 开源编码代理)引擎
  • 跨工具复用:一次配置,到处运行

截至 2026 年 8 月,OpenWork 已经获得 18,734+ Stars,日增长 +915,成为 GitHub Trending 常客。


一、核心架构:从 Electron 到 OpenCode 引擎

1.1 技术栈全景

OpenWork 的技术栈可以用「现代前端 + 强大后端」来概括:

┌─────────────────────────────────────────────────────────┐
│                    OpenWork 架构                        │
├─────────────────────────────────────────────────────────┤
│  前端层 (Electron + React + TypeScript)                 │
│  ├── 可视化执行时间轴                                   │
│  ├── 文件浏览器 + 代码编辑器                            │
│  ├── 权限审批面板                                       │
│  └── 技能管理器                                         │
├─────────────────────────────────────────────────────────┤
│  中间层 (Node.js + IPC)                                 │
│  ├── OpenCode Agent 引擎集成                            │
│  ├── MCP 协议适配器                                     │
│  ├── 本地文件系统访问                                   │
│  └── 系统命令执行沙箱                                   │
├─────────────────────────────────────────────────────────┤
│  后端层 (OpenCode Engine)                               │
│  ├── 多模型路由 (OpenAI/Claude/DeepSeek/...)           │
│  ├── 工具调用编排                                       │
│  ├── 会话记忆管理                                       │
│  └── 技能执行引擎                                       │
└─────────────────────────────────────────────────────────┘

为什么选择 Electron 而非纯 Web?

这涉及到一个关键设计决策。Web 应用虽然跨平台,但在以下方面受限:

  1. 文件系统访问:浏览器无法直接读写本地文件
  2. 系统命令执行:Web 沙箱禁止运行 shell 命令
  3. 性能上限:Electron 可以调用原生模块,性能更高
  4. 数据隐私:本地应用不需要将数据上传到云端

OpenWork 选择 Electron,正是为了突破这些限制,让 AI Agent 真正成为你的「本地助手」。

1.2 OpenCode 引擎集成

OpenWork 的核心能力来自 OpenCode——一个拥有 18 万+ Stars 的开源编码代理引擎。OpenCode 提供了:

  • 多模型路由:支持 OpenAI、Anthropic、Google、DeepSeek、智谱 AI 等 20+ 模型提供商
  • 工具调用标准:统一的 Function Calling 抽象层
  • 会话管理:持久化的对话历史和上下文窗口管理
  • 技能系统:可插拔的能力扩展机制

OpenWork 通过 Node.js 的 child_process 或 IPC 机制与 OpenCode 引擎通信:

// 简化的引擎集成代码
import { spawn } from 'child_process';

class OpenCodeEngine {
  private process: ChildProcess;
  
  constructor(private config: EngineConfig) {}
  
  async start() {
    this.process = spawn('opencode', ['--mode', 'agent'], {
      cwd: this.config.workspacePath,
      env: { ...process.env, OPENCODE_API_KEY: this.config.apiKey }
    });
    
    this.process.stdout?.on('data', (data) => {
      this.handleMessage(JSON.parse(data.toString()));
    });
  }
  
  async executeTask(prompt: string, tools: Tool[]) {
    const message = {
      type: 'task',
      payload: { prompt, tools, context: this.getContext() }
    };
    this.process.stdin?.write(JSON.stringify(message) + '\n');
  }
}

这种架构设计的优势在于:

  1. 解耦:前端和引擎可以独立更新
  2. 稳定性:引擎崩溃不会导致整个应用退出
  3. 扩展性:可以替换或升级引擎而不修改前端代码

二、MCP 协议:打破工具孤岛的钥匙

2.1 什么是 MCP?

MCP(Model Context Protocol) 是 Anthropic 在 2024 年提出的一个开放协议,旨在解决 AI Agent 与外部工具之间的通信标准化问题。在 MCP 出现之前,每个 AI 工具都有自己的 API 格式:

  • OpenAI 使用 functions 参数
  • Anthropic 使用 tools 参数
  • Google 使用 function_declarations

这导致开发者需要为每个模型写不同的工具适配代码。MCP 的目标是:

一次封装,到处运行。你只需要按照 MCP 协议实现一次工具,就可以在任何支持 MCP 的 AI Agent 中使用。

2.2 MCP 架构解析

MCP 采用 Client-Server 架构:

┌────────────────┐         ┌────────────────┐
│  MCP Client    │ <-----> │  MCP Server    │
│  (AI Agent)    │  JSON-RPC│  (Tool Provider)│
└────────────────┘         └────────────────┘

核心概念

  1. Resources:可读取的数据源(如文件、数据库记录)
  2. Prompts:预定义的提示模板
  3. Tools:可执行的函数(如搜索、代码执行、API 调用)
  4. Sampling:让 Server 请求 Client 生成文本的能力

OpenWork 作为 MCP Client,可以连接到任意 MCP Server。这意味着:

// MCP 工具定义示例
const mcpTools = [
  {
    name: 'read_file',
    description: '读取本地文件内容',
    inputSchema: {
      type: 'object',
      properties: {
        path: { type: 'string', description: '文件路径' }
      },
      required: ['path']
    }
  },
  {
    name: 'execute_command',
    description: '执行 shell 命令',
    inputSchema: {
      type: 'object',
      properties: {
        command: { type: 'string', description: '要执行的命令' },
        cwd: { type: 'string', description: '工作目录' }
      },
      required: ['command']
    }
  }
];

2.3 OpenWork 的 MCP 生态

OpenWork 的杀手级特性是:跨工具 AI 工作流共享

假设你在 OpenWork 中创建了一个「代码审查」工作流:

  1. 读取 Git diff
  2. 调用 AI 分析代码质量
  3. 生成审查报告

这个工作流可以被其他 MCP 兼容工具(如 Claude Code、Cursor)直接调用,无需重新配置。实现方式是:

# 将 OpenWork 注册为 MCP Server
# 在其他工具的配置中添加:
{
  "mcpServers": {
    "openwork": {
      "command": "openwork",
      "args": ["--mcp-server"]
    }
  }
}

然后,在 Claude Code 中:

请使用 openwork 的代码审查工具分析我的 PR

Claude Code 会通过 MCP 协议调用 OpenWork 的工作流,实现跨工具协作。


三、可视化执行时间轴:让 AI 的每一步都可追溯

3.1 传统 AI Agent 的黑盒问题

使用过命令行 AI Agent 的开发者都知道,输入一个提示后,你只能「盲等」。AI 在后台执行了什么操作?修改了哪些文件?运行了什么命令?你一无所知,直到最终结果输出。

这种黑盒体验带来两个问题:

  1. 信任缺失:用户不确定 AI 是否做了「正确的事」
  2. 调试困难:出问题时,难以定位是哪一步出错

3.2 OpenWork 的解决方案

OpenWork 将 AI Agent 的执行过程完全可视化:

┌────────────────────────────────────────────────────────┐
│ 执行时间轴                                              │
├────────────────────────────────────────────────────────┤
│ [14:32:01] 规划:分析用户需求,制定执行计划             │
│   └── 目标:重构用户认证模块,提升代码可读性            │
│                                                         │
│ [14:32:05] 工具调用:read_file                          │
│   └── 路径:src/auth/user.ts                            │
│   └── 状态:✅ 成功,读取 342 行                        │
│                                                         │
│ [14:32:12] 工具调用:execute_command                    │
│   └── 命令:npm run lint src/auth/user.ts               │
│   └── 状态:✅ 成功,无 lint 错误                       │
│                                                         │
│ [14:32:18] 文件修改:write_file                         │
│   └── 路径:src/auth/user.ts                            │
│   └── 变更:+45 -23 行                                  │
│   └── ⚠️ 等待用户审批                                   │
│                                                         │
│ [14:32:25] 用户审批:已批准                             │
│   └── 文件已保存                                        │
└────────────────────────────────────────────────────────┘

实现原理

OpenWork 的中间层会捕获每一个 Agent 动作,并通过 IPC 发送到前端:

// 动作捕获中间件
class ActionLogger {
  private timeline: Action[] = [];
  
  intercept(action: AgentAction) {
    const entry: Action = {
      timestamp: Date.now(),
      type: action.type, // 'read_file' | 'write_file' | 'execute_command'
      payload: action.payload,
      status: 'pending'
    };
    
    this.timeline.push(entry);
    this.emitToUI(entry);
    
    return action;
  }
  
  markComplete(actionId: string, result: any) {
    const entry = this.timeline.find(a => a.id === actionId);
    if (entry) {
      entry.status = 'success';
      entry.result = result;
      this.emitToUI(entry);
    }
  }
}

3.3 实际案例:代码重构的可视化

假设你让 OpenWork 执行:「重构 src/utils 文件夹,提取公共函数到 shared 模块」。

时间轴会显示:

  1. 规划阶段(5秒):

    • 扫描 src/utils 下所有文件
    • 分析函数调用关系
    • 生成重构计划
  2. 执行阶段(30秒):

    • 创建 src/shared 文件夹
    • 提取 formatDate() 函数到 shared/date.ts
    • 更新 src/utils/date.ts 的导入
    • 运行测试验证
  3. 审批阶段(用户交互):

    • 显示文件 diff
    • 等待你确认是否应用变更

每一步都有时间戳、状态标识、详细参数,让 AI 的行为完全透明。


四、人在回路:权限审批的安全防线

4.1 为什么需要权限审批?

AI Agent 越来越强大,但也越来越「危险」。一个错误的 rm -rf 命令可能删除你的整个项目;一个不当的 API 调用可能泄露敏感数据。

人在回路(Human-in-the-Loop) 是 OpenWork 的安全核心理念:

高风险操作必须经过用户批准,AI 不能擅自执行。

4.2 风险分级系统

OpenWork 将操作分为三个风险等级:

风险等级操作类型默认行为示例
低风险只读操作自动执行读取文件、查看 diff、列出目录
中风险可逆修改提示确认创建文件、修改配置、安装依赖
高风险不可逆操作强制审批删除文件、执行 shell 命令、发送网络请求

4.3 审批流程实现

当 Agent 尝试执行高风险操作时:

class ApprovalSystem {
  async requestApproval(action: RiskyAction): Promise<boolean> {
    return new Promise((resolve) => {
      // 弹出审批面板
      const panel = this.showApprovalPanel({
        title: `AI 请求执行:${action.type}`,
        description: action.description,
        details: action.details, // 文件路径、命令内容等
        risk: action.riskLevel,
        buttons: ['批准', '拒绝', '查看详情']
      });
      
      panel.on('approve', () => resolve(true));
      panel.on('reject', () => resolve(false));
      panel.on('details', () => this.showActionDetails(action));
    });
  }
}

实际场景

  1. AI 想要执行 git push origin main

    • 审批面板显示:「AI 请求推送代码到远程仓库」
    • 详细信息:分支名、commit 列表、推送目标
    • 你可以选择批准或拒绝
  2. AI 想要修改 .env 文件:

    • 审批面板显示:「AI 请求修改环境变量配置」
    • diff 预览:显示新增/删除的变量
    • 你可以检查是否有敏感信息泄露

4.4 批量审批与信任机制

对于重复性操作,OpenWork 提供了「信任此类型操作」选项:

interface TrustRule {
  actionType: 'write_file' | 'execute_command' | 'network_request';
  pattern: string; // glob 或正则
  expiresAt: Date;
}

// 示例:信任 AI 对 src/generated 文件夹的所有写操作
const trustRule: TrustRule = {
  actionType: 'write_file',
  pattern: 'src/generated/**/*',
  expiresAt: new Date(Date.now() + 3600000) // 1小时后过期
};

这样,AI 在生成代码到 src/generated 文件夹时,不会反复请求批准,提升效率的同时保持安全边界。


五、技能系统:插件化扩展 AI 能力

5.1 什么是「技能」?

OpenWork 的「技能」(Skill)是一种可插拔的能力扩展。类似于 VSCode 的扩展、Chrome 的插件,技能可以让 AI 获得新的能力:

  • 代码审查技能:自动检查代码质量、安全漏洞
  • 文档生成技能:从代码自动生成 API 文档
  • 测试生成技能:为函数自动编写单元测试
  • 数据分析技能:读取 CSV/Excel,生成可视化报告

5.2 技能的文件结构

每个技能是一个独立的文件夹:

.skills/
└── code-review/
    ├── skill.json          # 技能元数据
    ├── prompts/
    │   └── main.md         # 主提示模板
    ├── tools/
    │   └── analyze.ts      # 工具实现
    └── tests/
        └── basic.test.ts   # 测试用例

skill.json 示例

{
  "name": "code-review",
  "version": "1.0.0",
  "description": "自动化代码审查,检查代码质量和安全漏洞",
  "author": "OpenWork Team",
  "triggers": ["review", "审查", "检查代码"],
  "tools": ["analyze"],
  "permissions": ["read_file", "execute_command"]
}

5.3 技能执行流程

当你输入「审查 src/auth 模块」时:

  1. 触发识别:匹配到 code-review 技能的触发词
  2. 上下文加载:读取 src/auth 下的所有文件
  3. 提示注入:将文件内容注入到 prompts/main.md 模板
  4. 工具调用:AI 调用 analyze 工具进行深度分析
  5. 结果输出:生成结构化的审查报告
// 技能执行器
class SkillExecutor {
  async execute(skillName: string, context: SkillContext) {
    const skill = await this.loadSkill(skillName);
    const prompt = await this.renderPrompt(skill, context);
    
    const result = await this.agent.execute({
      prompt,
      tools: skill.tools,
      maxTokens: 8000
    });
    
    return this.formatOutput(result, skill.outputFormat);
  }
}

5.4 内置技能一览

OpenWork 默认提供以下技能:

技能名称功能触发词
code-review代码审查review, 审查
test-gen测试生成生成测试, 写测试
doc-gen文档生成生成文档, 写文档
refactor代码重构重构, 优化代码
debug调试助手调试, 排查问题
translate代码翻译转换为, 重写为

你也可以创建自定义技能,只需在 .skills/ 文件夹中添加相应的文件。


六、本地部署与配置实战

6.1 安装 OpenWork

方式一:下载预编译包(推荐)

访问 GitHub Releases 页面,下载对应平台的安装包:

  • macOS: OpenWork-x.x.x-mac.zip
  • Windows: OpenWork-x.x.x-win.exe
  • Linux: OpenWork-x.x.x-linux.AppImage

方式二:从源码编译

# 克隆仓库
git clone https://github.com/different-ai/openwork.git
cd openwork

# 安装依赖
npm install

# 开发模式运行
npm run dev

# 构建生产版本
npm run build

6.2 配置模型提供商

OpenWork 支持多种 AI 模型。首次启动时,会引导你配置:

# ~/.openwork/config.yaml
providers:
  openai:
    apiKey: ${OPENAI_API_KEY}  # 从环境变量读取
    models:
      - gpt-4-turbo
      - gpt-3.5-turbo
  
  anthropic:
    apiKey: ${ANTHROPIC_API_KEY}
    models:
      - claude-3-opus-20240229
      - claude-3-sonnet-20240229
  
  deepseek:
    apiKey: ${DEEPSEEK_API_KEY}
    baseURL: https://api.deepseek.com
    models:
      - deepseek-chat
      - deepseek-coder

default_provider: anthropic
default_model: claude-3-sonnet-20240229

6.3 MCP Server 配置

要将 OpenWork 作为 MCP Server 供其他工具调用:

# 启动 MCP Server 模式
openwork --mcp-server --port 3000

在其他工具(如 Claude Code)中配置:

{
  "mcpServers": {
    "openwork": {
      "url": "http://localhost:3000/mcp",
      "transport": "http"
    }
  }
}

6.4 工作区配置

在项目根目录创建 .openwork.yaml

# .openwork.yaml
workspace:
  root: .
  ignore:
    - node_modules/
    - dist/
    - .git/
    - "*.log"
  
  skills:
    - code-review
    - test-gen
  
  approval_rules:
    - action: write_file
      pattern: "src/**/*"
      auto_approve: false
    
    - action: execute_command
      pattern: "npm run *"
      auto_approve: true  # 信任 npm 脚本

七、性能优化与生产实践

7.1 上下文窗口管理

AI Agent 的一个核心挑战是「上下文窗口限制」。GPT-4 Turbo 有 128k tokens,Claude 3 有 200k tokens,但即使是最大的窗口,也无法一次性加载整个代码库。

OpenWork 采用智能上下文管理策略:

class ContextManager {
  private window: TokenWindow;
  private retriever: VectorRetriever;
  
  async buildContext(query: string, files: string[]): Promise<string> {
    // 1. 提取关键词
    const keywords = await this.extractKeywords(query);
    
    // 2. 向量检索相关文件
    const relevantFiles = await this.retirever.search(keywords, {
      topK: 10,
      threshold: 0.7
    });
    
    // 3. 智能裁剪
    let context = '';
    for (const file of relevantFiles) {
      const content = await this.readFile(file);
      const tokens = this.countTokens(content);
      
      if (this.window.remaining() >= tokens) {
        context += `\n\n// File: ${file}\n${content}`;
        this.window.use(tokens);
      } else {
        // 截断到窗口剩余空间
        const truncated = this.truncate(content, this.window.remaining());
        context += `\n\n// File: ${file} (truncated)\n${truncated}`;
        break;
      }
    }
    
    return context;
  }
}

关键优化

  1. 向量检索:只加载与当前任务相关的文件
  2. 优先级队列:核心文件(如入口文件)优先加载
  3. 增量更新:对话过程中动态调整上下文

7.2 响应流式输出

OpenWork 支持流式输出,让 AI 的响应「即时呈现」:

// 流式响应处理
async function* streamResponse(prompt: string): AsyncGenerator<string> {
  const stream = await openai.chat.completions.create({
    model: 'gpt-4-turbo',
    messages: [{ role: 'user', content: prompt }],
    stream: true
  });
  
  for await (const chunk of stream) {
    const delta = chunk.choices[0]?.delta?.content || '';
    if (delta) {
      yield delta;
    }
  }
}

// 在 UI 中渲染
for await (const text of streamResponse(prompt)) {
  appendToChat(text);
}

这避免了「等待 10 秒后突然出现长文本」的糟糕体验。

7.3 多模型路由策略

OpenWork 可以根据任务类型自动选择最合适的模型:

const routingRules = {
  // 代码生成 → DeepSeek Coder
  'code_generation': {
    provider: 'deepseek',
    model: 'deepseek-coder',
    reason: '代码专用模型,性能更优'
  },
  
  // 复杂推理 → Claude 3 Opus
  'complex_reasoning': {
    provider: 'anthropic',
    model: 'claude-3-opus-20240229',
    reason: '最强推理能力'
  },
  
  // 快速响应 → GPT-3.5
  'quick_chat': {
    provider: 'openai',
    model: 'gpt-3.5-turbo',
    reason: '响应速度快,成本低'
  }
};

function routeTask(taskType: string): ModelConfig {
  return routingRules[taskType] || {
    provider: config.default_provider,
    model: config.default_model,
    reason: '默认配置'
  };
}

八、与企业级方案的对比

8.1 OpenWork vs Claude Cowork

特性OpenWorkClaude Cowork
开源✅ MIT 核心协议❌ 闭源
部署方式本地运行云端 SaaS
数据隐私数据在本地数据在 Anthropic 服务器
费用API 调用费(按量付费)订阅制($20/月)
可定制性高(源码可改)低(功能固定)
模型选择多模型支持仅 Claude 系列
MCP 支持原生支持部分支持
企业版FSL 协议企业定制

8.2 OpenWork vs Cursor

特性OpenWorkCursor
定位AI Agent 工作台AI 代码编辑器
核心功能多工具协作、工作流编排代码补全、重构
执行能力可执行系统命令仅代码编辑
权限审批内置审批系统
MCP 支持原生支持不支持
学习曲线中等

8.3 适用场景

选择 OpenWork,如果你

  • 需要一个可以执行复杂任务(不仅仅是写代码)的 AI 助手
  • 关心数据隐私,希望数据留在本地
  • 希望跨工具复用 AI 工作流
  • 有定制化需求,希望修改源码

选择 Claude Cowork,如果你

  • 不想自己部署,希望开箱即用
  • 不介意数据存储在云端
  • 只使用 Claude 系列模型
  • 预算充足,可以支付订阅费

九、15 条生产踩坑清单

9.1 配置篇

  1. API Key 泄露风险:永远不要在 config.yaml 中硬编码 API Key,使用环境变量:

    apiKey: ${OPENAI_API_KEY}
    
  2. 模型限流问题:为每个 provider 配置重试策略:

    providers:
      openai:
        retry:
          maxAttempts: 3
          backoff: exponential
    
  3. 代理配置:如果你在国内,记得配置 HTTP 代理:

    network:
      proxy: http://127.0.0.1:7890
    

9.2 使用篇

  1. 上下文溢出:不要试图一次性加载整个代码库,使用 .openwork.yamlignore 字段过滤无关文件。

  2. 审批疲劳:对于可信操作,配置 auto_approve: true,减少审批频率。

  3. 技能冲突:多个技能可能有相同的触发词,在 skill.json 中明确优先级:

    { "priority": 10 }  // 数值越大越优先
    
  4. 命令注入攻击:永远不要让 AI 执行包含用户输入的命令,使用参数化方式:

    // ❌ 危险
    exec(`git commit -m "${userMessage}"`);
    
    // ✅ 安全
    exec('git', ['commit', '-m', userMessage]);
    

9.3 部署篇

  1. 资源占用:Electron 应用内存占用较高,建议至少 8GB RAM。

  2. 日志管理:开启调试日志便于排查问题:

    logging:
      level: debug
      file: ~/.openwork/logs/app.log
    
  3. 备份策略:定期备份 .openwork/ 文件夹,包含配置和会话历史。

  4. 多用户环境:每个用户应该有独立的 config.yaml,避免配置冲突。

9.4 性能篇

  1. 向量索引:首次打开大型项目时,OpenWork 会构建向量索引,可能耗时几分钟。建议提前构建:

    openwork --index-only /path/to/project
    
  2. 模型切换延迟:切换不同 provider 时,首次请求会有冷启动延迟,预热一下:

    openwork --warmup --provider anthropic
    
  3. 并发限制:不要同时打开过多 OpenWork 实例,会导致 API 限流。

  4. 缓存清理:定期清理缓存目录:

    rm -rf ~/.openwork/cache/*
    

十、未来展望:AI Agent 工作台的演进方向

10.1 多 Agent 协作

未来的 OpenWork 将支持多个 AI Agent 协同工作:

  • 规划 Agent:负责任务分解和调度
  • 执行 Agent:负责具体操作(写代码、跑测试)
  • 审查 Agent:负责结果验证

这种分工协作模式可以大幅提升复杂任务的成功率。

10.2 更强的沙箱隔离

当前的命令执行沙箱仍有一定风险,未来可能引入:

  • WebAssembly 沙箱:AI 生成的代码在 WASM 虚拟机中运行,完全隔离
  • 容器化执行:每个任务在独立的 Docker 容器中执行

10.3 企业级特性

企业版 OpenWork 可能包含:

  • 团队协作:共享技能库、工作流模板
  • 审计日志:完整的操作记录,满足合规要求
  • 权限管理:细粒度的 RBAC 控制

总结

OpenWork 代表了 AI Agent 工作台的一个重要演进方向:从订阅制 SaaS 转向开源+本地。它通过以下核心特性,为开发者提供了真正可控、可定制的 AI 助手:

  1. MCP 协议原生支持:打破工具孤岛,实现跨工具工作流共享
  2. 可视化执行时间轴:让 AI 的每一步操作都可追溯
  3. 人在回路审批系统:高风险操作必须经过用户批准
  4. 技能插件系统:可插拔的能力扩展机制
  5. 多模型路由:根据任务自动选择最优模型

如果你厌倦了订阅制、关心数据隐私、希望真正掌控你的 AI 工具,OpenWork 是一个值得深入探索的选择。

「我花了 48 小时做出了 OpenWork,因为我相信 AI 工具不应该被少数公司垄断。」—— Ben Shafii, OpenWork 创始人


参考资源


本文撰写于 2026 年 8 月 13 日,基于 OpenWork v1.2.0 版本。开源项目迭代迅速,部分细节可能已更新,请以官方文档为准。

推荐文章

Paperclip:全AI运作的公司框架
2026-05-18 14:24:25 +0800 CST
用 Rust 构建一个 WebSocket 服务器
2024-11-19 10:08:22 +0800 CST
php curl并发代码
2024-11-18 01:45:03 +0800 CST
程序员茄子在线接单