OpenClaw → Manus 改造可行性分析报告
日期: 2026-04-30
分析人: 托尼 🦾
源码版本: OpenClaw v2026.4.27
源码位置: /home/jay/openclaw-source (shallow clone from github.com/openclaw/openclaw)
一、背景
Manus 是一个自主 AI Agent 平台,用户通过浏览器界面下达任务,Agent 自主规划、执行、迭代完成复杂工作,全程可视化。核心特征:
1. 自主 Agent 循环 — 接收任务 → 规划 → 执行 → 审查 → 迭代
2. 可视化工作区 — Web 界面实时展示 Agent 的操作(浏览器、终端、代码编辑器三栏布局)
3. 任务分解 — 子任务规划和进度追踪
4. 多工具编排 — 浏览器、沙箱执行、文件操作等协同
5. Web UI 作为唯一交互界面
本报告分析 OpenClaw 改造为 Manus 风格自主 Agent 系统的可行性。
二、OpenClaw 现有能力评估
OpenClaw 是一个多通道 AI Gateway,TypeScript 实现,17000+ 文件,核心 agent 系统约 58555 行代码。
2.1 架构概览
┌─────────────────────────────────────────────────┐
│ Gateway (daemon) │
│ WebSocket Server (127.0.0.1:18789) │
├─────────────────────────────────────────────────┤
│ Channels │ Plugins │ Agents │ Tools │ Cron │
│ Telegram │ Memory │ Runner │ Exec │ Jobs │
│ Discord │ Skills │ SubAgt │Browser│ Wake │
│ WhatsApp │ Canvas │ Stream │ Files │ │
│ Slack │ Browser │ Compct │ Search│ │
└─────────────────────────────────────────────────┘
2.2 自主 Agent 能力(已具备 ✅)
| 能力 | 状态 | 说明 |
|---|---|---|
| **Agent 循环** | ✅ 完整 | `run.ts` (2557 行) — 接收消息 → 模型推理 → 工具调用 → 流式输出 → 完成 |
| **子 Agent 系统** | ✅ 完整 | 嵌套子 Agent、生命周期管理、结果自动回传 |
| **实时流式输出** | ✅ 完整 | `pi-embedded-subscribe.ts` (1042 行) — WebSocket 实时推送 |
| **工具生态** | ✅ 30+ | exec(bash/pty)、browser(Playwright)、read/write、web_search、web_fetch、message、canvas、cron、process、sessions_spawn、image、pdf、memory 等 |
| **多模型** | ✅ 20+ | OpenAI、Anthropic、GLM、DeepSeek、Kimi、Moonshot、MiniMax 等,支持 failover/fallback |
| **沙箱** | ✅ Docker | Docker sandbox 隔离执行 |
| **Context 管理** | ✅ 先进 | lossless-claw (DAG 压缩) + active-memory (语义记忆) |
| **插件系统** | ✅ 完整 | npm 分发 + 本地加载,支持 code/bundle 两种风格 |
| **定时任务** | ✅ Cron | 支持 at/every/cron 三种调度 |
| **Canvas Host** | ✅ 可用 | Agent 可动态编辑的 HTML/CSS/JS 运行环境 |
2.3 关键模块
| 模块 | 文件 | 行数 | 功能 |
|---|---|---|---|
| Agent Runner | `pi-embedded-runner/run.ts` | 2557 | 核心 agent 循环 |
| Agent Subscribe | `pi-embedded-subscribe.ts` | 1042 | 流式输出订阅 |
| Agent Tools | `pi-tools.ts` | — | 工具注册和策略 |
| Subagent | `subagent-registry.ts` | — | 子 Agent 管理 |
| Subagent Spawn | `subagent-spawn.ts` | — | Agent 派生 |
| Browser Tools | `browser/` | — | Playwright 浏览器自动化 |
| Exec Tools | `bash-tools.ts` | — | Shell 执行 (bash/pty) |
| Canvas Host | `canvas-host/` | — | Agent 可编辑 HTML 表面 |
| Web | `web/` | 2 files | Web 层(轻量) |
三、Manus 与 OpenClaw 差距分析
3.1 OpenClaw 已经具备的 Manus 能力
- ✅ 自主 Agent 循环:完整的「接收指令 → 调用工具 → 产出结果 → 迭代」流程
- ✅ 工具生态:浏览器自动化、shell 执行、文件操作、网页搜索/抓取、图像/视频生成
- ✅ 子 Agent 编排:一个 Agent 可以派生多个子 Agent 协同工作
- ✅ 实时 WebSocket 推送:执行过程可以通过 WebSocket 实时流式展示
- ✅ 沙箱隔离:Docker 沙箱支持安全执行
- ✅ Canvas:Agent 可动态生成和操作 Web 界面
3.2 关键差距
| 差距 | 严重度 | 说明 | 实现难度 |
|---|---|---|---|
| **任务规划可视化** | 高 | Manus 展示子任务分解树和进度条;OpenClaw Agent 自主规划但无视觉呈现 | ⭐⭐ 中 |
| **Agent 工作区 UI** | 高 | Manus 的浏览器/终端/编辑器三栏实时展示;OpenClaw 只有聊天式界面 | ⭐⭐⭐ 中-高 |
| **独立 Web 应用** | 高 | Manus 是完整 Web App;OpenClaw 的 WebChat 只是聊天界面 | ⭐⭐ 中 |
| **任务历史回顾** | 中 | 可视化展示已完成任务的执行过程和产出物 | ⭐ 低 |
| **人机协作断点** | 中 | Manus 支持"暂停 → 人工介入 → 继续";OpenClaw 的会话管理可间接实现 | ⭐⭐ 中 |
| **浏览器沙箱集成** | 低 | Manus 的 Agent 可在隔离浏览器中操作;OpenClaw 已有 browser 工具 | ⭐ 低(已有基础) |
四、改造路径
方案 A:基于 Canvas Host 快速原型 🔥 推荐先做
原理:OpenClaw 已有 /__openclaw__/canvas/ — Agent 可动态编辑的 HTML 表面。在这个表面上构建 Manus 风格工作区 SPA。
架构:
┌──────────────────────────────────────────────────┐
│ 🟢 OpenClaw Agent 工作区 任务: 分析特斯拉财报│
├────────────┬──────────────┬──────────────────────┤
│ 📋 任务规划 │ 🌐 浏览器 │ 💻 终端/编辑器 │
│ │ │ │
│ ✅ 搜索财报 │ [渲染网页] │ $ python3 calc.py │
│ ⏳ 分析数据 │ │ Revenue: +12% │
│ ⬜ 生成PPT │ │ Gross: +8% │
│ ⬜ 导出 │ │ │
│ │ │ │
├────────────┴──────────────┴──────────────────────┤
│ 💬 Chat > 帮我分析特斯拉Q1财报 │
└──────────────────────────────────────────────────┘
技术栈:
- 纯 HTML/CSS/JS(无需 React/Vue,保持轻量)
- WebSocket 对接 Gateway 实时流
- Agent 通过 Canvas API 动态更新 UI
- 通过 iframe 嵌入浏览器视图
工作量估算:原型 2-3 天 | MVP 1 周
优势:零基础设施、直接复用现有 Agent 能力、快速验证
局限:Canvas 单页面有限,复杂交互需额外开发
方案 B:独立 Web 应用 + OpenClaw Gateway API
原理:独立 React/Vue SPA 应用,通过 OpenClaw WebSocket API 驱动 Agent,Web 应用独立部署。
架构:
┌─────────────┐ WebSocket ┌─────────────────┐
│ Web App │ ◄──────────────► │ OpenClaw Gateway │
│ (独立部署) │ agent/run │ (127.0.0.1:18789)│
│ │ events │ │
│ React SPA │ │ Agent Runner │
│ - Planning │ │ - Exec │
│ - Browser │ │ - Browser │
│ - Terminal │ │ - Search │
│ - Chat │ │ - Files │
└─────────────┘ └──────────────────┘
技术栈:
- 前端:React/Vue + TailwindCSS + Monaco Editor + xterm.js
- 通信:WebSocket 直连 Gateway
- Agent:通过 Gateway API 创建/管理 Agent Session
- 部署:独立 Cloudflare Pages / Vercel
工作量估算:MVP 1-2 周 | 完整版 3-4 周
优势:功能完整、可用性强、独立扩展
劣势:开发量大、需独立维护
方案 C:OpenClaw 插件
原理:利用 OpenClaw 插件系统(Bundle 或 Code Plugin),在插件中提供 Manus 风格的增强功能。
可行内容:
- 插件注入自定义 System Prompt(增强 Agent 的任务规划意识)
- 注册自定义 Tools(任务分解、进度追踪)
- 提供 Skill 文件(Manus 风格的 Agent 行为引导)
局限:插件 API 对 Web UI 层面的支持有限,主要是功能增强而非 UI 改造
五、推荐执行路径
第一阶段:Canvas 原型验证(2-3 天)
Day 1: 搭建三栏布局 HTML + WebSocket 对接 Gateway
Day 2: 实现 Agent 会话管理、任务列表、实时状态推送
Day 3: 集成 Chat 面板、基础交互测试
验证目标:
- Agent 能否实时更新 Canvas UI
- WebSocket 流的延迟和可靠性
- 用户体验是否接近 Manus
第二阶段:功能增强(1 周)
- Terminal 面板 (xterm.js 嵌入)
- Browser 面板 (iframe + Playwright 截图)
- 任务分解和进度追踪
- 文件浏览面板
第三阶段:独立应用化(2 周)
- 如果 Canvas 原型验证成功
- 抽取为独立 React 应用
- 完整的会话管理、任务历史、模板系统
- 可选部署为插件或独立服务
六、风险与建议
风险
| 风险 | 缓解 |
|---|---|
| Canvas 单页面限制 | 用 JS 路由模拟多页面 |
| Gateway WebSocket 认证 | 已有 token/auth 机制 |
| Agent 上下文长度 | lossless-claw DAG 压缩已缓解 |
| 浏览器安全沙箱 | 现有 Docker sandbox 可用 |
核心建议
1. 不强求完全复刻 Manus:OpenClaw 的优势在于多通道(Telegram/Discord/WhatsApp 都能用)+ 强大的插件系统。这是 Manus 没有的
2. 先做原型验证体验:Canvas 方案 2-3 天就能出结果,比花几周做完整应用风险低
3. 保留多通道优势:Web UI 只是新增入口,不是替代现有通道
4. 插件化发布:原型成熟后可打包为 OpenClaw 插件(bundle),社区可用
七、结论
OpenClaw 本质上已经是一个 Manus 级别的 Agent 框架。 它的 Agent 循环、工具系统、子 Agent 编排、沙箱执行等核心能力完全具备。最大的差距不是能力,而是呈现方式——缺少一个可视化的工作区界面。
通过 Canvas Host 快速搭建原型是最优路径:投入小(2-3 天)、风险低、可以直接验证核心体验。验证通过后再决定是否投入更多资源做独立应用。
可行性评级:⭐⭐⭐⭐⭐ (5/5)
OpenClaw 的插件架构和 Agent 系统为这种改造提供了理想的基础。这不是「从零造轮子」,而是「给已有的强大引擎装上一个仪表盘」。
报告基于 OpenClaw v2026.4.27 源码分析(github.com/openclaw/openclaw)
仓库规模:17000+ 文件,7586 TS/TSX 文件,~58K 行 Agent 核心代码