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 也都保持精简——用户只获得他们要求的渠道和提供者