文章目录

在 AI 编程助手领域,一个项目最近引起了我的注意:NanoClawnanocoai/nanoclaw)。这是一个用 TypeScript 编写的轻量级 AI Agent 框架,目前 GitHub 上已获得 29,317 Stars,采用 MIT 开源许可证。它最吸引人的一点不是功能有多花哨,而是它对安全的理解方式——真正用容器隔离 AI Agent,而不是靠应用层的权限列表

说起 AI Agent 框架,你可能已经用过 OpenClaw、LangChain,或者各大厂商推出的 Agent SDK。这些框架功能确实强大,但有一个共同的问题:它们的安全模型都是「应用级」的——靠 allowlists、pairing codes 这类手段来限制 AI 能做什么。但这些限制本质上是软件逻辑,一旦被绕过,AI 就能访问你整台机器的所有资源。

NanoClaw 的作者显然意识到这一点。他的原话是这么说的:

「OpenClaw 是一个令人印象深刻的项目,但如果我把一个我不完全理解的复杂软件赋予对我生活的完全访问权限,我会睡不着觉。」

他说 OpenClaw 有近 50 万行代码、53 个配置文件、70+ 依赖项,一切都在一个 Node.js 进程中运行,共享内存。NanoClaw 的核心思路则完全不同:用 Linux 容器真正隔离每个 AI Agent 的运行环境——文件系统隔离、系统调用限制,而不是靠代码里的 if-else 来「保护」。这个设计哲学非常务实,也非常值得学习。

根据 NanoClaw 的 README,这个项目的设计哲学可以用四个关键词概括:

  • Small enough to understand(小到可以理解):整个代码库只有少数几个源文件,不是什么微服务架构。如果你想完全理解 NanoClaw 的运行逻辑,直接问 Claude Code 带你读代码就行。
  • Secure by isolation(通过隔离保证安全):Agent 运行在 Linux 容器中,只能访问明确挂载的目录。Bash 操作是安全的,因为命令在容器内执行,不会直接影响宿主机。
  • Built for the individual user(为个人用户构建):NanoClaw 不是大包大揽的框架,每个用户的安装都是根据自己需求定制的 fork。Claude Code 直接修改代码,而不是填写配置文件。
  • Skills over features(技能优于功能):主线仓库只负责注册表和基础设施,具体的 channel 适配器(Discord、Slack、Telegram、WhatsApp 等)和 Agent provider 在各自的独立分支上。用户通过 /add-telegram/add-opencode 这样的 skill 命令来安装需要的功能。

在支持的平台方面,NanoClaw 已经支持:WhatsApp、Telegram、Discord、Slack、Microsoft Teams、iMessage、Matrix、Google Chat、Webex、Linear、GitHub、WeChat,以及通过 Resend 的邮件支持。支持的 AI 模型方面,默认使用 Claude Code(Anthropic 官方 SDK),同时支持 OpenAI Codex(通过 /add-codex)和 OpenRouter/Google/DeepSeek 等(通过 /add-opencode),还支持通过 Ollama 使用本地开源模型。

场景一:个人 AI 助手私人部署

你想定制一个只属于你自己的 AI 助手,它能读取你的 Obsidian 笔记文件夹,帮你总结每天的工作进展?NanoClaw 可以给你一个运行在 Docker 容器中的专属 Agent,通过 Telegram 或 WhatsApp 与它对话,完全隔离,不会意外访问到你的敏感文件。

场景二:定时任务自动化

NanoClaw 支持定时任务(scheduled jobs),你可以这样配置:「每个工作日上午 9 点,从 Hacker News 抓取 AI 相关的最新新闻,整理成简报发给我」。它会自动在容器中运行 Claude,生成报告,然后通过你的消息平台推送。

场景三:多渠道统一管理

你管理着多个 Discord 服务器和 Telegram 群,想让不同群组的 AI 助手有不同的记忆和配置?NanoClaw 支持按 channel 配置独立的 Agent 隔离模型——可以每个群一个 Agent,也可以多个 channel 共用一个 Agent 共享记忆,灵活配置。

下面是我的实操记录,整个安装流程比我预期的简单很多(macOS 环境):

第一步:克隆代码

git clone https://github.com/nanocoai/nanoclaw.git nanoclaw-v2
cd nanoclaw-v2

第二步:运行安装脚本

bash nanoclaw.sh

这个脚本会自动检测并安装缺失的依赖:Node.js、pnpm、Docker,以及注册 Anthropic 凭证。如果某一步失败,脚本会自动调用 Claude Code 来诊断和恢复——这是我个人觉得最有意思的设计细节。

第三步:配对你的第一个 channel

安装完成后,你可以选择配对 Telegram、Discord、WhatsApp 或本地 CLI。以 Telegram 为例:

@Andy /add-telegram
# 按照提示填入 Bot Token

第四步:开始对话

@Andy 帮我总结一下今天的技术新闻

第五步(可选):添加自定义记忆

@Andy 以后每周五下午5点提醒我做周报

整个过程不需要写任何配置文件——直接用自然语言让 Claude Code 帮你改代码。这是「AI-native」设计理念的体现。

  • 真正的容器级隔离:与大多数只在应用层做权限控制的 AI Agent 框架不同,NanoClaw 将每个 Agent 放在独立的 Linux 容器中运行,文件系统、网络、进程空间完全隔离。即使 AI 被要求执行恶意命令,它也只能在容器范围内活动,无法直接访问宿主机资源。
  • Credential Vault 安全注入:API 密钥不会以明文形式进入容器,而是通过 OneCLI 的 Agent Vault 在请求时动态注入,并支持每个 Agent 的独立速率限制和访问策略。这从根本上杜绝了密钥泄露的风险。
  • 极简架构,易于理解:整个系统只有两个 SQLite 文件(inbound.db 和 outbound.db),每个文件只有一个写入者,完全避免了跨进程并发写入的竞争问题。不需要复杂的 IPC 或 stdin 管道。
  • 插件式 Channel 和 Provider 架构:主线只保留注册表和基础设施,新的 channel 或 AI provider 以 skill 形式存在,用户通过命令安装后自动注入到自己的 fork 中。这种设计确保每个用户的安装都是「刚好够用」的,不会积累不需要的代码。

⭐ 29.3k | 📈 +890 today

在 AI Agent + 多平台消息接入这个赛道上,主要竞争对手包括 OpenClaw、Mastra 和 Botpress。

vs OpenClaw:OpenClaw 功能最全面,支持的平台最多,但代价是 50 万行代码量和复杂的配置体系。NanoClaw 的选择是「小而精」——功能不如 OpenClaw 丰富,但代码量少到可以让 Claude 直接帮你修改定制。如果你需要深度定制,NanoClaw 的上手门槛反而更低。

vs Mastra:Mastra 更偏向于开发者友好的工作流编排(workflow orchestration),适合构建复杂的 AI 应用。NanoClaw 则更侧重「个人助手」场景——直接运行在用户本地机器上,不需要服务器。如果你想要一个「我的专属 AI」,NanoClaw 比 Mastra 轻量得多。

Issue #1503 — nanoclaw.dev SSL 证书问题(19 条评论)

这是一个很有意思的社区讨论。有用户报告 nanoclaw.dev 网站在多个浏览器上出现 SSL_ERROR_RX_RECORD_TOO_LONG 错误,无法正常访问。维护者确认域名托管在 Vercel,SSL 证书由 Vercel 自动生成,且大多数用户访问正常。有用户指出这可能是某些地区或 ISP 的中间人问题。

点评:这个 Issue 本身很小,但它反映出 NanoClaw 作为活跃开源项目的社区参与度——即使是网站问题,也有十几个人参与讨论,说明社区在认真使用这个工具。

Issue #1984 — 自定义/OpenAI 兼容端点支持(6 条评论)

有用户提出,虽然 NanoClaw 文档中记录了通过「Option C — BYO OpenAI-compatible endpoint」使用自定义后端的方式,但实际上要让 Codex 或其他 OpenAI 兼容端点真正工作,需要手动 patch provider 源代码。该用户已经在自己的 fork 中实现了修复,希望上游合并。

点评:这类 Issue 代表了 NanoClaw 当前的一个痛点——框架架构设计灵活,但某些接入点的文档和实际体验之间还有差距。对于想接入本地模型的玩家来说,需要有一定动手能力。

Issue #1408 — CLI 重命名为 nanoclaw 并添加子命令(8 条评论)

这是一个功能提案,希望将 NanoClaw 的 Python CLI 从 claw 重命名为 nanoclaw,并新增 nanoclaw ps(容器状态)、nanoclaw sessions(会话管理)、nanoclaw history(历史记录)、nanoclaw watch(实时监控)等子命令。

点评:从这个 Issue 可以看出社区在推动工具的可用性提升,CLI 的完善对于习惯命令行操作的开发者来说是重要体验改善。

  • macOS 上 Docker 资源限制:NanoClaw 默认使用 Docker 容器运行 Agent,在 macOS 上 Docker Desktop 默认分配的内存可能只有 2GB。如果你的 Agent 需要处理较长上下文或复杂推理,可能会遇到 OOM(内存溢出)问题。解决方案:打开 Docker Desktop 设置,将内存调整到 4GB 以上,或者使用 /convert-to-apple-container 命令切换到 macOS 原生的 Apple Container 运行时(更轻量)。
  • Windows 支持依赖 WSL2:NanoClaw 在 Windows 上需要通过 WSL2 运行,直接在 PowerShell 或 CMD 中无法工作。如果你使用的是纯 Windows 环境,需要先安装 WSL2(Windows Subsystem for Linux 2),然后在 WSL2 终端中运行 nanoclaw.sh 安装脚本。
  • Claude Code 凭证注册注意:安装脚本会调用 OneCLI 注册 Anthropic 凭证。如果你的网络环境无法直接访问 Anthropic API(国内常见),OneCLI 的注册步骤可能会卡住。解决方法:提前配置 ANTHROPIC_AUTH_TOKEN 环境变量,或使用 /add-opencode 接入 OpenRouter 作为替代方案。

NanoClaw 是一个很有想法的 AI Agent 框架。它没有试图成为功能最多的那个,而是专注于「做正确的事」——用容器级隔离解决 AI 安全问题,用极简架构让定制变得可能。它的设计理念「小到可以理解,定制即改代码」在当前 AI Agent 工具中独树一帜。

从我个人的体验来看,它的上手难度不算高,但需要你对 Docker 有基本了解——这既是门槛也是安全保障。适合有一定技术基础、重视隐私和安全、想要一个完全属于自己定制的 AI 助手的开发者。如果你追求的是开箱即用的丰富功能,OpenClaw 或 Mastra 可能更合适;但如果你想真正掌握 AI 助手的运行逻辑,并按需定制,NanoClaw 值得深入研究。


🔗 更多 GitHub 热门开源项目:Aiden — Autonomous AI Agent · DwarfStar 4 - DeepSeek V4