NanoClaw:Claude搭載の軽量 WhatsApp AI アシスタント
NanoClaw: A Lightweight, Secure WhatsApp AI Assistant Powered by Claude
NanoClaw はオープンソースの趣味プロジェクトで、電話をパーソナル Claude パワードアシスタントに変えることができます。データは Docker や Apple Container コンテナに分離された状態で保管されます。Clawdbot / OpenClaw の単純で分かりやすい代替手段として構築され、ミニマリズム、セキュリティ、ユーザー操作型カスタマイズに重点を置いています。
Why NanoClaw?
| Feature | Why it matters |
|---|---|
| Container isolation | 各エージェントは独自の Linux コンテナで実行され、明示的にマウントされたディレクトリだけを参照できます。ホストシステムはそのまま残ります。 |
| No config sprawl | コードが小さすぎて、新機能を追加する際は大量の YAML や JSON ファイルを編集するのではなく、ソースコードを直接書き換えます。 |
| Agent swarms | 複雑な問題を自動で解決するためにエージェントのチームを起動できる、最初のパーソナルアシスタントです。 |
| Whale‑friendly | Anthropic Agent SDK に基づいているため、Claude Code と同じハーネスを利用できます。 |
| One‑process simplicity | すべてのロジックは単一の Node.js プロセスに集約されています。メッセージキューやマイクロサービスは不要です。 |
これらすべてが組み合わさって、フォークして十分で理解し、セットアップウィザードなしでデプロイできるプロジェクトになります。
Quick start guide
- Clone the repo
git clone https://github.com/qwibitai/nanoclaw.git cd nanoclaw - Run the bootstrap script
claude # 初回は依存関係をインストールし、Anthropic API キーと WhatsApp QR コード等を尋ねられます。 /setup # Docker/AppleContainer を自動で構成し、必要モジュールをインストールします。 - Launch the bot
/run - Start chatting – ターミナルの QR をスマホでスキャンし、
@Andy(またはトリガーワードを変更)を言って話し始めます。
画面上のプロンプトに従うと、WhatsApp メッセージが Claude のコマンドになります。アシスタントは各グループごとに CLAUDE.md ファイルに会話コンテキストを保持し、次回以降も続きから会話できるようにします。
Extending NanoClaw with Skills
NanoClaw は決定的なスキルシステムを導入しています。新機能を直接追加するのではなく、現在のコードベースを望むバージョンに変える スキル を作成します。たとえば Telegram サポートを追加するのは次のように簡単です:
npm run skills:init -- --core-version 0.5.0 --base-source .
npm run skills:apply -- --skill telegram --version 1.2.0 --files-modified src/server.ts
その後、/add-telegram を実行すると、余計な混乱を伴わずにクリーンな別チャネルが得られます。
Sample skill list
| Skill | What it adds |
|---|---|
/add-telegram |
Telegram サポート |
/add-slack |
Slack 連携 |
/add-discord |
Discord ボットサポート |
/add-clear |
会話圧縮用 /clear コマンド |
/setup-windows |
WSL2 + Docker 経由で Windows サポート |
主要な更新、バグ修正、セキュリティ向上はベースリポジトリにのみ反映され、その他はすべてスキルとして存在します。これによりコアをクリーンに保ちつつ、拡張性を確保できます。
Security model
NanoClaw のセキュリティは 2 層に分かれています。
- Application‑level controls – ペアリングコードと許可リストで WhatsApp 接続を保護します。
- Container isolation – 各エージェントはマウントされたディレクトリだけを含むサンドボックスで動作します。 Bash はコンテナ内部で実行され、ホスト上では動作しません。
リポジトリの SECURITY.md ではモデルを詳細に説明し、各コンテナにマウントされたものを監査する方法を示しています。
Common questions
Why not just run on the host? ランタイムは強力ですが、バグが個人情報を危険にさらす可能性があります。コンテナは堅固な境界を提供します。
Can I run on Linux? はい。Docker がデフォルトで Linux で動作し、/setup スクリプトがすべて自動で設定します。
What if the scheduler stops? Claude に聞いてみてください: Why isn't the scheduler running? Claude‑native ハーネスのおかげでデバッグは単なるチャットです。
Get involved
NanoClaw はオープンソースで貢献歓迎です。新しいスキルタイプを追加したい場合やベースを改善したい場合は、CLAUDE.md スキルファイルに明確なドキュメントを添えてプルリクエストを開いてください。
- リポジトリをフォークする
.claude/skills/配下にスキルフォルダを作成する- Claude が現在のソースを変換する方法を記した
SKILL.mdを書く npm run skills:applyでローカルでスキルを実行する- 変更をテストし、PR を提出する
楽しくハッキングして、エージェントがフレンドリーに群れを成すことを願っています!