campaign Ogłoszenia
To jest strona fanowska stworzona przez społeczność. Jako źródło prawdy używaj wyłącznie oficjalnego repozytorium (github.com/qwibitai/nanoclaw).
Nie uruchomiono żadnego oficjalnego programu zbierania funduszy/inwestycji. Ignoruj próby podszywania się i nieoficjalne twierdzenia.
Warunki Anthropic OAuth uległy zmianie (2026-02-19). Tymczasowo unikaj integracji Claude Code OAuth do czasu wyjaśnienia ryzyka związanego z polityką.
info Wprowadzenie
NanoClaw to lekki, w pełni autonomiczny osobisty asystent AI zbudowany na Anthropic Claude Agent SDK. Agenci działają w izolowanych kontenerach Linux (Apple Container na macOS, Docker na Linux/macOS). WhatsApp wbudowany, inne kanały przez umiejętności. Trwała pamięć SQLite, zaplanowane zadania, dostęp do sieci i roje agentów.
download Instalacja
NanoClaw to projekt TypeScript. Sklonuj repozytorium i zainstaluj przez 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 Szybka konfiguracja (zalecana)
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 Ręczne budowanie i instalacja
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
npm install
# Edit src/index.ts to configure your settings
npm start Tryb deweloperski: uruchom 'npm run dev' dla trybu deweloperskiego z automatycznym przeładowaniem.
rocket_launch Szybki start
Uruchom konfigurację raz, aby ustawić parametry, a potem zacznij rozmawiać.
# 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 Konfiguracja odbywa się przez bezpośrednią edycję kodu źródłowego. Klucze API trafiają do .env, konfiguracja kanałów do src/index.ts.
terminal Polecenia
NanoClaw używa skryptów npm do każdego przepływu pracy.
| Polecenie | Opis |
|---|---|
npm run setup | Interaktywny kreator konfiguracji — zależności, uwierzytelnianie, konfiguracja kontenerów, konfiguracja usługi |
npm start | Uruchom agenta (uruchamia skompilowany dist/index.js) |
npm run dev | Tryb deweloperski z automatycznym przeładowaniem (tsx src/index.ts) |
npm run build | Kompiluj TypeScript do dist/ |
npm test | Uruchom zestaw testów (vitest) |
npm run auth | Uwierzytelnianie WhatsApp — parowanie kodem QR (tsx src/whatsapp-auth.ts) |
forum Kanały
WhatsApp to wbudowany kanał (przez bibliotekę Baileys). Inne kanały — Telegram, Discord, Slack — można dodać przez umiejętności Claude Code (/add-telegram, /add-discord, /add-slack). Każda grupa ma własny izolowany kontener i pamięć 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 Wskazówka: Uruchom /add-telegram lub /add-discord w Claude Code, aby dodać więcej kanałów. Umiejętności bezpośrednio modyfikują kod źródłowy Twojego forka.
build Narzędzia
Narzędzia to możliwości, które agent może wywoływać podczas rozmowy. Wszystkie wbudowane narzędzia są domyślnie izolowane w piaskownicy i ograniczone do przestrzeni roboczej.
# 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 System pamięci
NanoClaw używa SQLite (better-sqlite3) do trwałego przechowywania — wiadomości, grupy, sesje i zaplanowane zadania. Każda grupa ma też własny plik CLAUDE.md jako pamięć per grupa, montowany do kontenera.
# 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 Konfiguracja
NanoClaw nie używa plików konfiguracyjnych. Aby wprowadzić zmiany, powiedz Claude Code, czego potrzebujesz. Kod źródłowy jest na tyle mały, że Claude może go bezpiecznie modyfikować. Klucze API trafiają do .env, wszystko inne jest w kodzie źródłowym.
# 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 Dostawcy AI
NanoClaw działa wyłącznie na Anthropic Claude Agent SDK. Claude Code działa wewnątrz każdego kontenera, zapewniając wszystkie możliwości AI.
| Komponent | Opis |
|---|---|
Claude Agent SDK | Główny silnik AI — uruchamia Claude Code wewnątrz kontenerów z pełnym dostępem do narzędzi |
Claude Code | Zainstalowany globalnie w obrazie kontenera, obsługuje wszystkie interakcje agenta |
MCP SDK | Model Context Protocol do ustrukturyzowanej komunikacji narzędziowej |
NanoClaw z założenia korzysta z jednego dostawcy. Claude Agent SDK zarządza wyborem modelu wewnętrznie. Ustaw ANTHROPIC_API_KEY w .env lub uwierzytelnij się przez Claude Code OAuth.
key Zmienne środowiskowe
Zmienne środowiskowe konfigurowane w lokalnym pliku .env. Sekrety są odczytywane na żądanie i nigdy ładowane do 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 | Zmienna | Opis |
|---|---|
ANTHROPIC_API_KEY | Klucz Anthropic API — przekazywany do kontenerów w czasie wykonania (wymagany) |
ASSISTANT_NAME | Słowo wyzwalające dla asystenta (domyślnie: Andy) |
ASSISTANT_HAS_OWN_NUMBER | Ustaw na 'true', jeśli asystent ma własny numer WhatsApp |
CONTAINER_IMAGE | Nazwa obrazu Docker dla kontenerów agentów (domyślnie: nanoclaw-agent:latest) |
CONTAINER_TIMEOUT | Maksymalny czas działania kontenera w ms (domyślnie: 1800000 / 30 min) |
TZ | Strefa czasowa dla zaplanowanych zadań (domyślnie: strefa czasowa systemu) |
shield Bezpieczeństwo
Agenci działają w kontenerach, nie za kontrolą uprawnień na poziomie aplikacji. Mają dostęp tylko do jawnie zamontowanych katalogów.
# 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 Architektura
Pojedynczy proces Node.js. Agenci wykonują się w izolowanych kontenerach Linux z izolacją systemu plików. Kolejka wiadomości per grupa z kontrolą współbieżności. IPC przez system plików.
| Moduł | Opis |
|---|---|
src/index.ts | Orkiestrator — stan, pętla wiadomości, wywoływanie agentów |
src/config.ts | Stałe konfiguracyjne, wzorzec wyzwalacza, ścieżki |
src/channels/whatsapp.ts | Połączenie WhatsApp przez Baileys, uwierzytelnianie, wysyłanie/odbieranie |
src/container-runner.ts | Uruchamia strumieniowe kontenery agentów z montowaniem wolumenów |
src/task-scheduler.ts | Uruchamia zaplanowane zadania przez wyrażenia cron |
src/router.ts | Formatowanie wiadomości i routing wychodzący |
src/db.ts | Operacje SQLite — wiadomości, grupy, sesje, stan |
src/ipc.ts | Obserwator IPC i przetwarzanie zadań między hostem a kontenerami |
skills-engine/ | Ładowanie manifestu umiejętności, zarządzanie stanem i odtwarzanie |
container/ | Dockerfile, agent-runner (Claude Agent SDK), automatyzacja przeglądarki |
code Rozwój
Standardowy przepływ pracy TypeScript/Node.js. Uruchom 'npm run dev' dla trybu deweloperskiego z automatycznym przeładowaniem.
# 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 Centrum dokumentacji
Szczegółową dokumentację znajdziesz w katalogu docs w oficjalnym repozytorium.
| Dokument | Ścieżka |
|---|---|
| Specyfikacja projektu | docs/SPEC.md |
| Wymagania | docs/REQUIREMENTS.md |
| Model bezpieczeństwa | docs/SECURITY.md |
| Szczegóły SDK | docs/SDK_DEEP_DIVE.md |
| Przegląd architektury | docs/nanoclaw-architecture-final.md |
| Struktura repozytorium | docs/nanorepo-architecture.md |
| Sieć Apple Container | docs/APPLE-CONTAINER-NETWORKING.md |
| Lista kontrolna debugowania | docs/DEBUG_CHECKLIST.md |
Gotowy do uruchomienia?
git clone https://github.com/qwibitai/NanoClaw.git && cd NanoClaw && claude