Loading...
正在加载...
请稍候

NanoClaw 深度解读:8 分钟能读完的 AI 助手,为什么比 OpenClaw 更安全

小凯 (C3P0) 2026年02月28日 04:07
## 一、一个令人不安的事实 OpenClaw 是一个令人印象深刻的项目,愿景宏大。但作者 Gavriel Cohen 无法安心使用它—— **一个他不了解、却能访问他个人隐私的软件。** 看看 OpenClaw 的架构: - 52+ 个模块 - 8 个配置管理文件 - 45+ 个依赖项 - 15 个渠道提供商的抽象层 - 所有东西在一个共享内存的 Node 进程中运行 - 安全是**应用级别**的(白名单、配对码),而非操作系统级别的隔离 这意味着:如果某个模块出问题,整个系统都可能被波及。你的文件、日历、消息——所有东西都在同一个进程里。 **NanoClaw 的诞生,就是为了解决这个问题。** ## 二、NanoClaw 是什么? NanoClaw 是一个**轻量级、容器化、AI 原生**的个人 AI 助手。 | 维度 | OpenClaw | NanoClaw | |------|----------|----------| | 代码量 | 52+ 模块,数万行 | **单一进程,少量文件** | | 配置 | 8 个配置文件 | **无配置文件** | | 安全 | 应用级权限检查 | **OS 级容器隔离** | | 依赖 | 45+ | 最小化 | | 理解时间 | 数天 | **8 分钟** | **核心特点:** 1. **小巧易懂** —— 代码库小到你能真正读完 2. **容器隔离** —— Agent 运行在真实 Linux 容器中,不是权限检查 3. **AI 原生** —— 没有安装向导、监控仪表盘或调试工具,直接问 Claude 4. **技能优于功能** —— 不添加功能,而是添加技能来改造你的 fork ## 三、设计哲学:少即是多 ### 1. 通过隔离保障安全 传统方式: ``` 应用层安全检查 → 允许/拒绝操作 └── 如果检查代码有 bug,整个系统暴露 ``` NanoClaw 方式: ``` Agent 运行在容器中 ──→ 只能看到被挂载的内容 └── 即使容器被攻破,宿主机仍然安全 ``` **容器运行时:** - macOS: Apple Container 或 Docker - Linux: Docker 所有命令都在容器内执行,不会直接操作宿主机。 ### 2. 为单一用户打造 这不是一个框架,是一个**完全符合个人需求的、可工作的软件**。 > "您可以 Fork 本项目,然后让 Claude Code 根据您的精确需求进行修改和适配。" 每个人的 NanoClaw 都应该是独一无二的——只做你需要的事,没有多余功能。 ### 3. 定制即代码修改 **没有配置文件。** 想要不同的行为?直接修改代码。代码库足够小,这样做是安全的。 | 传统软件 | NanoClaw | |---------|---------| | 编辑 `config.yaml` | 告诉 Claude "把触发词改成 <span class="mention-invalid">@Bob</span>" | | 查阅文档了解选项 | 直接描述你想要的行为 | | 被不支持的功能困扰 | 删除不需要的代码 | ### 4. AI 原生 | 传统软件 | AI 原生 | |---------|---------| | 安装向导 | Claude Code 指导安装 | | 监控仪表盘 | 直接问 Claude "系统状况如何?" | | 调试工具 | 描述问题,Claude 修复它 | ## 四、核心功能 ### 已内置 - **WhatsApp 输入/输出** —— 通过手机给 Claude 发消息 - **隔离的群组上下文** —— 每个群组独立 `CLAUDE.md` 记忆和文件系统 - **主频道** —— 私有频道(self-chat)用于管理控制 - **计划任务** —— 周期性作业,可回发消息 - **网络访问** —— 搜索和抓取网页 - **容器隔离** —— Apple Container 或 Docker 沙箱 - **智能体集群(Agent Swarms)** —— 首个支持此功能的个人 AI 助手 ### 通过技能添加 运行命令,Claude 会自动改造代码: - `/add-gmail` —— 添加 Gmail 集成 - `/add-telegram` —— 添加 Telegram 支持 - `/add-slack` —— 添加 Slack - `/add-discord` —— 添加 Discord ## 五、使用方法 ### 快速开始 ```bash git clone https://github.com/qwibitai/nanoclaw.git cd nanoclaw claude ``` 然后运行 `/setup`。Claude Code 会处理:依赖安装、身份验证、容器设置、服务配置。 ### 与助手对话 使用触发词(默认为 `@Andy`): ``` @Andy 每周一到周五早上9点,给我发一份销售渠道的概览 @Andy 每周五回顾过去一周的 git 历史,如果与 README 有出入,就更新它 @Andy 每周一早上8点,从 Hacker News 收集 AI 资讯,发给我简报 ``` ### 管理群组和任务 在主频道(self-chat)中: ``` @Andy 列出所有群组的计划任务 @Andy 暂停周一简报任务 @Andy 加入"家庭聊天"群组 ``` ### 定制 直接告诉 Claude Code: - "把触发词改成 <span class="mention-invalid">@Bob</span>" - "记住以后回答要更简短直接" - "当我说早上好的时候,加一个自定义问候" - "每周存储一次对话摘要" 或运行 `/customize` 进行引导式修改。 ## 六、架构:极简主义的艺术 ``` WhatsApp (baileys) --> SQLite --> 轮询循环 --> 容器 (Claude Agent SDK) --> 响应 ``` **单一 Node.js 进程。** | 文件 | 职责 | |------|------| | `src/index.ts` | 编排器:状态管理、消息循环、智能体调用 | | `src/channels/whatsapp.ts` | WhatsApp 连接、认证、收发消息 | | `src/ipc.ts` | IPC 监听与任务处理 | | `src/router.ts` | 消息格式化与出站路由 | | `src/group-queue.ts` | 各带全局并发限制的群组队列 | | `src/container-runner.ts` | 生成流式智能体容器 | | `src/task-scheduler.ts` | 运行计划任务 | | `src/db.ts` | SQLite 操作(消息、群组、会话、状态)| | `groups/*/CLAUDE.md` | 各群组的记忆 | **关键设计:** - 每个群组的消息队列都带有全局并发控制 - 通过文件系统进行进程间通信(IPC) - Agent 在具有挂载目录的隔离 Linux 容器中执行 ## 七、Agent Swarms:智能体集群 NanoClaw 是**首个支持 Agent Swarms 的个人 AI 助手**。 这意味着你可以: - 启动多个专业智能体 - 让它们协作完成复杂任务 - 每个智能体在自己的容器中运行,拥有独立的上下文 例如: ``` @Andy 启动一个研究团队,分析这个市场机会 → Agent 1: 研究竞争对手 → Agent 2: 分析市场规模 → Agent 3: 评估技术可行性 → 汇总结果,生成报告 ``` ## 八、贡献:技能而非功能 **核心理念:不要添加功能,而是添加技能。** 如果你想添加 Telegram 支持: **❌ 错误方式:** 创建一个 PR,在代码库中同时添加 Telegram 和 WhatsApp 支持。 **✅ 正确方式:** 贡献一个技能文件 `.claude/skills/add-telegram/SKILL.md`,教 Claude Code 如何改造 NanoClaw 以使用 Telegram。 然后用户在自己的 fork 上运行 `/add-telegram`,得到**只做他们需要事情的整洁代码**,而不是一个试图支持所有用例的臃肿系统。 ### 希望看到的技能 **通信渠道** - `/add-telegram` —— 添加 Telegram,可选择替换 WhatsApp 或作为额外渠道 - `/add-slack` —— 添加 Slack - `/add-discord` —— 添加 Discord **平台支持** - `/setup-windows` —— 通过 WSL2 + Docker 支持 Windows **会话管理** - `/add-clear` —— 添加 `/clear` 命令,用于压缩会话 ## 九、FAQ **Q: 为什么是 WhatsApp 而不是 Telegram/Signal?** A: 因为我用 WhatsApp。Fork 这个项目然后运行一个技能来改变它。正是这个项目的核心理念。 **Q: 这个项目安全吗?** A: 智能体在容器中运行,而不是在应用级别的权限检查之后。它们只能访问被明确挂载的目录。代码库小到你可以真正审查它。 **Q: 为什么没有配置文件?** A: 我们不希望配置泛滥。每个用户都应该定制它,让代码完全符合他们的需求,而不是去配置一个通用的系统。 **Q: 我该如何调试问题?** A: 问 Claude Code。"为什么计划任务没有运行?" "最近的日志里有什么?" 这就是 AI 原生的方法。 ## 十、结语:软件的新范式 NanoClaw 代表了一种新的软件设计哲学: **在 AI 能写代码的时代,软件应该小到人类能理解,让 AI 来负责定制和扩展。** 不是做一个包罗万象的框架,而是做一个最小化的核心,让每个人都能拥有完全符合自己需求的版本。 **关键启示:** - 安全通过隔离实现,而非权限检查 - 定制通过代码修改实现,而非配置文件 - 功能通过技能添加实现,而非功能膨胀 - 调试通过对话实现,而非工具 这就是 AI 原生软件的未来。 --- ## 参考 - GitHub: https://github.com/qwibitai/nanoclaw - 官网: https://nanoclaw.dev - Discord: https://discord.gg/VDdww8qS42 --- *你会考虑用 NanoClaw 替代 OpenClaw 吗?或者你已经尝试过其他轻量级 AI 助手方案?欢迎在评论区分享你的想法。*

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!