概要
NanoClawは、Appleコンテナ上で安全に動作する軽量なClaudeアシスタント。 理解・カスタマイズが容易な小規模コードベースを特徴。 セキュリティはアプリケーションレベルでなく、OSレベルのコンテナ隔離を採用。 機能追加は「スキル」として提供し、ベースコードは最小限に。 自身のニーズに合わせてフォークし、Claudeに案内させてカスタマイズ可能。
NanoClawとは
- Claude Agent SDK を活用した、 Appleコンテナ 上で動作するパーソナルアシスタント
- 軽量設計 :1プロセス・数ファイルのみ、8分で全容把握可能なコードベース
- セキュアな隔離 :各エージェントは Linuxコンテナ(Apple Container) で実行、明示的にマウントした領域のみアクセス可能
- 構成ファイル不要 :設定は全てClaude Code経由で指示、 カスタマイズはコード修正 で対応
- 1ユーザー特化 :汎用フレームワークではなく、目的特化型ソフトウェア
OpenClawとの違い
- OpenClaw は52以上のモジュール・45以上の依存関係を持つ複雑構成
- NanoClaw は ~500行のコアコード、ファイル数も最小限
- エージェントは 実際のOSコンテナ で分離され、 共有メモリ・プロセス なし
- セキュリティ重視 :アプリ内許可リストやペアリングコードでなく、 OSレベル隔離 を重視
クイックスタート
- git clone https://github.com/gavrielc/nanoclaw.git
- cd nanoclaw
- claude コマンド実行後、 /setup で初期設定
- Claude Code が依存関係・認証・コンテナ準備・サービス構成を自動処理
開発思想
- 小さく理解可能 :1プロセス・少数ファイル、抽象化・メッセージキュー・マイクロサービスなし
- 隔離による安全性 :bashコマンドも コンテナ内実行 でMac本体へ影響なし
- カスタマイズ容易 : コード修正 で動作変更、設定ファイルスプロールなし
- AIネイティブ :インストーラやダッシュボード不要、 Claude Code が全て案内・解決
- スキル重視 :新機能はコード追加でなく、 /add-xxx 形式のスキルで拡張
利用可能機能
- WhatsApp I/O :スマホからClaudeへメッセージ送信
- グループごとに独立した記憶・ファイルシステム隔離
- メインチャンネル :管理用プライベートチャット
- スケジュールタスク :定期実行・Claudeからの通知
- Webアクセス :検索・コンテンツ取得
- オプション連携 :Gmail等は /add-gmail 等のスキルで追加
具体的な使い方
- トリガーワード (デフォルト:@Andy)で指示
- @Andy 毎週月曜8時にHacker NewsのAIニュース要約を送信
- @Andy 毎朝9時にObsidianのsales pipeline概要を送信
- メインチャンネル で管理
- @Andy 全グループのスケジュールタスク一覧
- @Andy Family Chatグループに参加
カスタマイズ方法
- 設定ファイル不要、 Claude Code に自然言語で指示
- 例:「トリガーワードを@Bobに変更」「今後は回答を短く簡潔に」
- /customize コマンドで案内付きカスタマイズ
- コードベースが小さいため、 Claudeによる安全な自動修正 が可能
コントリビューション方針
- 新機能追加はスキルで :Telegram対応などは .claude/skills/add-telegram/SKILL.md 形式で貢献
- ベースコードは最小限維持 :セキュリティ・バグ修正・基本設定改善のみ受け入れ
- ユーザーは自分のforkにスキル適用 :不要な機能を抱え込まないクリーンなコード維持
スキル要望例(RFS)
- /add-telegram :Telegramチャンネル追加・制御用にも対応
- /add-slack、 /add-discord :各種チャネル追加
- /convert-to-docker :Apple Container→Docker変換
- /setup-windows :WSL2+DockerでWindows対応
- /add-clear :会話コンテキスト圧縮コマンド追加
アーキテクチャ概要
- WhatsApp(baileys) → SQLite → Polling loop → Container(Claude Agent SDK) → Response
- Node.js単一プロセス :各エージェントは隔離コンテナで実行、IPCはファイルシステム経由
- 主要ファイル
- src/index.ts:メインアプリ
- src/container-runner.ts:エージェントコンテナ管理
- src/task-scheduler.ts:スケジュールタスク
- src/db.ts:SQLite操作
- groups/*/CLAUDE.md:グループごとの記憶
FAQ抜粋
- なぜWhatsAppのみ? →作者がWhatsApp利用。forkしてスキルで他チャネル追加推奨
- なぜApple Container? →軽量・高速・macOS標準。Docker化もスキルで対応可
- Linuxで動く? →Claudeに「Linuxで動かしたい」と伝え、30分程度で対応可能
- セキュリティは? →エージェントはOSコンテナで分離、明示的なマウントのみアクセス可
- 設定ファイルがない理由? →設定スプロール防止、必要ならClaudeに追加指示
- デバッグ方法? →Claude Codeに自然言語で質問、「/debug」コマンドも利用可
- 受け入れられる変更は? →セキュリティ・バグ・基本設定改善のみ。新機能・拡張はスキルで
まとめ・特徴
- クリーンで小規模なコードベース、セキュアなコンテナ分離
- AIネイティブなカスタマイズ体験 :Claudeが全て案内
- forkして自分専用に最適化、不要な機能を排除
- MITライセンス、自由な拡張と貢献が可能
補足(運用者の声)
- Clawdbot運用経験 :OpenClawは巨大・高権限で不安、NanoClawは 500行・完全隔離 で安心
- 各チャットごとに独立したサンドボックス、まさに自分のためのアシスタント
- スイスアーミーナイフではなく、あなた専用のツール としての最適解