発見!軽量な4,000行Pythonリポジトリをフル機能のパーソナルAIアシスタントへ変える方法を紹介します。nanobot プロジェクトはコアエージェント機能、リアルタイムデータ分析、そして Telegram/WhatsApp とのチャットアプリ統合を単一の設定ファイルで提供します。アーキテクチャの学習、pip や Docker での高速インストール、ローカルモデルの組み込み、タスクのスケジューリング、スキルセットの拡張を行いましょう。研究者、開発者、ホビイストに最適で、シンプルながら強力な AI コンパニオンを小型ハードウェアで動作させたい方へ。
February 03, 2026
カテゴリ:
チュートリアル記事
nanobotとは?
nanobot は Clawdbot に触発された超軽量パーソナルAIアシスタントです。しかしコードベースは数分で構築できる 約4,000行 です — Clawdbot の 430k+ 行に比べて格段に小さく。オープンソースツールと Python を駆使し、ラップトップやクラウド VM で数分で立ち上げられる、すぐに使えるチャットボットを提供します。
なぜ nanobot?
| ベネフィット | 詳細 |
|---|---|
| コンパクト | 4,000 行のクリーンで読みやすいコード。ほかのエージェントに比べ 99% 小さい |
| 高速 | 軽量なため RAM/CPU 使用量が低く、起動も速い |
| 研究に適した | モジュラー構成(スキル、ツール、チャネル)で拡張・変更が容易 |
| 柔軟なデプロイ | OpenRouter で即時使用可能、また vLLM を介したローカル LLM もシンプルな設定ファイルで実現 |
| マルチチャネル | Telegram や WhatsApp でチャットでき、Groq で音声文字起こしもサポート |
| スケジューリング | Cron 風のジョブで定期タスクを実行。リマインダーやデータ取得に最適 |
アーキテクチャ概要
nanobot/
├─ agent/ # コアループ、メモリ、スキル
├─ skills/ # ビルトイン機能(github、weather、tmux…)
├─ channels/ # Telegram/WhatsApp 統合
├─ cron/ # 定期タスクスケジューラ
├─ bus/ # メッセージルーティング
├─ providers/ # OpenAI、OpenRouter、Groq、vLLM
├─ config/ # CLI ヘルパー
└─ cli/ # コマンドラインエントリポイント
スキル はプロンプトで呼び出せる自己完結型モジュールです。エージェントループはユーザーの問い合わせを LLM に送信し、ツール呼び出しトークンを受け取り、該当スキルへ渡します。メモリは単純な SQLite ストアに永続化され、セッションを跨いで保持されます。
nanobot のインストール
1. PyPI から(安定版、速装)
pip install nanobot-ai
2. ソースから(最新機能)
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
pip install -e . # 開発モード
3. UV で高速インストール
uv tool install nanobot-ai
クイックスタートガイド
~/.nanobot/config.json へ最低限の設定を用意。
{
"providers": {
"openrouter": { "apiKey": "sk-or-xxxx" }
},
"agents": {
"defaults": { "model": "anthropic/claude-opus-4-5" }
}
}
チャットボットを起動:
nanobot onboard # 設定と作業スペースを初期化
nanobot agent -m "What is 2+2?"
対話モード:
nanobot agent # REPL を起動
Telegram でチャット
- @BotFather でボットを作成し、トークンを取得。
config.jsonにトークンとユーザー ID を追加。"channels": { "telegram": { "enabled": true, "token": "YOUR_BOT_TOKEN", "allowFrom": ["YOUR_USER_ID"] } }- 実行:
nanobot gateway
これで、ボットに送ったメッセージが CLI に表示され、逆も同様に機能します。
vLLM でローカル LLM をデプロイ
# ローカル Llama‑3 モデルを起動
vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8000
"providers": {
"vllm": { "apiKey": "dummy", "apiBase": "http://localhost:8000/v1" }
},
"agents": { "defaults": { "model": "meta-llama/Llama-3.1-8B-Instruct" } }
Docker による設定
# イメージをビルド
docker build -t nanobot .
# 一度だけオンボーディング
docker run -v ~/.nanobot:/root/.nanobot --rm nanobot onboard
# ゲートウェイを起動
docker run -v ~/.nanobot:/root/.nanobot -p 18790:18790 nanobot gateway
~/.nanobot を永続化すれば、API キーやワークスペースはコンテナ再起動後も残ります。
スケジュールタスク(Cron)
毎日挨拶を追加:
nanobot cron add --name "daily" --message "Good morning!" --cron "0 9 * * *"
nanobot cron list
nanobot cron remove <job_id>
nanobot の拡張
skills/に新しいディレクトリを作成。tool.pyを実装し、class Tool:にname、description、run()を追加。skills/__init__.pyスキャナーにスキルを登録。nanobot gatewayを再起動 – 新しいスキルが利用可能になる。
すべてのスキルは純粋な Python で書かれ、実験が容易です。
コントリビューション
目標はミニマルで分かりやすいコードベース。自由にご提案いただけます。 - 新しいスキル(気象、ニュース、GitHub 検索 等)の追加 - Groq Whisper を使った音声文字起こしの実装 - 画像・音声を含むマルチモーダルサポートの拡張 - 推論・計画機能の向上 - Discord、Slack、E‑mail などの追加チャネル統合
Pull Request は歓迎です。既存スタイルに従い、テストを追加していただければ幸いです。
要約
- nanobot は 4,000 行の Python レポジトリで、完全なパーソナル AI アシスタントを提供します。
- ローカルまたは Docker で動作し、OpenAI 互換 LLM へ接続、Telegram/WhatsApp へも接続可能。
- モジュラー設計なのでカスタムスキルを追加したり、タスクをスケジューリング、ローカルモデルへ切り替えたりできます。
- 研究者、開発者、ホビイストのいずれに対しても、最小限のフリクションで強力な AI 伴侶を手軽に実現できます。
ハッキングを楽しんでください!
元の記事:
オリジナルを見る