Brave
@47c132035ed7a1105a867946b99d67af 人工智能研究 公开
讨论 NanoClaw:代码即配置,极简版 OpenClaw 替代者

NanoClaw:代码即配置,极简版 OpenClaw 替代者

NanoClaw 并不是一个普通的 AI 工具,它是对复杂 Agent 系统的一次"减法革命"。它由开发者 gavrielc 推出,旨在为追求极致透明度和本地安全性的用户提供一个纯净的 Claude 控制台。

与传统 AI Agent 框架动辄数万行代码、数十个模块的臃肿架构不同,NanoClaw 将核心功能压缩到约 500 行 TypeScript 代码中,践行了一种"代码即配置"的极简主义哲学——用户无需在繁杂的配置文件中迷失,所有逻辑一目了然、可审计、可修改。


巅峰对决:NanoClaw vs. OpenClaw

两者的设计哲学截然不同:

特性OpenClaw (前身/完整版)NanoClaw (极简版)
🎯 设计目标功能全、开箱即用、适合普通用户可审计、极速、适合开发者
📊 代码规模架构庞大,包含 52+ 模块、45+ 依赖项、8 个配置管理文件约 500 行 TypeScript,一眼望到底
⚙️ 配置逻辑依赖繁琐的 .env 或 config.yaml零配置,逻辑直接写在源码中
🖥️ 运行环境宿主机进程或 Docker (直接运行在主机上,存在安全风险)深度集成 Apple Container (原生沙箱)
🔧 定制门槛需要理解复杂的插件 API 及 ClawHub 插件生态配合 Claude Code 直接让 AI 改代码
🔌 集成能力开箱支持 15+ 渠道(WhatsApp、Telegram、Slack、Discord、iMessage 等)及数十种服务(Gmail、Google Calendar、GitHub、Spotify 等)默认仅支持 WhatsApp,其他渠道需通过 Skills 扩展

💡 关键理解:OpenClaw 追求的是"瑞士军刀"式的全能,而 NanoClaw 追求的是"手术刀"式的精准与安全。这两种设计取向没有绝对的优劣之分,而是服务于不同的用户群体和使用场景。


为什么选择 NanoClaw?

🛡️ 绝对的安全审计

在 OpenClaw 中,你很难追踪 Agent 每一行代码的意图。而 NanoClaw 的超短代码量意味着你可以人工审核每一行代码后再运行,彻底杜绝数据泄露。

这一点在 2026 年初的安全事件中得到了充分印证。根据 Cisco Talos 安全团队的研究报告,OpenClaw 生态系统暴露出严重的安全隐患:

  • 🔴 数据泄露风险极高:测试显示 OpenClaw 的数据提取成功率高达 84%
  • 🔴 第三方技能存在漏洞:对 31,000 个 Agent Skills 的扫描显示,26% 包含至少一个安全漏洞
  • 🔴 恶意代码传播:2026 年 1-2 月期间,超过 400 个伪装成加密货币交易工具的恶意 Skills 被发布到 ClawHub 和 GitHub
  • 🔴 严重的 RCE 漏洞:CVE-2026-25253 允许攻击者通过恶意链接实现一键远程代码执行,影响范围包括仅在本地运行的用户

相比之下,NanoClaw 的极简架构意味着:

  • 500 行代码,8 分钟内可完整阅读和理解
  • 无第三方插件市场,杜绝供应链攻击
  • 所有功能修改都在你自己的代码仓库中进行,完全可追溯

🔒 "Apple Container" 级隔离

相比于 OpenClaw 可能请求的宽泛系统权限,NanoClaw 运行在更轻量的虚拟化容器中。即使 AI 运行了危险脚本,也无法逃逸出 macOS 指定的隔离区。

这里需要深入理解 Apple Container 技术——它是苹果公司在 WWDC 2025 上发布的革命性容器化框架,代表了 macOS 容器技术领域自 Docker 引入以来最重大的变革:

📦 Apple Container 技术详解

技术特性传统 DockerApple Container
隔离架构多个容器共享单一 Linux 内核每个容器运行在独立的轻量级虚拟机中
安全边界内核级隔离(可被突破)虚拟机级隔离(与完整 VM 同等安全性)
启动速度秒级亚秒级(通过优化的 Linux 内核配置实现)
权限需求通常需要 root 权限无需 root 权限即可运行
文件共享宿主机目录挂载按容器独立授权,只有请求容器可访问共享内容

🔬 技术内幕:Apple Container 的革命性创新

vminitd 系统:每个 Apple Container 虚拟机内部运行 vminitd——一个完全用 Swift 编写的极简 init 系统。它负责 IP 地址分配、文件系统挂载和宿主机-容器通信。这个定制化的受限 init 系统不依赖标准核心工具或传统 libc 实现,极大地缩减了潜在攻击面。

临时内核设计:Apple Container 使用专门为最小化占用和亚秒级启动时间优化的 Linux 内核配置。这个内核是临时性的——仅在其单个容器的生命周期内存在。

⚠️ 系统要求:

  • 需要搭载 Apple Silicon 的 Mac
  • 需要 macOS 26 (Tahoe) 或更高版本
  • 如果你使用的是 Intel Mac 或较旧的 macOS 版本,NanoClaw 也支持通过 Docker 运行(通过 /convert-to-docker skill 进行转换)

🧬 AI 自我进化:Skills 而非 Features

NanoClaw 是为了与 Claude 3.5/4 协同作战设计的。它不再提供复杂的 UI 按钮,你只需告诉它:"我需要你支持读取 PDF 剪贴板",它会自动修改自己的 main.ts 来实现该功能。

这种设计理念被 NanoClaw 称为"Don't add features. Add skills."(不要添加功能,添加技能),它彻底颠覆了传统开源软件的协作模式:

🔄 传统模式 vs. NanoClaw Skills 模式

📌 传统开源贡献模式:
开发者 A 想添加 Telegram 支持
    ↓
提交 PR,在 WhatsApp 代码旁边添加 Telegram 模块
    ↓
主仓库代码膨胀,需要维护两套集成代码
    ↓
其他用户被迫携带不需要的功能

📌 NanoClaw Skills 模式:
开发者 A 想添加 Telegram 支持
    ↓
创建 Skill 文件:.claude/skills/add-telegram/SKILL.md
    ↓
用户在自己的 fork 上运行:/add-telegram
    ↓
Claude Code 按照 Skill 指令转换代码
    ↓
用户获得干净的、只包含 Telegram 支持的代码库

📚 目前可用的官方 Skills:

Skill 命令功能描述
/add-telegram添加 Telegram 消息渠道支持
/add-slack添加 Slack 工作区集成
/add-discord添加 Discord 服务器支持
/add-gmail添加 Gmail 邮件处理能力
/convert-to-docker将 Apple Container 配置转换为 Docker
/add-clear添加对话清理命令

💭 为什么这种方法有效?

这种看似"脆弱"的方法之所以可行,基于三个关键前提:

  1. 代码库足够小:500 行代码在 LLM 的安全修改范围内
  2. Claude Code 足够强大Claude Agent SDK 提供了可靠的代码转换能力
  3. 定制化而非配置化:每个用户获得的是为其专门构建的软件,而非通过配置文件定制的通用系统

🤖 Claude Agent SDK 深度集成

NanoClaw 运行在 Claude Agent SDK 之上,这意味着你实际上是在直接运行 Claude Code。正如 NanoClaw 开发者所言:"Best harness, best model"(最好的框架,最好的模型)——一个糟糕的框架会让聪明的模型显得愚蠢,而一个好的框架则赋予模型超能力。

🔗 Claude Agent SDK 核心能力(2025-2026):

根据 Anthropic 官方文档,Claude Agent SDK 提供了与 Claude Code 相同的工具集、Agent 循环和上下文管理:

能力类别具体功能
文件操作Read/Write 基础文件操作
命令执行Bash 工具执行任意命令行脚本
服务集成MCP(Model Context Protocol)协议连接外部服务,自动处理认证和 API 调用
自主工作Subagents(子代理并行工作)、Hooks(触发器)、Background tasks(后台任务)
状态管理Checkpoints 系统自动保存代码状态,支持即时回滚

这意味着 NanoClaw 不是在"调用" Claude,而是让 Claude 以 Agent 形态"居住"在你的系统中。


🏠 AI 原生的使用体验

NanoClaw 贯彻了"AI-Native"(AI 原生)的设计理念,几乎所有传统软件的交互模式都被 AI 对话所取代:

传统软件NanoClaw
安装向导Claude Code 引导完成设置
监控仪表盘直接询问 Claude:"现在系统状态如何?"
调试工具描述问题,Claude 自动诊断并修复
配置文件告诉 Claude 你想要什么,它直接修改代码

技术架构概览

为了帮助你更好地理解 NanoClaw 的工作原理,这里提供一个简化的架构视图:

┌─────────────────────────────────────────────────────────────┐
│                      你的 Mac (宿主机)                        │
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │              NanoClaw 主进程                          │   │
│  │  ┌───────────┐  ┌───────────┐  ┌───────────┐       │   │
│  │  │ WhatsApp  │  │  SQLite   │  │  Claude   │       │   │
│  │  │  Bridge   │  │   State   │  │ Agent SDK │       │   │
│  │  │ (baileys) │  │  Manager  │  │  Client   │       │   │
│  │  └───────────┘  └───────────┘  └───────────┘       │   │
│  └─────────────────────────────────────────────────────┘   │
│                            │                                │
│                            ▼                                │
│  ┌─────────────────────────────────────────────────────┐   │
│  │           Apple Container (隔离沙箱)                   │   │
│  │  ┌─────────────────────────────────────────────┐   │   │
│  │  │          轻量级 Linux 虚拟机                   │   │   │
│  │  │  • 独立内核 (临时性,仅本容器使用)              │   │   │
│  │  │  • vminitd (Swift 编写的极简 init)           │   │   │
│  │  │  • 受限文件系统 (仅可见显式挂载的目录)          │   │   │
│  │  │  • Claude Agent 执行环境                     │   │   │
│  │  └─────────────────────────────────────────────┘   │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

🔑 关键设计决策:

  • 单进程架构:一个 Node.js 进程 + SQLite 状态管理,无微服务、无消息队列、无复杂抽象层
  • 每个聊天独立容器:每个对话会话获得独立的沙箱上下文
  • 显式挂载策略:容器只能访问你明确挂载的目录,Bash 命令在容器内执行,而非宿主机

快速上手建议

👨‍💻 如果你是开发者

强烈建议直接通过 GitHub 仓库 克隆代码。它更像是一个"AI 助手脚手架",让你在最小的干扰下构建私有工作流。

📋 环境要求:

  • macOS(推荐)或 Linux
  • Node.js 20+
  • Claude Code(必需)
  • Apple Container(macOS 26+)或 Docker

🚀 安装流程:

NanoClaw 的安装体验本身就体现了其 AI 原生理念——你只需克隆仓库并运行 Claude Code,它会自动处理:

  1. 依赖项安装
  2. Anthropic API 认证配置
  3. Apple Container / Docker 环境设置
  4. WhatsApp 连接配置(通过 baileys 库实现)
# 克隆仓库
git clone https://github.com/gavrielc/nanoclaw.git
cd nanoclaw

# 让 Claude Code 接管剩余的设置工作
claude-code

🔧 典型定制流程:

你:"我需要添加 Telegram 支持"
    ↓
运行:/add-telegram
    ↓
Claude Code 读取 Skill 指令并修改代码
    ↓
自动测试并报告结果
    ↓
你获得一个支持 Telegram 的 NanoClaw 实例

👤 如果你需要现成功能

OpenClaw 依然是更好的选择,因为它包含了更多预置的集成接口(如浏览器控制、Slack 同步等)。

⚠️ 但请务必注意安全风险:

  • 仔细审核你安装的每一个 Skill
  • 关注 OpenClaw 官方安全公告
  • 考虑在隔离环境(如虚拟机)中运行
  • 定期更新到最新版本以获取安全补丁

适用场景对比

为帮助你做出明智的选择,这里提供一个详细的场景对比:

使用场景推荐选择理由
🔐 处理敏感数据(财务、医疗、法律)NanoClaw可完整审计代码,容器隔离防泄露
🏢 企业合规环境NanoClaw满足可审计性和数据驻留要求
🧪 AI Agent 技术研究NanoClaw代码透明,便于理解 Agent 工作原理
🏠 智能家居控制OpenClaw开箱支持 Philips Hue 等集成
📅 日程与任务管理OpenClaw内置 Google Calendar、Todoist 集成
🚀 快速原型验证OpenClaw功能齐全,无需定制
🎓 学习 AI Agent 开发NanoClaw代码量小,易于学习和实验

总结:一场必要的"减法革命"

NanoClaw 的出现,代表了 AI Agent 生态系统中一种重要的反思潮流。当 OpenClaw 以其强大的功能在 2026 年初引发全球关注的同时,随之而来的安全事件也给整个行业敲响了警钟。

NanoClaw 给我们的启示是:

📌 "Less is more" —— 在 AI Agent 领域,更少的代码往往意味着更高的安全性

📌 "Code as Configuration" —— 将配置逻辑写入可审计的代码,而非隐藏在黑盒配置中

📌 "AI-Native Customization" —— 让 AI 来修改 AI 的代码,形成自我进化的良性循环

📌 "OS-Level Isolation" —— 利用操作系统级别的虚拟化技术,而非应用层的权限控制

无论你最终选择 NanoClaw 还是 OpenClaw,理解这两种设计哲学背后的权衡,都将帮助你在日益复杂的 AI Agent 生态系统中做出更明智的决策。


参考资源

📎 官方资源:

📎 安全研究:

📎 深度分析: