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
NanoClaw – 每个代理运行在独立 Docker 容器中的 AI 助手平台
是什么 – NanoClaw 是一个轻量级、开源的框架,用于构建可在您选择的任意聊天平台上对话的个人 AI 助手(代理)。核心理念是 隔离:每个代理都在其独立的 Linux 容器中运行,只能访问您显式挂载的文件,绝不会直接访问您的主机系统或 API 密钥。
为何存在 – 作者认为现有的“一体化”AI 助手项目(如 OpenClaw)过于庞大、难以审计,且依赖进程内权限检查。NanoClaw 将架构简化为单个 Node 进程和少量源文件,同时仍通过 Docker 为每个代理提供完整的操作系统级沙箱环境。
如何开始 – 克隆仓库并运行 bash nanoclaw.sh。该脚本:
- 若缺少 Node、pnpm 或 Docker,则自动安装。
- 通过 OneCLI 的“代理保险库”注册您的 Anthropic(Claude)凭据。
- 构建一个将运行代理的 Docker 镜像。
- 将代理与一个消息通道(Slack、Telegram、Discord、WhatsApp、iMessage 等)配对。 若任一步骤失败,脚本会将问题交给 Claude Code(AI 驱动的调试器),它可自动诊断并重试。
核心概念
| 概念 | 含义 |
|---|---|
| 代理组 | 共享一个内存存储(CLAUDE.md)和专用容器的代理逻辑集合。 |
| 通道适配器 | 将聊天服务消息转换为内部格式的小型插件。可通过 /add-slack 或 /add-telegram 等命令按需安装。 |
| 隔离模型 | 每个通道可连接到独立代理(完全隐私)、共享代理(跨通道单个内存),或混合“共享会话”(一个对话跨越多个界面)。 |
| OneCLI 代理保险库 | 一个代理,可在请求时注入 API 密钥(Anthropic、OpenAI 等),因此密钥永远不会出现在容器内。 |
| 计划任务 | 代理可执行的重复性任务,可选择通过“脚本门”保护,当无工作时跳过执行。 |
| 模板 | 预制的指令、工具和技能包,可通过 ncl groups create --template <ref> 命令复制到新的 groups/<name> 文件夹中。 |
支持的聊天平台 – WhatsApp、Telegram、Discord、Slack、Microsoft Teams、iMessage、Matrix、Google Chat、Webex、Linear、GitHub、WeChat,以及通过 Resend 的电子邮件。新适配器作为 技能 添加到独立的 channels 分支,并通过简单的 /add-<channel> 命令复制到您的分支中。
模型后端 – 默认情况下,NanoClaw 通过官方 Claude Agent SDK 与 Anthropic 的 Claude 通信。您可通过 /add-opencode 或 /add-ollama-provider 切换到其他提供方(OpenAI Codex、OpenRouter 通过 OpenCode、本地 Ollama 模型等)。不同代理组可同时使用不同提供方。
安全亮点
- 容器沙箱 – 代理在 Docker 容器(macOS、Linux 或 WSL2)中运行。仅您挂载的目录可见。
- 容器内无原始密钥 – 所有出站 API 调用均通过 OneCLI 的代理保险库进行,强制执行代理级策略和速率限制。
- 无用户账户 – NanoClaw 不在云端存储任何内容;唯一的可选云端交互是获取预构建的加固代理镜像或启用社区门户功能。
自定义工作流 – 不使用庞大的配置文件,而是告诉内置的 Claude Code AI 您想要什么(例如“将触发词改为 @Bob”或“添加自定义早晨问候”)。由于代码库有意保持极小,Claude 可直接编辑源代码。
开发与贡献模式 – 主 trunk 分支保持最小化(注册表、编排、核心数据库)。新通道适配器位于 channels 分支,新提供方适配器位于 providers 分支。用户通过 /add-<name> 技能在自己的分支中安装;项目仅接受核心的安全修复和错误修复。
典型用例 – 设置后,您可使用触发词(默认 @Andy)与助手对话:
@Andy 每个工作日早上9点发送销售管道概览(可访问我的 Obsidian 仓库文件夹)
@Andy 每周五审查过去一周的 git 历史,并在有偏差时更新 README
助手在隔离容器中运行,拉取所需数据,并将结果发回您调用它的频道。
许可证 – MIT。
以上所有细节均直接来自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目