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 驗證 — QR code 配對(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 | 用於結構化工具通訊的 Model Context Protocol |
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