campaign 公告
这是一个粉丝创建的社区网站。请仅以官方仓库 (github.com/qwibitai/nanoclaw) 作为信息来源。
尚未启动官方募资/投资计划。请忽略冒充和非官方声明。
Anthropic OAuth 条款已变更 (2026-02-19)。在政策风险明确之前,暂时避免使用 Claude Code OAuth 集成。
info 简介
NanoClaw 是一个轻量级、完全自主的个人 AI 助手,基于 Anthropic Claude Agent SDK 构建。代理运行在隔离的 Linux 容器中(macOS 上使用 Apple Container,Linux/macOS 上使用 Docker)。内置 WhatsApp,其他渠道通过技能添加。持久化 SQLite 记忆、定时任务、网页访问和代理集群。
download 安装
NanoClaw 是一个 TypeScript 项目。克隆仓库并使用 npm 安装。
npm / Claude CLI
# macOS / Linux — clone and setup
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
claude
# Then run /setup in the Claude session
# Or install Claude CLI first:
npm install -g @anthropic-ai/claude-code 快速配置(推荐)
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
claude
# Run /setup inside the Claude session
# With environment variables pre-configured:
ANTHROPIC_API_KEY="sk-..." claude
# Quick start after setup:
npm start 手动构建与安装
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
npm install
# Edit src/index.ts to configure your settings
npm start 开发备选:运行 'npm run dev' 进入带热重载的开发模式。
rocket_launch 快速开始
运行一次引导配置,然后开始聊天。
# Clone and setup
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw && npm install
# Run setup wizard
npm run setup
# Start NanoClaw
npm start
# Development mode (hot reload)
npm run dev
# Run tests
npm test 配置通过直接编辑源代码完成。API 密钥放在 .env 中,渠道配置在 src/index.ts 中。
terminal 命令
NanoClaw 使用 npm 脚本处理所有工作流。
| 命令 | 描述 |
|---|---|
npm run setup | 交互式配置向导——依赖、认证、容器配置、服务配置 |
npm start | 启动代理(运行编译后的 dist/index.js) |
npm run dev | 带热重载的开发模式 (tsx src/index.ts) |
npm run build | 编译 TypeScript 到 dist/ |
npm test | 运行测试套件 (vitest) |
npm run auth | WhatsApp 认证——二维码配对 (tsx src/whatsapp-auth.ts) |
forum 渠道
WhatsApp 是内置渠道(通过 Baileys 库)。其他渠道——Telegram、Discord、Slack——可通过 Claude Code 技能添加 (/add-telegram, /add-discord, /add-slack)。每个群组拥有独立的隔离容器和 CLAUDE.md 记忆。
# WhatsApp (built-in via Baileys library)
# Run 'npm run auth' to pair via QR code
# Per-group containers with isolated CLAUDE.md memory
# Add more channels via Claude Code skills:
# /add-telegram — Telegram bot support
# /add-discord — Discord gateway support
# /add-slack — Slack Events API support
# Start the agent (connects WhatsApp)
npm start 提示:在 Claude Code 中运行 /add-telegram 或 /add-discord 添加更多渠道。技能会直接修改你 fork 的源代码。
build 工具
工具是代理在对话中可以调用的能力。所有内置工具默认在沙箱中运行,作用域限定在工作区内。
# Built-in tools (provided by Claude Code inside containers):
# shell commands, file read/write, web search,
# web browsing (Chromium + agent-browser),
# agent delegation (swarms)
# Host-provided capabilities:
# SQLite memory, scheduled tasks (cron),
# WhatsApp messaging, IPC between host and containers
# Container image includes Chromium and agent-browser
# Apple Container on macOS, Docker on Linux database 记忆系统
NanoClaw 使用 SQLite (better-sqlite3) 进行持久化存储——消息、群组、会话和定时任务。每个群组还有独立的 CLAUDE.md 文件用于群组级记忆,挂载到其容器中。
# SQLite database (better-sqlite3)
# Messages, groups, sessions, scheduled tasks, router state
# Per-group CLAUDE.md memory files
# Mounted into each group's container
# IPC via filesystem between host and containers
# No external database — everything is local settings 配置
NanoClaw 不使用配置文件。要修改,告诉 Claude Code 你想要什么。代码库足够小,Claude 可以安全地修改它。API 密钥放在 .env 中,其他一切都在源代码中。
# NanoClaw doesn't use configuration files
# To make changes, tell Claude Code what you want
# Key files:
# src/index.ts — orchestrator, state, message loop
# src/config.ts — constants, trigger pattern, paths
# .env — API key and runtime settings
# Environment variables:
ANTHROPIC_API_KEY="sk-ant-..."
ASSISTANT_NAME="Andy"
CONTAINER_IMAGE="nanoclaw-agent:latest" model_training AI 供应商
NanoClaw 完全基于 Anthropic Claude Agent SDK 运行。Claude Code 在每个容器内运行,提供所有 AI 能力。
| 组件 | 描述 |
|---|---|
Claude Agent SDK | 核心 AI 引擎——在容器内运行 Claude Code,拥有完整工具访问权限 |
Claude Code | 全局安装在容器镜像中,处理所有代理交互 |
MCP SDK | 用于结构化工具通信的模型上下文协议 |
NanoClaw 设计上仅支持单一供应商。Claude Agent SDK 内部处理模型选择。在 .env 中设置 ANTHROPIC_API_KEY 或通过 Claude Code OAuth 认证。
key 环境变量
在本地 .env 文件中配置的环境变量。密钥按需读取,绝不加载到 process.env 中。
# Required
ANTHROPIC_API_KEY=sk-ant-...
# Optional
ASSISTANT_NAME=Andy
ASSISTANT_HAS_OWN_NUMBER=false
CONTAINER_IMAGE=nanoclaw-agent:latest
CONTAINER_TIMEOUT=1800000
TZ=America/New_York | 变量 | 描述 |
|---|---|
ANTHROPIC_API_KEY | Anthropic API 密钥——运行时传递给容器(必需) |
ASSISTANT_NAME | 助手的触发词(默认:Andy) |
ASSISTANT_HAS_OWN_NUMBER | 如果助手有自己的 WhatsApp 号码,设置为 'true' |
CONTAINER_IMAGE | 代理容器的 Docker 镜像名称(默认:nanoclaw-agent:latest) |
CONTAINER_TIMEOUT | 容器最大运行时间,单位毫秒(默认:1800000 / 30分钟) |
TZ | 定时任务的时区(默认:系统时区) |
shield 安全
代理运行在容器中,而非应用层权限检查之后。它们只能访问明确挂载的目录。
# Container isolation (Apple Container / Docker)
# Each agent runs in its own Linux container
# Secrets passed via stdin JSON, never in process.env
# Mount allowlists with symlink escape detection
# Containers run as non-root with read-only project mounts account_tree 架构
单 Node.js 进程。代理在隔离的 Linux 容器中执行,具备文件系统隔离。群组级消息队列带并发控制。通过文件系统进行 IPC。
| 模块 | 描述 |
|---|---|
src/index.ts | 编排器——状态、消息循环、代理调用 |
src/config.ts | 配置常量、触发模式、路径 |
src/channels/whatsapp.ts | 通过 Baileys 的 WhatsApp 连接、认证、收发消息 |
src/container-runner.ts | 启动带卷挂载的流式代理容器 |
src/task-scheduler.ts | 通过 cron 表达式运行定时任务 |
src/router.ts | 消息格式化和出站路由 |
src/db.ts | SQLite 操作——消息、群组、会话、状态 |
src/ipc.ts | IPC 监听器和宿主与容器之间的任务处理 |
skills-engine/ | 技能清单加载、状态管理和重放 |
container/ | Dockerfile、agent-runner (Claude Agent SDK)、浏览器自动化 |
code 开发
标准 TypeScript/Node.js 工作流。运行 'npm run dev' 进入带热重载的开发模式。
# Clone the repo
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
# Install dependencies
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Build for production
npm run build menu_book 文档中心
如需深入文档,请参阅官方仓库中的 docs 目录。
| 文档 | 路径 |
|---|---|
| 项目规范 | docs/SPEC.md |
| 需求 | docs/REQUIREMENTS.md |
| 安全模型 | docs/SECURITY.md |
| SDK 深度解析 | docs/SDK_DEEP_DIVE.md |
| 架构概览 | docs/nanoclaw-architecture-final.md |
| 仓库结构 | docs/nanorepo-architecture.md |
| Apple Container 网络 | docs/APPLE-CONTAINER-NETWORKING.md |
| 调试清单 | docs/DEBUG_CHECKLIST.md |
准备好运行了?
git clone https://github.com/qwibitai/NanoClaw.git && cd NanoClaw && claude