HKUDS/nanobot

Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps

何を解決するか

nanobot は、巨大なAIプラットフォームの代替として、軽量かつプライベートな自己ホスト型個人AIエージェントフレームワークです。長期間実行されるタスク間で、目標、メモリ、チャットコンテキストが持続するような、継続的なAIワークフローを維持する問題を解決します。ユーザーは、LLMプロバイダーの選択やエージェントとのやり取りに使うインターフェースをすべて自ら管理できます。

動作方法

このプロジェクトは、さまざまなインターフェースからのメッセージを管理し、LLMを使ってツールの使用が必要かどうかを判断する小さなエージェントループを中心に構成されています。以下の主要なコンポーネントを統合しています:

  • インターフェース:バンドルされたWebUI、ネイティブターミナルクライアント(TUI)、Telegram、Discord、Slack、WeChatなどの統合チャットアプリを通じてエージェントとやり取りできます。
  • ツールと統合:Model Context Protocol(MCP)サーバー、シェルアクセス、ウェブ検索、画像生成をサポートしています。
  • メモリ:セッション履歴と長期記憶に「Dream」と呼ばれるシステムを使用しています。
  • 自動化:長期間の目標やスケジュールされた自動化をバックグラウンドで実行できるゲートウェイを備えています。
  • 接続性:外部統合用にOpenAI互換APIとPython SDKを公開しています。

対象ユーザー

拡張・カスタマイズ可能な自己ホスト型AIエージェントを求める個人向けです。非技術者(ガイド付きインストール経由)から、ローカル環境用のプログラマブルなエージェントゲートウェイを必要とする開発者まで、幅広く対応しています。

特徴

  • マルチチャネル対応:Telegram、Discord、Slackなど多数のチャットアプリとブラウザベースのWebUIに接続可能。
  • モデルの自由度:OpenAI互換API、ローカルLLM(Ollama、vLLM経由)、フォールバックモデルをサポート。
  • 軽量なコア:重いオーケストレーション層を避け、読みやすい内部構造を実現。
  • 永続的なワークフロー:スケジュールされた自動化と長期記憶をサポート。
  • ワークベンチUI:複数の会話タブをグリッドや列に並べて表示できるWebUI。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト