字节笔记本

2026年2月25日

NanoClaw:轻量级个人 Claude 助手,支持智能体集群

NanoClaw 是一个轻量级的个人 Claude 助手,安全地运行在容器中。它是 OpenClaw 的替代方案,代码库小巧易懂,可以根据个人需求进行定制。该项目是首个支持 Agent Swarms(智能体集群)的 AI 助手,可以在聊天中启动多个协作智能体团队。

项目简介

NanoClaw 由 Gavriel Cohen 创建,是一个运行在 Claude Agent SDK 上的个人 AI 助手。与庞大的 OpenClaw(52 个模块、8 个配置文件、45 个依赖项)不同,NanoClaw 采用极简设计,只有一个进程和寥寥数个源文件,让用户能在 8 分钟内理解整个代码库。

核心亮点

  • 首个支持 Agent Swarms(智能体集群)的个人 AI 助手
  • 容器级安全隔离(Apple Container/Docker)
  • 极简架构,单一 Node.js 进程
  • Claude Code 原生集成

为什么选择 NanoClaw

OpenClaw 是一个令人印象深刻的项目,但存在以下问题:

  • 代码库过于庞大(52+ 模块,45+ 依赖项)
  • 应用级安全(白名单、配对码),而非操作系统级隔离
  • 所有功能在共享内存的 Node 进程中运行

NanoClaw 提供相同的核心功能,但采用完全不同的设计哲学:

  • 小到可以理解 - 一个进程,几个源文件,无微服务、消息队列或抽象层
  • 通过隔离保障安全 - 智能体运行在真实 Linux 容器中
  • 为单一用户打造 - 这是一个可工作的软件,不是框架

核心功能

功能说明
WhatsApp 输入/输出通过手机给 Claude 发消息
隔离的群组上下文每个群组有独立的记忆、文件系统和容器沙箱
主频道私有频道用于管理控制
计划任务运行周期性作业并回发消息
网络访问搜索和抓取网页内容
容器隔离Apple Container (macOS) 或 Docker (macOS/Linux)
智能体集群启动多个专业智能体团队协作完成复杂任务

系统要求

快速上手

bash
# 克隆项目
git clone https://github.com/gavrielc/nanoclaw.git
cd nanoclaw

# 启动 Claude Code
claude

然后运行 /setup 命令,Claude Code 会自动处理:

  • 依赖安装
  • 身份验证
  • 容器设置
  • 服务配置

使用示例

使用触发词(默认为 @Andy)与助手对话:

text
@Andy 每周一到周五早上9点,给我发一份销售渠道的概览
@Andy 每周五回顾过去一周的 git 历史,如果与 README 有出入,就更新它
@Andy 每周一早上8点,从 Hacker News 和 TechCrunch 收集关于 AI 发展的资讯

在主频道(self-chat)中管理群组和任务:

text
@Andy 列出所有群组的计划任务
@Andy 暂停周一简报任务
@Andy 加入"家庭聊天"群组

设计哲学

AI 原生

  • 无安装向导 - 由 Claude Code 指导安装
  • 无监控仪表盘 - 直接问 Claude 发生了什么
  • 无调试工具 - 描述问题,Claude 会修复它

技能优于功能

贡献者不应向代码库添加新功能,而是贡献 Claude Code 技能(如 /add-telegram),这些技能可以改造你的 fork。最终得到的是只做你需要事情的整洁代码。

定制即代码修改

没有繁杂的配置文件。想要不同的行为?直接修改代码。代码库足够小,这样做是安全的。

bash
# 通过 Claude Code 定制
/customize

架构设计

WhatsApp (baileys) --> SQLite --> 轮询循环 --> 容器 (Claude Agent SDK) --> 响应

关键特性

  • 单一 Node.js 进程
  • 智能体在隔离 Linux 容器中执行
  • 每群组独立消息队列,带全局并发控制
  • 通过文件系统进行进程间通信(IPC)

核心文件结构

文件说明
src/index.ts编排器:状态管理、消息循环、智能体调用
src/channels/whatsapp.tsWhatsApp 连接、认证、收发消息
src/ipc.tsIPC 监听与任务处理
src/router.ts消息格式化与出站路由
src/group-queue.ts每群组队列,带全局并发限制
src/container-runner.ts生成流式智能体容器
src/task-scheduler.ts运行计划任务
src/db.tsSQLite 操作
groups/*/CLAUDE.md各群组的记忆文件

技能征集 (RFS)

项目欢迎贡献以下技能:

通信渠道

  • /add-telegram - 添加 Telegram 作为渠道
  • /add-slack - 添加 Slack
  • /add-discord - 添加 Discord

平台支持

  • /setup-windows - 通过 WSL2 + Docker 支持 Windows

会话管理

  • /add-clear - 添加会话压缩命令

常见问题

为什么是 WhatsApp 而不是 Telegram?

因为作者使用 WhatsApp。fork 这个项目然后运行一个技能来改变它——这正是这个项目的核心理念。

为什么是 Apple Container 而不是 Docker?

在 macOS 上,Apple Container 轻巧、快速,并为 Apple 芯片优化。但 Docker 也完全支持——在 /setup 期间可以选择使用哪个运行时。

这个安全吗?

智能体在容器中运行,而不是在应用级别的权限检查之后。它们只能访问被明确挂载的目录。完整的安全模型请见 docs/SECURITY.md

项目链接

分享: