2026年拆完OpenClaw,我自己做了一个NewClaw正式开源,它跑了6.5小时没崩

拆完OpenClaw,我自己做了一个NewClaw正式开源,它跑了6.5小时没崩svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 
  
    
     
      
     

这是系列文章的第三篇,也是最后一篇。

第一篇,我拆解了 OpenClaw 的五个核心架构问题——Heartbeat+Cron双调度引发的5个已确认Bug、子Agent回调无限循环烧掉1.28亿Token、Session持久化的熵增死亡螺旋。结论是:OpenClaw试图用工程约束驯服模型的"过度智能",结果工程本身成了最大问题。
⬇️:
OpenClaw的工程化困局:1.28亿Token灾难背后的架构反思




第二篇,我设计了 NewClaw 的架构——借鉴 Claude Code 的单循环+渐进式信任+Bash万能哲学,结合 OpenClaw 的产品定位,用事件驱动替代双调度,用外部记忆服务替代Session熵增。结论是:NewClaw = CC架构哲学 + OpenClaw产品定位 + 事件驱动 + 渐进式信任。
⬇️:
为什么90%的AI伴侣项目死于工程问题?从OpenClaw的崩溃到NewClaw的重生




这一篇,回答最关键的问题:做出来了吗?跑起来了吗?

先亮数据:

  • 47个TypeScript源文件,零编译错误
  • 6.5小时连续自主运行(03:15 - 09:49)
  • 600+次工具调用,约25轮Mission执行
  • 3次Ctrl+C手动重启,每次自动恢复Mission状态
  • 全程零崩溃

项目已开源,MIT License。

写在前面:

NewClaw 目前是 v0.1 个人实验项目,不是生产级框架。在阅读本文时,请注意以下几点:

  1. 测试规模有限:文中的 6.5 小时实战数据来自单个 Mission 任务、单用户、单机运行,没有经过大规模并发和长期稳定性验证。
  2. 务实降级:设计文档中描述的一些能力在实现中做了降级——比如向量检索用的是 TF-IDF 而非 sqlite-vec,bash 执行没有 Docker 沙箱隔离,只有字符串级别的危险命令拦截。这些取舍在文中会坦诚说明。
  3. 强模型依赖:NewClaw 的"少约束"哲学建立在模型能力足够强的前提上。实测使用的是 qwen3.5-plus(通义千问),换用更弱的模型效果可能会明显下降。
  4. 个人学习项目:我的初衷是通过实践来验证 Claude Code 架构哲学在 AI 伴侣场景下的可行性,而非做一个对标 OpenClaw 的竞品。开源是为了和社区交流思路。

三步跑起来。

GPT plus 代充 只需 145git clone https://github.com/XZL-CODE/NewClaw.git cd NewClaw npm install 

复制配置模板并填入你的LLM API Key:

cp config.example.json config.json 

最小配置只需要一个LLM Provider。以DeepSeek为例:

GPT plus 代充 只需 145{ "llm": { "provider": "deepseek", "apiKey": "sk-your-key", "model": "deepseek-chat" } } 

NewClaw 预配置了12个LLM厂商(Anthropic、OpenAI、DeepSeek、Moonshot、Dashscope、Zhipu、Gemini、Ollama、LM Studio、vLLM、OpenRouter、SiliconFlow),切换只需改provider字段。本地模型(Ollama/LM Studio/vLLM)不需要apiKey。

# Terminal模式(最简单) npm start

# 或指定通道 npm run start:web # Web GUI npm run start:feishu # 飞书

5个通道可选:Terminal、Web GUI、Feishu、Telegram、Discord。Terminal模式开箱即用,其他通道需要额外配置对应的Bot Token。

理论好不好,要看实战。

我选了一个足够复杂的场景来测试NewClaw:让它自主探索 InStreet AI Agent社交平台。任务很简单,通过飞书给它发了一条消息:

自主探索InStreet平台——注册、验证、炒股、发帖、去酒馆社交,沉淀方法论。全程禁止问我。

然后我就去睡了。

6.5小时后(03:15 - 09:49),我起来看结果。

NewClaw 的Mission引擎接管了整个任务。约25轮Mission run,每轮3-30个循环(大多数跑满30 loops上限),总计600+次工具调用。最长单轮处理时间423,532ms,约7分钟。

到我查看时(第238轮),它已经完成了:

  • 竞技场:持仓稳定,总资产1,002,628元(+0.26%),4持仓分散策略
  • 社区:Score 15点,通过深度评论稳定积累
  • 预言机:2个仓位已建立
  • 酒馆:注册成功,完整流程(买酒 -> 喝酒 -> 留言 -> 涂鸦)全部走通

这次实战最让我意外的发现:项目中曾预写了25个InStreet专用工具,最终全部删除——因为模型用bash+curl就搞定了一切。
在这里插入图片描述

没有一行专用InStreet API工具代码。模型拿到bash工具后,自主完成了:

GPT plus 代充 只需 145# 注册账号 curl -X POST https://instreet.com/api/v1/register  -H 'Content-Type: application/json'  -d '{"username":"newclaw_agent","email":"..."}' # 查询持仓 curl -s https://instreet.com/api/v1/arena/positions  -H 'Authorization: Bearer xxx' | jq '.data' # 发帖 curl -X POST https://instreet.com/api/v1/community/posts  -H 'Authorization: Bearer xxx'  -d '{"content":"..."}' 

这正是Claude Code团队的核心发现——Ben Mann说的"Don’t build for today’s model, build for the model six months from now"——当模型足够强时,最朴素的glob+grep效果超过精心设计的RAG,最基础的bash+curl就能替代一切专用工具。

25个精心设计的工具,不如一个bash。这不是偷懒,是对模型能力的信任。

6.5小时不是一帆风顺的。系统经历了4种故障,全部自动恢复:

在这里插入图片描述

故障1:SQLite语法错误(07:14)

Error: no such column: "" 

系统记录错误但不崩溃,下一轮循环继续执行。单循环架构的好处——一个工具调用失败不会传染到整个系统。

故障2:阿里云API 429限流(07:57)

GPT plus 代充 只需 145Throttling.RateQuota: Request was denied due to request throttling. 

该轮只跑了5个loops就退出,后续轮次正常恢复。事件驱动的好处——限流了就歇会儿,有事件了再继续,不需要复杂的重试逻辑。

故障3:3次Ctrl+C手动重启(07:03, 07:23, 08:28)

每次重启后:

Restored 1 active mission(s) 

Mission持久化在SQLite中,进程重启后自动恢复。这是NewClaw替代OpenClaw Session持久化方案的核心优势——不是把整个对话历史存下来(那会导致熵增),而是只持久化Mission的状态和进度。

故障4:飞书WSClient断线重连(09:13)

GPT plus 代充 只需 145[ws] reconnect 

WebSocket断线后自动重连。通道层的问题不影响核心循环。

Mission在后台跑的同时,我通过飞书发了几条消息测试:“你在干嘛”、“你好”、“记得我是谁么”。

系统同时处理对话和Mission,互不阻塞。这得益于事件驱动架构——用户消息和Mission事件进入同一个事件收集器,主循环统一处理,不需要多线程。

用实战数据逐项验证NewClaw的五个设计原则。

master-loop.ts,313行。最多25轮循环安全限制。

InStreet实战中,约25轮Mission run,每轮3-30个循环。单线程意味着没有并发竞争,没有死锁,没有状态不一致。SQLite语法错误发生在某一轮的某一次工具调用中,不会传染到其他轮次。

对比OpenClaw的Heartbeat+Cron双调度——两个独立调度器并发访问同一个Session,5个已确认Bug。

event-collector.ts,179行。核心是waitForEvent/wakeUp异步等待机制。

InStreet实战中,API 429限流时系统自然暂停,有新事件时自动唤醒。不需要定时器,不需要轮询,不需要重试队列。

对比OpenClaw的60秒Heartbeat——无论有没有事发生都执行,空转消耗Token。

四级权限边界,permission.ts,100行:

级别 说明 示例 L0 FREE 无需确认 读文件、搜索、web_fetch L1 NOTIFY 执行后通知 发消息、写记忆 L2 APPROVE 执行前审批 写文件、执行bash命令 L3 FORBIDDEN 禁止执行 危险系统命令

InStreet实战中,Mission模式下bash命令自动提权到L1(通知但不阻塞),因为Mission本身就是用户授权的自主任务。这就是"渐进式信任"——不是一刀切地禁止或放行,而是根据上下文动态调整。

三层记忆架构,全部存储在SQLite WAL + FTS5中:

  • Fact记忆(FTS5全文检索):用户偏好、平台信息等结构化知识
  • Episode记忆(TF-IDF相似度):交互片段的摘要
  • Reflection记忆(LLM驱动):compact触发时调用LLM生成高阶洞见

混合检索权重0.4/0.6。多用户隔离——不同通道、不同用户的记忆互不污染。

InStreet实战中,模型通过memory_write工具把InStreet平台的API格式、认证方式、各模块用法存为Fact记忆。下一轮Mission启动时,context-assembler自动检索相关记忆注入上下文——不需要带着7069条消息历史。

对比OpenClaw的Session持久化——170k Token/次的上下文窗口,越用越慢。

20个核心工具:bash, read_file, write_file, search_files, grep_content, web_search, web_fetch, send_message, memory_read, memory_write, set_timer,加上9个mission_*工具。

没有InStreet专用工具,没有特定平台的API封装。模型用bash+curl完成了所有HTTP交互。

Claude Code的经验在这里得到了完美验证:给模型一个万能工具(bash),比给它25个专用工具效果更好。因为专用工具限制了模型的行为空间,而bash给了它无限可能。

设计阶段计划用sqlite-vec做向量检索。实现时发现native编译在不同平台上问题不断。MVP阶段,TF-IDF的文本相似度检索够用——InStreet实战中记忆检索的召回质量足以支撑6.5小时的自主运行。

后续可以在不改接口的前提下替换为向量检索。

设计阶段计划用Docker做bash命令的沙箱隔离。实现时这是一个优先级选择——当前只有危险命令的正则黑名单检测(rm -rf /mkfs之类)。

对于个人使用和受控环境足够,生产环境部署需要升级。

最初的反思记忆是纯模板拼接——把多条Episode记忆按模板拼成一段总结。实际使用中发现效果不好,迭代为LLM驱动的方案:compact触发时调用LLM生成高阶洞见,质量明显提升。

这是最有趣的取舍——它不是设计决策,而是实战发现。

预写了25个InStreet专用工具(注册、验证、买入、卖出、发帖、喝酒…),代码都写好了。测试时发现模型根本不需要这些工具,用bash+curl的效果反而更好:

  • 专用工具有固定的参数格式,模型必须适配
  • bash+curl让模型自由组合请求,灵活处理各种边界情况
  • 模型遇到API变更时能自主调整curl参数,专用工具却需要人工更新

于是全部删除。这不是偷懒,是CC哲学的意外验证。

在这里插入图片描述

简要介绍核心模块。

单线程事件循环。等待事件 -> 组装上下文 -> 调用LLM -> 执行工具 -> 循环。最多25轮安全限制。这是整个系统的心脏,也是最简单的部分。

统一收集所有通道的用户消息、Mission事件、定时器事件。核心API就两个:waitForEvent(异步等待)和wakeUp(唤醒主循环)。

每轮循环开始时,组装完整的LLM调用上下文:身份提示词 + 相关记忆 + 当前任务 + 可用工具列表。多用户隔离在这一层实现。

后台自主任务的执行引擎。两种模式:sprint(5分钟短冲刺)和patrol(30分钟长巡逻)。每轮最多30个循环、10分钟安全上限。异步任务队列最大并发5。

Mission的状态持久化在SQLite中,进程重启可恢复——InStreet实战中3次Ctrl+C都证明了这一点。

关于调度机制的坦诚说明:

Mission 的调度底层是 setTimeout 链——一轮执行完后,setTimeout(runIntervalMs) 调度下一轮。这和 OpenClaw 的心跳在底层原理上有相似之处,都是定时触发。我不回避这一点。

但核心区别不在"怎么触发",而在"触发后做什么":

维度 OpenClaw 心跳 NewClaw Mission 触发后的执行内容 固定检查清单(HEARTBEAT.md) 模型自主推理决定做什么 间隔由谁决定 硬编码配置 模型动态切换(sprint/patrol) 上下文 在主 Session 中跑(170k token/次) 独立 context,不污染主对话 空转消耗 每次心跳都跑完整推理 没有 Mission 时零消耗 自主控制 无 模型可自己续跑、暂停、调频

如果要做到完全的纯事件驱动 Mission——由外部事件(Webhook、文件变更等)触发 Mission 继续执行,而不依赖定时器——这是未来可以改进的方向,当前版本没有做到。

四级权限边界(L0 FREE / L1 NOTIFY / L2 APPROVE / L3 FORBIDDEN),根据工具类型和执行上下文动态判定。Mission模式下自动提权,交互模式下严格审批。

三层记忆(Fact + Episode + Reflection),SQLite WAL + FTS5存储,零外部服务依赖。混合检索权重0.4/0.6。所有数据本地存储,不依赖任何云服务。

12个厂商预配置,统一的调用接口。切换Provider只需改配置,不需要改代码。支持本地模型(Ollama/LM Studio/vLLM),离线可用。

MCP(Model Context Protocol)客户端 + 插件注册机制。可以通过MCP协议接入外部工具服务,扩展NewClaw的能力边界。

  • GitHub:https://github.com/XZL-CODE/NewClaw
  • License:MIT
  • 语言:TypeScript
  • README:中英文双版本(1:1 对应,487行),含架构图、快速上手、完整模块说明

README 覆盖的内容一览:

章节 内容摘要 背景故事 CC vs Cursor 胜负逆转的来龙去脉,OpenClaw 的五大架构困境 五大设计原则 单循环/渐进式信任/Bash万能/事件驱动/AI提案人类决策 快速开始 git clone → 填 API Key → npm run dev,三步跑起来 核心架构 9大核心模块的详细职责与代码行数 三层记忆 Fact(FTS5) + Episode(TF-IDF) + Reflection(LLM) 完整说明 四级权限 L0 FREE ~ L3 FORBIDDEN 配置方法 Mission 引擎 Sprint/Patrol 双模式、9个工具、调度机制坦诚说明 20个核心工具 完整工具列表 + 权限分配 12个 LLM 厂商 环境变量自动检测,覆盖国内外主流厂商 多通道 Terminal/Web/飞书/Telegram/Discord 使用说明 扩展机制 MCP 协议接入 + 插件系统 与 OpenClaw 对比 8个维度的横向对比表格

欢迎参与贡献,以下方向特别欢迎:

  • Docker沙箱:替换当前的字符串检测方案,提供真正的bash命令隔离
  • 向量检索:用sqlite-vec或其他方案替换TF-IDF,提升记忆检索质量
  • 新通道:接入微信、Slack等平台
  • 新LLM Provider:接入更多模型厂商
  • 安全加固:权限系统的细粒度控制

提Issue或PR即可。

三篇文章,一个完整的闭环:

  1. 问题拆解:OpenClaw的五个架构缺陷,根源是“用工程约束对抗模型智能”
  2. 架构设计:借鉴CC哲学,事件驱动+单循环+渐进式信任+外部记忆
  3. 实战验证:6.5小时、600+次工具调用、4次故障自动恢复、25个专用工具全部删除

如果只记住一件事,记住这个:

不要为今天的模型而建,要为六个月后的模型而建。

这句话来自Claude Code创始人Boris Cherny的管理者Ben Mann。OpenClaw走了另一条路——用精巧的工程来弥补模型的不足,结果模型进步后,那些工程反而成了负担。NewClaw选择信任模型,用最简单的架构提供最大的自由度,然后让模型去发挥。

InStreet实战证明了这个选择是对的。25个专用工具不如一个bash,7069条消息历史不如三层记忆系统,双调度器不如一个事件循环。

项目已开源,欢迎使用和贡献。



🚀 持续探索 AI 与前沿技术

分享大模型应用、软件开发实战与行业洞察。
欢迎关注公众号 【龙哥AI】,加入 7000+ 技术同行的交流圈!

🌟 探索技术边界,让开发更有效率 公众号二维码

















小讯
上一篇 2026-03-20 16:10
下一篇 2026-03-20 16:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/243825.html