nanocoai /nanoclaw

A lightweight alternative to OpenClaw that runs in containers for security. Connects to WhatsApp, Telegram, Slack, Discord, Gmail and other messaging apps,, has memory, scheduled jobs, and runs directly on Anthropic's Agents SDK

★ 31,097⑂ 12,655
TypeScriptCreated 2026-01-31nanoclaw.dev
31,097
stars
+20+24
12,655
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

一个将智能体安全运行在独立容器中的 AI 助手。轻量、易于理解,并可根据您的需求完全定制。



  nanoclaw.dev  •  
  文档  •  
  English  •  
  日本語  •  
  한국어  •  
    •  
  


---

 我为什么创建 NanoClaw

OpenClaw 是一个令人印象深刻的项目,但我无法安心使用一个我不了解、却能访问我个人隐私的复杂软件。OpenClaw 有近 50 万行代码、53 个配置文件和 70+ 个依赖项。其安全性是应用级别的(白名单、配对码),而非真正的操作系统级隔离。所有东西都在一个共享内存的 Node 进程中运行。

NanoClaw 用一个您能轻松理解的代码库提供了同样的核心功能:一个进程,少数几个文件。Claude 智能体运行在具有文件系统隔离的独立 Linux 容器中,而不是仅靠权限检查。

 快速开始

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


nanoclaw.sh 会把您从一台全新机器一直带到一个可以直接发消息的命名智能体。它会在缺失时安装 Node、pnpm 和 Docker,向 OneCLI 注册您的 Anthropic 凭据,构建智能体容器,并配对您的第一个渠道(Telegram、Discord、WhatsApp 或本地 CLI)。如果某一步失败,会自动调用 Claude Code 进行诊断并从中断处继续。

 设计哲学

小到可以理解。 单一进程,少量源文件,无微服务。如果您想了解完整的 NanoClaw 代码库,直接让 Claude Code 给您讲一遍就行。

通过隔离实现安全。 智能体运行在 Linux 容器中,只能看到明确挂载的内容。Bash 访问是安全的,因为命令在容器内执行,而不是在您的宿主机上。

为个人用户打造。 NanoClaw 不是一个单体框架,而是能精确匹配每个用户需求的软件。它被设计成量身定制的,而不是臃肿膨胀。您创建自己的 fork,让 Claude Code 按您的需求修改它。

定制 = 修改代码。 没有配置膨胀。想要不同的行为?改代码。代码库小到改动是安全的。

AI 原生,混合式设计。 安装与上手流程走的是经过优化的脚本路径,快速且确定。当某一步需要判断(安装失败、引导决策、定制化)时,控制权会无缝地交给 Claude Code。安装之后也不提供监控仪表盘或调试 UI:您在聊天中描述问题,Claude Code 来处理。

技能优于功能。 主干只发布注册表和基础设施,不包含具体的渠道适配器或替代智能体提供者。各个渠道(Discord、Slack、Telegram、WhatsApp……)放在长期存在的 channels 分支上;替代提供者(OpenCode、Ollama)放在 providers 分支上。您运行 /add-telegram、/add-opencode 等,技能会把您所需要的模块精确地复制到您的 fork 里。不会出现您没要求的功能。

最强的 harness,最强的模型。 NanoClaw 通过 Anthropic 官方的 Claude Agent SDK 原生使用 Claude Code,所以您能用上最新的 Claude 模型以及 Claude Code 的完整工具集——包括修改和扩展自己的 NanoClaw fork 的能力。其他提供者是可插拔选项:/add-codex 对应 OpenAI 的 Codex(ChatGPT 订阅或 API key),/add-opencode 通过 OpenCode 接入 OpenRouter、Google、DeepSeek 等,/add-ollama-provider 用于本地开源权重模型。提供者可按智能体组单独配置。

 功能支持

- 多渠道消息 — WhatsApp、Telegram、Discord、Slack、Microsoft Teams、iMessage、Matrix、Google Chat、Webex、Linear、GitHub、WeChat,以及通过 Resend 的邮件。按需通过 /add- 技能安装。可同时运行一个或多个。
- 灵活的隔离模式 — 可为每个渠道配一个独立智能体以获得完全隐私,也可让一个智能体在多个渠道上共享、统一记忆但会话独立,或者把多个渠道合并到一个共享会话里,让一场对话横跨多个入口。通过 /manage-channels 按渠道选择。详见 docs/isolation-model.md。
- 每个智能体的独立工作区 — 每个智能体组都有自己的 CLAUDE.md、自己的记忆、自己的容器,以及您允许的挂载点。除非您明确接线,否则不会有东西越过边界。
- 计划任务 — 运行 Claude 的周期性作业,可以给您回发消息。
- 网络访问 — 搜索和抓取网页内容。
- 容器隔离 — 智能体在 Docker(macOS/Linux/WSL2)中沙箱化运行,可选 Docker Sandboxes 的微虚拟机隔离,或在 macOS 上选用 Apple Container 作为原生运行时。
- 凭据安全 — 智能体不持有原始 API key。出站请求经由 OneCLI 的 Agent Vault,在请求时注入凭据,并按每个智能体执行策略和速率限制。

 使用方法

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


@Andy 每个工作日早上 9 点给我发一份销售渠道概览(可以访问我的 Obsidian vault 文件夹)
@Andy 每周五回顾过去一周的 git 历史,如果与 README 有出入就更新它
@Andy 每周一早上 8 点,从 Hacker News 和 TechCrunch 收集 AI 相关资讯,给我发一份简报


在您拥有或管理的渠道里,还可以管理群组和任务:

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


 定制

NanoClaw 不用配置文件。想改就直接告诉 Claude Code:

- "把触发词改成 @Bob"
- "以后回答请更简短、更直接"
- "我说早上好的时候加一个自定义问候"
- "每周保存一次会话摘要"

或者运行 /customize 进行引导式修改。

代码库足够小,Claude 可以安全地修改它。

 贡献

不要加功能,要加技能。

如果您想添加新的渠道或智能体提供者,不要把它加到主干上。新的渠道适配器进入 channels 分支;新的智能体提供者进入 providers 分支。用户在自己的 fork 上运行 /add- 技能,由技能把相关模块复制到标准路径、接好注册、固定依赖版本。

这样主干始终保持为纯粹的注册表和基础设施,每个 fork 也都保持精简——用户只获得他们要求的渠道和提供者

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON