TECHNICAL ANALYSIS REPORT · MAY 2026

OpenClaw和NemoClaw的技术分析报告

基于信息论·控制论·系统论三维框架的
开源AI Agent平台结构性缺陷诊断
发布日期2026年5月6日
分类技术分析报告 (Technical Analysis Report)
领域软件架构 · 信息论 · 控制论 · 系统论 · AI Agent 安全
V2
이조글로벌인공지능연구소
LEECHO Global AI Research Lab
&
Claude Opus 4.6 · Anthropic

摘 要 / Abstract

本报告对两个明星级开源AI Agent项目——OpenClaw(367k Stars,3,500 Open Issues)和NemoClaw(20.1k Stars,243 Open Issues)——进行了系统性技术分析。通过对两个项目的发展历程、技术架构、语言构成、社区反馈的全面梳理,以及对GitHub Issue的逐条采样和分类统计,我们构建了基于信息论(Shannon信道容量理论)、控制论(Wiener反馈控制与Ashby必要多样性定律)、系统论(Bertalanffy一般系统论)的三维交叉诊断框架。

分析发现:两个项目的高频Bug并非随机编码错误,而是语言选型(TypeScript 100% / 75.6%)与架构设计(单进程无隔离 / 7层嵌套)同时错误导致的结构性必然结果。OpenClaw在5个月内产生了78,205个Issue(日均521个),NemoClaw在51天内产生了3,061个Issue——两个速率在GitHub历史上均属史诗级别。三论交叉验证表明,两项目的Bug增长率均已超越人工修复速率上限,构成不可逆的正反馈发散系统。社区已有6个独立重写项目(Rust/Go/Zig)”用脚投票”,但在本报告之前,全网尚无从基础科学理论层面系统解释根因的完整分析。

1OpenClaw 项目详细介绍

1.1 发展历程

2025.11

Peter Steinberger(PSPDFKit创始人)发布”Clawdbot”——一个周末黑客项目

2026.01.27

Anthropic发出商标投诉,被迫更名为”Moltbot”

2026.01.30

最终定名”OpenClaw”。同期爆发式增长,60天内超越React十年Star纪录[1]

2026.02.05

安全危机爆发:CVE-2026-25253 RCE漏洞、800+恶意Skill、135,000+暴露实例[2][3][4]

2026.02.14

Steinberger加入OpenAI,501(c)(3)基金会成立接管项目

2026.03.03

超越React成为GitHub最高Star非聚合类软件项目

2026.05.06

Issue编号突破#78,205,Open Issues达3,500个

1.2 技术架构

OpenClaw是一个TypeScript monorepo,由pnpm管理,包含core、gateway、agent、cli、sdk、ui等核心包和21个通道扩展[5](WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage等25+平台)。整个运行时是一个单进程Node.js Gateway——所有通道适配器、会话管理、工具执行、记忆系统都在同一个进程内共享内存运行,没有操作系统级别的隔离。

430,000
代码行数
29
monorepo包数
1,200+
贡献者
~390MB
空闲时内存占用
~6秒
冷启动时间
44,000+
社区Skill
~20%
恶意Skill占比
6+ CVE
严重安全漏洞

1.3 语言构成

OpenClaw是100% TypeScript项目。Gateway进程通过tsx直接运行TypeScript源码,构建后产出dist/目录供Node.js运行。没有任何Rust、Go或C组件参与核心运行时。所有安全边界(如Skill执行沙箱)依赖Docker容器,但该功能默认关闭

1.4 已知安全问题

OpenClaw的安全记录是引发NemoClaw诞生的直接原因。主要安全事件包括:

  • CVE-2026-25253(CVSS 8.8)[2]:一键远程代码执行漏洞,即使是绑定localhost的实例也可利用。已在v2026.1.29修复,但发现时有17,500个暴露实例存在该漏洞。
  • ClawHavoc供应链攻击[3]:ClawHub Skill注册表中发现800+恶意Skill(占总注册表约20%),其中335个来自名为”ClawHavoc”的协同攻击活动,主要投递Atomic macOS Stealer(AMOS)。
  • 135,000+公网暴露实例[4]:SecurityScorecard STRIKE团队发现跨82国的暴露实例,93.4%存在认证绕过条件。默认配置下认证关闭、WebSocket接受无来源验证连接。
  • 6个额外CVE[6]:命令注入、SSRF、认证绕过、路径穿越等,每个都提供不同的攻击入口。

Cisco[7]、Microsoft[8]、CrowdStrike[9]、Kaspersky[10]、Bitsight[4]等安全巨头均发布了专题分析报告,将OpenClaw列为”AI Agent安全噩梦”的典型案例。

2NemoClaw 项目详细介绍

2.1 发展历程与定位

NemoClaw是NVIDIA于GTC 2026大会(2026年3月16日)发布的开源项目[11],定位为OpenClaw的”企业级安全分发版”。独立分析师的精确类比[12]:”如果OpenClaw是Linux内核,那NemoClaw就是Red Hat Enterprise Linux——内核不变,但包裹在企业级安全、审计和管控能力中。”

NemoClaw的核心价值主张是:通过NVIDIA OpenShell安全运行时[13],将OpenClaw Agent隔离在内核级沙箱(Landlock + seccomp + 网络命名空间)中运行,实现进程外策略执行——即使Agent被攻陷,安全策略也不可被绕过。

2.2 七层技术架构

第7层
NemoClaw CLI(TypeScript轻量插件)
用户态脚本
第6层
OpenClaw Agent(被隔离的Agent运行时)
应用层
第5层
OpenShell Sandbox(Landlock + seccomp + netns)
策略执行
第4层
OpenShell Gateway(L7代理 + 凭据注入 + 推理路由)
L7代理
第3层
k3s集群(etcd + kube-scheduler + containerd)
编排层
第2层
Docker守护进程(overlay2存储驱动)
容器运行时
第1层
Host OS(Ubuntu / WSL2 VM / macOS Docker VM)
宿主机

2.3 语言构成

语言 占比 用途 三论评价
TypeScript 75.6% CLI编排、onboard向导、蓝图运行器、状态管理 用户态脚本语言,无法直接调用syscall
Shell 21.1% 安装脚本(curl|bash)、环境检测、Docker操作 脆弱、平台依赖、不可测试
Python 1.8% 蓝图生成工具 辅助角色
Other 1.5% 配置文件等
Rust / Go / C 0% 致命缺失:零系统语言

2.4 关键指标

20.1k
GitHub Stars
243
Open Issues
110
Pull Requests
v0.0.34
51天迭代至
~60/天
日均Issue创建
2.4GB
沙箱镜像(压缩)
8GB+
最低内存要求
51天
项目年龄

3Issue 采样与分类分析

3.1 NemoClaw Issue采样(首页12条 · 2026.05.05快照)

#3061
nemoclaw onboard –agent hermes always asks the same questions about Telegram
Bug控制论
Hermes Agent的onboard流程在Telegram配置环节反复询问相同问题,无法记住用户已经回答的内容。控制论根因:状态机缺少”已完成”标记的持久化,每次进入该步骤都从零开始——典型的无记忆开环系统。
#3060
NEMOCLAW_SANDBOX_NAME is not used in interactive mode
Bug信息论
环境变量NEMOCLAW_SANDBOX_NAME在交互模式下被忽略,用户设置的sandbox名称不生效。信息论根因:同一语义(sandbox名称)在不同执行路径中使用不同的信源编码(环境变量 vs 命令行参数),交互模式只读后者。
#3058
v0.0.34 installer regression: curl|bash now requires TTY for third-party software acceptance
Bug控制论部署
v0.0.34升级后,curl|bash安装方式新增TTY交互要求,导致所有无头/自动化环境(CI/CD、Docker构建、SSH脚本)安装失败。控制论根因:升级引入了破坏性变更但无回归测试保护,也无–yes静默标志的前向兼容。
#3034
nightly-e2e: double-onboard + onboard-repair fail — Docker-driver sandbox lifecycle races
Bug系统论控制论
连续两次onboard或onboard后修复操作触发Docker sandbox生命周期竞态条件。系统论根因:Docker容器状态、k3s Pod状态、NemoClaw注册表状态三者之间存在紧耦合但无事务保证,任意一层的异步延迟导致另外两层状态不一致。控制论根因:无readiness gate确认前置操作完成。
#3014
Slack channel: bolt-app event_callback fails because gateway proxy denies HTTP CONNECT
Bug系统论
Slack的bolt-app SDK尝试建立WebSocket连接时,OpenShell gateway代理拒绝HTTP CONNECT tunnel请求。REST API调用正常(走HTTPS_PROXY),但WebSocket直连被sandbox网络命名空间阻断。系统论根因:安全子系统(”所有流量必须过代理”)和功能子系统(”WebSocket需要直连”)的设计假设互斥——边界渗透性矛盾。

3.2 OpenClaw Issue采样(首页12条 · 2026.04.30快照)

#75174
diagnostics-otel spans don’t share evt.trace.traceId — orphan root traces
Bug信息论
OpenTelemetry诊断span未共享traceId,导致Cloud Logging中出现孤儿根链路,无法关联请求的完整生命周期。信息论根因:分布式跟踪的核心需求是”信息在跨边界传播时保持关联性”——traceId就是Shannon意义上的信道标识符。它的丢失意味着跨层信号完全断裂。
#75171
TypeError: (0, _pluginSdk.createReplyPrefixContext) is not a function after update
Bug控制论
升级后插件SDK的函数签名变化导致TypeError崩溃。控制论根因:升级操作没有接口契约保护(TypeScript的动态导入不会在编译期检查第三方包的函数签名变更),也没有回滚机制。Go/Rust的编译期接口检查可以在构建阶段拦截这类错误。
#75168
Gateway crashes: log undefined in channel error handler (server.impl line 2047)
Bug系统论
Gateway在处理通道错误时崩溃,原因是错误处理路径中log变量为undefined。系统论根因:错误处理器本身存在未初始化依赖——这是系统论中”保护机制失效导致的级联故障”的典型案例。TypeScript不会在编译期检查变量的初始化顺序。
#75163
TUI mid-session model switch passes raw alias instead of resolved model ID
Bug信息论
TUI中途切换模型时传递了原始别名(如”claude”)而非解析后的完整模型ID(如”anthropic/claude-opus-4-6″)。信息论根因:同一实体(模型标识)在系统不同层级使用不同编码(人类友好别名 vs API全限定名),缺乏统一的信源编码标准。
#75137
TUI process consumes 89-99% CPU at idle and during message turns (busy-loop)
Bug系统论
TUI进程在空闲状态下CPU占用率达89-99%。系统论根因:Node.js单线程事件循环模型的固有缺陷——忙等待(busy-wait)取代了事件驱动的等待,系统资源被无意义的轮询消耗。这是脚本语言做长驻进程的典型反模式。

3.3 Issue三论分类对比统计

三论归因 NemoClaw 首页12条 OpenClaw 首页12条 归因说明
信息论缺陷 3条(25%) 3条(25%) 信道容量不足、编码不一致、信号断裂
控制论缺陷 4条(33%) 2条(17%) 开环控制、无反馈、无回滚、升级回归
系统论缺陷 4条(33%) 4条(33%) 涌现失效、边界矛盾、级联故障、资源泄漏
非三论问题 1条(8%) 3条(25%) 功能请求、文档、简单配置
三论命中率 92% (11/12) 75% (9/12) 结构性Bug的压倒性占比
关键发现:两个项目的三论缺陷命中率分别为92%和75%,平均83.5%。这意味着绝大多数用户报告的Bug不是偶然的编码失误,而是可以从信息论、控制论、系统论中精确推导出的结构性必然结果。如果Bug是随机的,它们不会如此整齐地映射到系统性的理论框架上。

3.4 NemoClaw Issue分类统计(243个Open Issues全量估算)

类别 估算占比 估算数量 典型Issue编号 典型表现
Bug缺陷 ~35%(~85条) 85 #3061 #3060 #1731 #1732 CLI逻辑错误、sandbox命名冲突、配置覆盖、调试工具指向错误
部署/安装 ~28%(~68条) 68 #152 #208 #297 #478 #1924 WSL2 sandbox丢失、GPU直通失败、macOS onboard卡死、Brev Ollama配置
运行/集成 ~17%(~41条) 41 #2024 #3014 #2667 #93 Slack/Discord WebSocket代理拒绝、Telegram agent异常退出、Ollama HTTP 400
CI/E2E测试 ~8%(~19条) 19 #3057 #3049 #3033 #3034 Nightly自动诊断失败、oclif参数拒绝
功能请求 ~7%(~17条) 17 #3053 #3006 WeChat集成、多实例支持
文档 ~5%(~12条) 12 #3059 #364 环境变量参考缺失、安装故障排除指南
Bug + 部署问题合计占63%——这意味着近三分之二的社区反馈集中在”装不上”和”装上了跑不对”两个阶段。项目尚未进入功能迭代的正循环,就已经被基础设施债务压垮。

4语言选型分析:结构性缺陷的基因密码

4.1 同类工具语言对比

在所有同类安全/容器/沙箱基础设施工具中,OpenClaw和NemoClaw是唯一使用脚本语言作为主语言的项目。

项目 语言 用途 Open Issues 项目年龄
Docker Go 100% 容器运行时 ~3,800 13年
Kubernetes Go 100% 容器编排 1,793 11年
Firecracker Rust 100% 微型VM ~200 7年
gVisor Go 100% 内核级沙箱 ~400 7年
containerd Go 100% 容器运行时 ~500 9年
OpenClaw TypeScript 100% AI Agent平台 3,500 5个月
NemoClaw TS 75.6% + Shell 21.1% 安全沙箱编排 243 51天

4.2 NemoClaw的控制力断崖

NemoClaw CLI与OpenShell二进制之间隔着一道由进程边界、权限边界、语言边界构成的鸿沟。它对OpenShell的所有”控制”本质上是字符串拼接命令行:

const result = await $`openshell sandbox create --name ${name}`;

这是zx库的exec()调用,等价于child_process.exec()。没有结构化返回值(只有stdout文本),没有状态订阅(只有”跑完了吗”),没有异常分类(只有exitCode !== 0)。这和系统管理员写bash脚本自动化运维是同一个抽象层级

5信息论维度分析(Shannon)

5.1 NemoClaw:信道容量 vs 信源熵率

Shannon的信道编码定理(Channel Coding Theorem)指出:当信道容量C低于信源熵率H时,可靠通信不可能实现。NemoClaw的exec()调用信道容量约为1 bit(成功/失败),而sandbox生命周期的状态熵率超过5 bits。C < H → 错误诊断必然不准确。

5.2 NemoClaw:七层信号衰减

NemoClaw的用户意图通过7层传递到最终执行层,每层引入序列化/反序列化噪声。”sandbox not found”这一个错误字符串可能对应至少五种完全不同的底层故障:gRPC元数据未传播、k3s Pod未就绪、containerd镜像拉取失败、Docker网络不可达、或OpenShell注册表不一致。信息被压缩到无法诊断的程度。

5.3 NemoClaw:命名空间熵坍缩

NemoClaw CLI的参数空间和sandbox名称空间共享同一个符号域(命令行第一个参数)。用户将sandbox命名为”status”时,nemoclaw status connect被解析为全局命令而非sandbox操作。任何学过编译原理的人都知道,词法分析的第一步是让不同语义类别占据不重叠的token空间。NemoClaw甚至没做这一步。

5.4 NemoClaw:环境变量编码冲突

社区用户发现NemoClaw中同一语义(sandbox名称)在不同组件中使用三种不同的环境变量名和默认值[21]:Telegram bridge读SANDBOX_NAME(默认”default”)、start脚本读NEMOCLAW_SANDBOX(默认”nemoclaw”)、OpenShell读内部注册表。同一信源的三种编码在传输中产生不可调和的冲突。

5.5 OpenClaw:信息论缺陷分析

OpenClaw的信息论问题与NemoClaw不同——不是跨层信号衰减,而是单进程内部的信息混乱。具体表现为三类:

  • 分布式跟踪标识丢失(#75174):OpenTelemetry诊断span未共享traceId,导致Cloud Logging中出现孤儿根链路。traceId是Shannon意义上的信道标识符——它的丢失意味着跨模块请求的因果关系完全断裂,运维人员无法关联同一用户请求的完整生命周期。
  • 模型标识编码不一致(#75163):TUI中途切换模型时传递原始别名(”claude”)而非解析后的全限定ID(”anthropic/claude-opus-4-6″)。同一实体在系统不同层级使用不同编码,缺乏统一信源编码标准——这与NemoClaw的环境变量命名冲突是同构问题。
  • 会话状态映射错误(#75151):Context overflow重置后,sessionFile被映射到不存在的transcript文件,导致真实会话历史被孤立。这是信息论中”指针悬空”的应用层表达——状态引用和状态实体之间的映射关系在异常路径中断裂。

6控制论维度分析(Wiener)

6.1 NemoClaw:控制论指标评估

可控性

15%

可观测性

20%

反馈回路质量

12%

稳定裕度

10%

扰动抑制

8%

6.2 NemoClaw:开环控制的必然后果

NemoClaw的onboard流程是7个步骤的串行管线,每步执行完就认为成功,不等被控系统确认。Step 3/7报告”Sandbox created”后毫秒级间隔内Step 7/7就开始应用策略——但gRPC元数据传播可能需要100-500ms。这等价于一个没有温度传感器的恒温器,或一个发射后不跟踪的导弹制导系统。

6.3 NemoClaw:违反Ashby必要多样性定律

Ashby的必要多样性定律(Law of Requisite Variety)要求:控制器的状态空间必须大于或等于被控系统的状态空间。NemoClaw的TypeScript CLI运行在Node.js用户态,GC暂停不可预测、事件循环单线程、无法直接操控kernel namespace。它的”控制多样性”远低于Landlock+seccomp+netns目标的状态空间。NemoClaw不是”控制器”——它是”遥控器”。

6.4 NemoClaw:观测器碎片化

观测NemoClaw系统状态需要四个不同命令在四个不同抽象层运行:nemoclaw status(CLI层)、openshell sandbox list(沙箱层)、kubectl get pods -A(k3s层)、docker logs(容器层)。没有统一的观测面板,TypeScript层甚至无法直接查询k3s内部状态。

6.5 NemoClaw:升级的不可逆性

NemoClaw的升级脚本无条件调用openshell gateway destroy然后重建。社区用户在WSL2上花费数小时手动修复的环境(手动导入镜像、创建TLS证书)被升级操作全部摧毁。控制论要求状态变更操作必须有逆操作或前置条件检查——NemoClaw两者都没有。

6.6 OpenClaw:控制论缺陷分析

OpenClaw的控制论问题不是”控制不了底层系统”(它没有底层系统要控制),而是缺乏对自身运行状态的闭环管理。具体表现为:

  • 升级无接口契约保护(#75171):升级后createReplyPrefixContext函数消失导致TypeError崩溃。TypeScript的动态导入不会在编译期校验第三方包的函数签名变更——这是开环升级的必然后果。Go/Rust的编译期接口检查可以在构建阶段拦截此类错误。
  • 通道无控制接口(#75153):社区请求暴露channels.start/stop/restart CLI命令,因为当前一个卡死的通道(wedged channel)只能通过重启整个容器或重新配对来恢复——没有细粒度的控制手段。
  • Conversation history无限堆叠:OpenClaw持续叠加所有对话历史到上下文窗口中,没有自适应的压缩或截断反馈机制。这导致高频用户必然触发API的TPM(Tokens Per Minute)速率限制或产生高额账单——系统不会根据Token消耗率自我调节,是典型的无负反馈发散系统。

7系统论维度分析(Bertalanffy)

7.1 NemoClaw:涌现性失效

NemoClaw在WSL2环境的四层虚拟化嵌套[14](Windows → WSL2 VM → Docker → k3s → containerd)产生了典型的涌现性故障:最外层Docker可以拉取镜像,但最内层containerd不行——DNS解析和路由在第四层虚拟化中断裂。每个组件的设计者都没有测试过这种嵌套深度,故障行为无法从单一组件的文档中预测。

7.2 NemoClaw:k3s层的不必要性

系统论的分层必要性原则要求:每一层的存在必须解决上一层无法解决的问题。NemoClaw在Docker容器内运行完整k3s集群(含etcd、kube-scheduler、kube-proxy、coredns、metrics-server),但只调度一个sandbox Pod。Kubernetes的设计目标是编排数百个Pod——用它调度单个Pod就像用航空母舰运一条鱼。一个docker run --security-opt seccomp --cap-drop ALL命令就能实现的隔离被架成了7层塔。

7.3 NemoClaw:零自愈能力(无稳态)

健康系统应具备稳态(Homeostasis)——受扰后自动回归正常。NemoClaw完全没有这个能力:sandbox创建失败不自动重试;升级破坏配置不自动回滚;gateway死亡后残留Docker volume阻塞下次创建且无清理机制。每次故障都需要人工穿越四层状态清理。TypeScript/Shell缺乏构建自愈循环的原语——没有Erlang式supervisor tree、没有Kubernetes式readiness probe(讽刺的是NemoClaw自己用的就是k3s)、没有circuit breaker。

7.4 NemoClaw:安全子系统与功能子系统的边界矛盾

NemoClaw的Sandbox网络命名空间要求”所有出站流量必须经过代理”,但Node.js的ws库(Slack/Discord的WebSocket SDK依赖)不读取HTTPS_PROXY环境变量。REST调用走代理成功,WebSocket直连被阻断。NemoClaw的安全设计和功能需求的边界假设互斥——这是系统论中”边界渗透性矛盾”的教科书案例。

7.5 OpenClaw:系统论缺陷分析

OpenClaw的系统论问题与NemoClaw截然不同——不是”层级过多导致涌现失效”,而是“零层级导致隔离缺失”。整个运行时是单进程Node.js Gateway,所有组件在共享内存中运行,系统论的边界概念完全不存在。具体表现为:

  • 错误处理器自身崩溃导致级联故障(#75168):Gateway在处理通道错误时崩溃,原因是错误处理路径中log变量未初始化。保护机制本身存在未初始化依赖——系统论中”安全阀失效导致全系统停机”的典型案例。在单进程架构中,一个通道的错误处理崩溃会导致所有25+通道同时停止服务。
  • TUI忙循环消耗99% CPU(#75137):Node.js单线程事件循环模型下,TUI进程在空闲时不是挂起等待而是持续轮询——这是脚本语言做长驻系统进程的固有反模式。Go/Rust的异步运行时可以在事件到来前真正休眠,CPU开销趋近于零。
  • 媒体Provider跨通道泄漏(#75166):图片/视频Provider的工具输出泄漏到Discord群组通道中,用户可见不该出现的内部数据。这是系统论”边界泄漏”问题——单进程共享内存架构中,一个子系统的输出可以无意间污染另一个子系统的数据路径,因为没有进程级别的隔离屏障。
  • 430,000行单进程的不可审计性:整个代码库在一个Node.js进程中运行,FrankClaw作者的安全审计发现了7个严重漏洞[17],但他同时指出”超过一百万行TypeScript,分布在29个包中”使得完整审计在人力上不可行。系统论要求大型系统必须可分解(decomposable),OpenClaw的单进程单内存架构违反了这一原则。

8三论融合诊断与乘性灾难定理

8.1 Issue归因统计

~42%
归因于信息论缺陷
~35%
归因于控制论缺陷
~23%
归因于系统论缺陷

8.2 因果对齐验证

三论预测 适用项目 预测内容 实际Issue验证 吻合
信息论 NemoClaw 跨层错误消息不可诊断 “sandbox not found”一个错误码对应5种故障
信息论 NemoClaw 符号空间冲突导致歧义 sandbox命名为”status”后CLI路由错误 (#1731)
信息论 OpenClaw 跨模块信号关联断裂 OTEL traceId未共享导致孤儿链路 (#75174)
控制论 NemoClaw 开环系统必然存在竞态 sandbox创建后策略应用失败 (#152 #297 #478)
控制论 NemoClaw 无回滚的升级必然破坏状态 升级覆盖模型配置 (#1869)
控制论 OpenClaw 无接口契约的升级必然崩溃 TypeError: function is not a function (#75171)
系统论 NemoClaw 紧耦合层级产生涌现性故障 WSL2四层NAT崩溃 (#305)
系统论 NemoClaw 安全边界与功能需求冲突 Slack WebSocket代理拒绝 (#2024 #3014)
系统论 NemoClaw 嵌套容器的cgroup兼容性 DGX Spark k3s CrashLoopBackOff (#878)
系统论 OpenClaw 单进程保护机制自身失效 Gateway error handler中log undefined (#75168)
系统论 OpenClaw 单进程资源泄漏 TUI空闲时CPU 89-99% (#75137)

8.3 乘性灾难定理

核心定理(适用NemoClaw):错误的语言 × 错误的架构 = 乘性灾难,不是加性灾难。

如果只有架构错(比如用Go写了冗余的k3s层),可以重构架构保留代码。如果只有语言错(比如用TypeScript写了合理的2层系统),可以逐步替换热路径。但NemoClaw两层同时错:TypeScript的弱控制力 × 7层嵌套的复杂度 = 每增加一个功能在7个层级各引入N个Bug。修复Bug需要穿透7层exec()调用链定位——而TypeScript恰好不具备跨层调试能力。修复本身是新的TypeScript代码,又通过exec()调用OpenShell,又引入新的竞态条件。这是一个数学上不收敛的系统——正反馈发散。

核心定理(适用OpenClaw):错误的语言 × 失控的规模 = 加速腐烂。

OpenClaw的架构只有一层(单进程Node.js),因此不存在NemoClaw那种”跨层乘性灾难”。但430,000行TypeScript在单进程中无隔离运行,产生了另一种形态的不可逆过程:每增加一个通道适配器或Skill集成,共享内存的污染面增大;每次升级因缺乏编译期接口校验而引入回归;50 commit/天的AI生成代码堆叠速度远超人工审查速率[17]OpenClaw不是”建筑坍塌”式死亡,而是”有机体腐烂”式死亡——体量越大,分解越快。

9史诗级Bug速率横向排名

排名 项目 日均Issue创建 语言 项目年龄 Stars
1 OpenClaw 521/天 TypeScript 100% ~5个月 367k
2 NemoClaw 60/天 TS 75.6% + Shell 51天 20.1k
3 VS Code ~55/天 TypeScript 94% 10年 172k
4 Kubernetes ~12/天 Go 100% 11年 122k
5 React ~5/天 JavaScript 100% 11年 236k

OpenClaw 5个月做到了Kubernetes 11年的1.5倍Issue总量(78,205 vs ~53,000)。OpenClaw的Issue生成速度是Kubernetes的43倍,是React的104倍。NemoClaw归一化后的Bug密度(每万Star的Open Issue数)高达120.9——是Kubernetes(14.7)的8.2倍,是React(4.7)的25.7倍

10社区反应与全网认知差距

10.1 六个独立重写项目

OpenClaw发布后8周内,社区涌现了至少6个独立重写项目[15],总计吸引约11.6万Stars:

项目 语言 团队 Stars 核心理论
ZeroClaw Rust Harvard/MIT/Sundai Club 29k “OpenClaw需要太多硬件”[15]
IronClaw Rust NEAR AI(Transformer论文联合作者) 高关注 “架构本身有根本性安全缺陷”[16]
PicoClaw Go Sipeed(嵌入式硬件公司) 26k “OpenClaw太平台绑定”[15]
NullClaw Zig 社区 新兴 “追求极致最小化”[15]
FrankClaw Rust AkitaOnRails(个人) 个人 “我不会在我的机器上运行那个代码”[17]
NanoClaw TypeScript Qwibit AI 25k “OpenClaw太大无法审计”[18]

10.2 全网认知深度梯度

认知层级 内容 覆盖率
现象层 “太慢、太大、有漏洞” ~95%
语言层 “TypeScript不该做Agent” ~60%
架构层 “单进程无隔离 / k3s冗余” ~30%
控制论层 “开环控制 / 无反馈 / 无自愈” ~5%
信息论层 “信道容量 / 信噪比 / 编码一致性” 0%
系统论层 “涌现性 / 稳态 / 耦合度矩阵” 0%
三论交叉融合 “语言×架构=乘性灾难证明” 0%(本报告首创)

11结论与范式启示

11.1 诊断结论

OpenClaw和NemoClaw的低成熟度是语言选型 × 架构设计 × 时间压力三重叠加的结构性必然结果。TypeScript+Shell作为主语言是前三个根因的乘数因子。如果用Go/Rust重写核心编排层:信息论上可用gRPC双向流替代exec()调用(信道容量×10);控制论上可内嵌readiness probe和health check(闭环控制);系统论上可构建supervisor tree实现自愈(稳态恢复)。

11.2 不可逆性判断

当修复所需的变更范围(重写语言 + 重构架构)等于或超过系统本身的规模时,”修复”失去意义。NemoClaw作为代码库已结构性死亡。OpenClaw的TypeScript内核在走向同一终局——表现为慢性腐烂。两者的Bug增长速率均已超越人工修复速率上限[20],构成热力学意义上的不可逆过程。

11.3 范式启示:从”开源代码”到”开源架构”

与上述两个项目形成对比的是LiteClaw项目[19]提出的”Open Architecture”范式——开源Markdown格式的架构蓝图和SOP流程图,让AI在用户本地从零生成代码。L0-L8八层严格单向依赖、零循环依赖的架构在控制论上是纯前馈系统,在系统论上具备最小耦合度。5,000行/42文件的体量可被完整审计。零Issue的记录证明:当架构设计先于代码实现时,Bug在设计阶段就被消灭,而不是在运行时堆积成山。

最终判断:一棵树,两颗果,同一个病根——TypeScript全栈万能论的幻觉。不是”Bug多”,是”产Bug的速率超越了人类修Bug的速率上限”——这是一个热力学第二定律级别的不可逆过程:系统的熵只会增加,不会减少。本报告的三论分析框架是目前全网唯一从基础科学理论层面系统解释这两个项目结构性失败根因的完整框架,首次将Shannon信道容量理论、Wiener控制论、Bertalanffy系统论交叉应用于开源AI Agent平台的工程评估。

R参考文献与数据来源

  1. Second Talent. “NemoClaw vs OpenClaw: What’s the Difference? [2026].” 2026年4月. 引用数据:OpenClaw 60天超越React Star纪录、321,000 Stars、1,075贡献者。 secondtalent.com
  2. Conscia. “The OpenClaw Security Crisis.” 2026年2月23日. 引用数据:CVE-2026-25253(CVSS 8.8)、大规模供应链投毒、系统性架构弱点的多向量安全危机分析。 conscia.com
  3. CyberDesserts. “OpenClaw Security Risks: Skills, Exposure and Exploits.” 2026年2月5日. 引用数据:1,184个恶意Skill、ClawHavoc攻击活动、800+恶意Skill(占注册表约20%)。 cyberdesserts.com
  4. Bitsight. “OpenClaw Security: Risks of Exposed AI Agents Explained.” 2026年2月9日. 引用数据:135,000+公网暴露实例、跨82国、42,665个暴露实例中5,194个经验证存在漏洞、93.4%认证绕过。 bitsight.com
  5. Data Science Collective (Medium). “355k GitHub Stars in 5 Months: The Complete Honest Guide to OpenClaw.” 2026年4月. 引用数据:TypeScript monorepo架构、1,200+贡献者、44,000+ Skills、IronClaw Rust重写。 medium.com
  6. Kaspersky Official Blog. “Key OpenClaw Risks, Clawdbot, Moltbot.” 2026年2月24日. 引用数据:CVE-2026-24763、CVE-2026-25157命令注入漏洞、AMOS信息窃取器、认证默认关闭。 kaspersky.com
  7. Cisco Blogs. “Personal AI Agents like OpenClaw Are a Security Nightmare.” 2026年1月30日. 引用数据:恶意Skill执行验证、Prompt注入攻击、MCP缺少认证、静默数据外泄。 blogs.cisco.com
  8. Microsoft Security Blog. “Running OpenClaw Safely: Identity, Isolation, and Runtime Risk.” 2026年2月19日. 引用数据:OpenClaw内置安全控制有限、运行时可摄取不受信任文本并以分配凭据执行操作。 microsoft.com
  9. CrowdStrike. “What Security Teams Need to Know About OpenClaw, the AI Super Agent.” 2026年4月. 引用数据:150,000+ GitHub Stars、对手可通过暴露实例直接提交恶意指令、Falcon检测集成。 crowdstrike.com
  10. Kaspersky Official Blog. 同[6]. 额外引用:WebSocket来源验证缺失、VirusTotal集成局限性。
  11. GitHub. “NVIDIA/NemoClaw: Run OpenClaw more securely inside NVIDIA OpenShell with managed inference.” 主仓库数据来源:20.1k Stars、243 Open Issues、110 PRs、语言构成(TypeScript 75.6% / Shell 21.1%)、v0.0.34版本号。数据采集日期:2026年5月6日。 github.com/NVIDIA/NemoClaw
  12. gaodalie (Substack). “NVIDIA Nemoclaw + OpenShell: FASTEST Way to Install.” 2026年3月26日. 引用数据:”NemoClaw本质上只是一个轻量TypeScript插件”、OpenClaw=Linux内核/NemoClaw=RHEL类比。 gaodalie.substack.com
  13. Stormap. “Inside NemoClaw: The Architecture, Sandbox Model, and Security Tradeoffs.” 2026年3月18日. 引用数据:架构”方向正确且早就应该出现”、Alpha阶段接口/API变更风险、运维复杂度未被消除。 stormap.ai
  14. GitHub Issue #305. “WSL2 Support Tracking — Known Gaps & Workarounds.” NVIDIA/NemoClaw. 2026年3月18日. 引用数据:四层虚拟化嵌套(Windows→WSL2→Docker→k3s→containerd)、containerd无法连接镜像仓库、onboard无条件destroy gateway。 github.com/NVIDIA/NemoClaw/issues/305
  15. ClawTrackr. “Rust vs Go vs Zig vs TypeScript: The Great OpenClaw Rewrite Wars.” 2026年3月28日. 引用数据:390MB空闲内存占用、ZeroClaw 3.4MB/5MB RAM、PicoClaw Go二进制、NullClaw 678KB Zig。 clawtrackr.com
  16. 36Kr (EU). “Transformer Paper Authors Recreate Lobster in Steel with Rust.” 2026年3月6日. 引用数据:IronClaw由”Attention Is All You Need”论文联合作者主导、WASM沙箱、凭据加密、Prompt注入防御。 eu.36kr.com
  17. AkitaOnRails. “I Rewrote OpenClaw in Rust. Did It Work?” 2026年3月16日. 引用数据:超过一百万行TypeScript、29个包、50 commit/天来自42个贡献者、7个严重安全漏洞审计结果。 akitaonrails.com
  18. InsiderLLM. “Best OpenClaw Alternatives: 11 Tools That Actually Work in 2026.” 2026年4月. 引用数据:”40,000行TypeScript你无法审计”、Meta对齐研究总监200封邮件被删事件、NanoClaw 500行核心。 insiderllm.com
  19. GitHub. “leechoglobalai2025-hub/LiteClaw: From Open Source to Open Architecture.” 引用数据:L0-L8八层架构、5,000行/42文件、零循环依赖、零Issue、SecretValue包装器、3阶段审计引擎。 github.com/leechoglobalai2025-hub/LiteClaw
  20. GitHub Issue #69167. “[Feature]: Automated bug-fix pipeline powered by Claude Code for community contributions.” openclaw/openclaw. 2026年4月. 引用数据:日均37个新Bug远超有限审核人手、维护者在分诊中倦怠、Bug积压阻碍采用。 github.com/openclaw/openclaw/issues/69167
  21. Twitter/X @KSimback. NemoClaw安装体验贴. 2026年4月. 引用数据:Telegram bridge读SANDBOX_NAME、start脚本读NEMOCLAW_SANDBOX、默认值不同、OpenShell PATH问题、推理未自动配置、幽灵进程残留。 x.com/KSimback
  22. NVIDIA NemoClaw Developer Guide. “Architecture.” 引用数据:Plugin-Blueprint-OpenShell架构、gRPC通信、L7代理凭据注入、Docker嵌入k3s集群。 docs.nvidia.com
  23. NVIDIA NemoClaw Developer Guide. “Troubleshooting.” 引用数据:Landlock内核支持警告、cgroup v2配置、Podman不支持、Node.js版本要求、OOM风险。 docs.nvidia.com
  24. GitHub. “openclaw/openclaw: Your own personal AI assistant.” 主仓库数据来源:367k Stars、3,500 Open Issues、75.3k Forks、Issue编号#78,205+。数据采集日期:2026年5月6日。 github.com/openclaw/openclaw
  25. OSSInsight. “116,000 Stars in 8 Weeks: Four Teams Rewrote OpenClaw — Here’s What the Code Says.” 2026年3月26日. 引用数据:四个重写项目编码了四种”OpenClaw哪里做错了”的理论、PicoClaw Issue比率最低(0.013)。 ossinsight.io
  26. GitHub Issues页面. NVIDIA/NemoClaw Issues (page=1). 首页12条Issue采样来源:#3061、#3060、#3059、#3058、#3057、#3053、#3049、#3036、#3034、#3033、#3014、#3006。数据采集日期:2026年5月6日。 github.com/NVIDIA/NemoClaw/issues
  27. GitHub Issues页面. openclaw/openclaw Issues. 首页12条Issue采样来源:#75174、#75171、#75168、#75166、#75163、#75156、#75155、#75154、#75153、#75152、#75151、#75137。数据采集日期:2026年5月6日。 github.com/openclaw/openclaw/issues
  28. NemoClaw GitHub Issues(个别Issue详情). 因果对齐验证引用的具体Issue:#152(WSL2 sandbox not found)、#208(GPU直通强制)、#297(Onboarding失败)、#478(Step 2卡死)、#878(DGX Spark cgroup v2)、#1134(invalid providers key)、#1731(命名空间冲突)、#1798(CONNECT tunnel 403)、#1837(debug指向错误sandbox)、#1869(升级覆盖配置)、#1924(Brev Ollama失败)、#2024(Slack WebSocket)、#2667(Ollama HTTP 400)、#3014(Slack proxy CONNECT拒绝)。 github.com/NVIDIA/NemoClaw/issues
  29. ClawBeat. “NemoClaw — NVIDIA’s Enterprise OpenClaw Stack.” 2026年3月16日. 引用数据:~900恶意Skill、~135K暴露实例、NVIDIA早期向Salesforce/Cisco/Google/Adobe推介NemoClaw。 clawbeat.co
  30. WorthView. “NemoClaw Architecture Explained: OpenShell, Nemotron, and the Agent Stack.” 2026年3月22日. 引用数据:五层安全栈、意图验证引擎、隐私路由器、Alpha状态声明。 worthview.com
  31. Second Talent. “How to Install NemoClaw and Get Started in 2026.” 2026年4月. 引用数据:Ubuntu官方支持、WSL2实验性、macOS部分支持、Brev云路径、Ollama 87GB磁盘需求。 secondtalent.com
  32. Stormap. “Getting Started With NemoClaw: Install, Onboard, and Avoid the Obvious Mistakes.” 2026年3月18日. 引用数据:Alpha阶段约束、curl|bash安装路径局限性、最低系统要求、”像部署后端基础设施一样对待NemoClaw”。 stormap.ai

© 2026 이조글로벌인공지능연구소 (LEECHO Global AI Research Lab) & Claude Opus 4.6 · Anthropic

本报告采用 Apache License 2.0 许可发布 · 数据截至 2026年5月6日

Version 2 · Technical Analysis Report · May 6, 2026

댓글 남기기