NanoClaw:轻量级 WhatsApp AI 助手,Claude 驱动
NanoClaw:轻量级、安全的 WhatsApp AI 助手,Claude 驱动
NanoClaw 是一个开源个人项目,让你可以将手机变成一个个人化的 Claude 驱动助手,同时将你的数据隔离在 Docker 或 Apple Container 容器中。它的设计目标是成为 Clawdbot / OpenClaw 的更简洁、更易理解的替代方案,强调极简主义、安全性以及用户控制定化。
为什么选择 NanoClaw?
| 功能 | 重要性 |
|---|---|
| 容器隔离 | 每个代理在自己的 Linux 容器中运行;它只能看到你显式挂载的目录。主机系统保持不受影响。 |
| 不需要配置分散 | 代码足够小,新增功能时只需要修改源码,而不是编辑数百个 YAML 或 JSON 文件。 |
| 代理集群 | 首个支持一键启动多名代理集群、自动解决复杂问题的个人助手。 |
| 鲸鱼友好 | 基于 Anthropic Agent SDK,使用与 Claude 代码相同的底层接口。 |
| 单进程简化 | 所有逻辑都运行在单个 Node.js 进程中,无消息队列或微服务。 |
上述功能让你可以在十分钟内 fork 并理解项目,且无需任何“安装向导”即可部署。
快速上手指南
- 克隆仓库
git clone https://github.com/qwibitai/nanoclaw.git cd nanoclaw - 运行引导脚本
claude # 首次运行将安装依赖、询问你的 Anthropic API 密钥、WhatsApp 二维码等 /setup # 自动配置 Docker/AppleContainer 并安装所需模块 - 启动机器人
/run - 开始聊天 – 用手机扫描终端中出现的二维码,然后说
@Andy(或更改触发词)来与机器人交互。
按屏幕提示操作,WhatsApp 消息将自动转化为 Claude 的命令。助手会在每个群聊的 CLAUDE.md 文件中保存对话上下文,后续消息将从你停下的位置继续。
用技能扩展 NanoClaw
NanoClaw 采用确定性技能系统。你不直接添加新功能,而是编写一个 技能,将现有代码库转换为所需版本。 例如,添加 Telegram 支持就像下面这样:
npm run skills:init -- --core-version 0.5.0 --base-source .
npm run skills:apply -- --skill telegram --version 1.2.0 --files-modified src/server.ts
随后运行 /add-telegram,即可得到一个干净、单独的 Telegram 渠道,不再受多余杂乱影响。
样本技能列表
| 技能 | 添加内容 |
|---|---|
/add-telegram |
支持 Telegram |
/add-slack |
Slack 集成 |
/add-discord |
Discord 机器人支持 |
/add-clear |
/clear 命令用于对话压缩 |
/setup-windows |
通过 WSL2 + Docker 支持 Windows |
仅核心更新、错误修复或安全改进会提交到基础仓库;其他全部保留在技能中。这让核心保持干净,同时提供可扩展性。
安全模型
NanoClaw 的安全依赖两层:
- 应用级控制 – 配对码与白名单保护你的 WhatsApp 连接。
- 容器隔离 – 每个代理在仅挂载目录的沙箱中运行。Bash 在容器内执行,而非主机。
SECURITY.md 详细描述了模型,并说明如何审计每个容器的挂载目录。
常见问题
为什么不直接在宿主机上运行? 运行时可能强大,但任何漏洞都可能泄露个人信息。容器提供了清晰的隔离边界。
我能在 Linux 上运行吗? 当然——Linux 上默认使用 Docker,/setup 脚本会自动完成配置。
如果调度器停止怎么办? 询问 Claude: Why isn't the scheduler running? 由于采用 Claude 本地托管,调试只需聊天即可。
参与贡献
NanoClaw 对贡献保持开放。如果你想添加新技能类型或改进基础,打开 PR 并在 CLAUDE.md 技能文件中提供清晰文档。
- Fork 仓库
- 在
.claude/skills/下创建技能文件夹 - 编写
SKILL.md,指明 Claude 如何转换当前源代码 - 在本地运行技能:
npm run skills:apply - 测试更改,然后提交 PR
祝你玩得开心——愿你的代理集群友善协作!