LocalGPT: Rust で最小限の依存関係でパワフルな AI アシスタントをローカルで実行
はじめに
LocalGPT は、デバイス上に完全に存在する一等級のオープンソース AI アシスタントです。Rust で書かれ、単一バイナリにまとめられ、JavaScript ランタイムや Docker イメージは不要です。全てのメモリと設定は XDG 対応ディレクトリに格納されます。
Anthropic Claude、OpenAI、xAI (Grok)、Ollama、GLM、そして OpenAI と互換性のある API を公開するローカルサーバーもサポートします。Telegram 統合、ウェブ UI、強力な CLI を備えた LocalGPT は、プライバシー保護と低レイテンシーなチャットボットを求める人々にとってスイス軍手を目指します。
LocalGPT が重要な理由
- ゼロクラウド依存 – すべての会話、埋め込み、およびツールはローカルで実行されます。
- 永続的 Markdown 知識ストア – 会議メモからコードスニペットまで何でも保存し、キーワードや意味的類似性で検索できます。
- 自律心拍 – デーモンモードで、日常を妨げないバックグラウンドタスクをスケジュールできます。
- ビルトインサンドボックス – カーネルレベルのサンドボックス (Linux は Landlock, macOS は Seatbelt, すべてに seccomp フィルター) が、ユーザー入力コマンド実行時にシステムを保護します。
- 複数インターフェース – ターミナル、レスポンシブなウェブ UI、デスクトップアプリ、または Telegram ボットでチャットできます。
速やかなスタート (Linux/macOS)
- CLI のインストール –
cargo install localgpt - 設定の初期化 –
localgpt config init - チャット開始 –
localgpt chat
以下のようなプロンプトが表示されます:
$ localgpt chat
> Rust プロジェクトのセットアップ方法は?
LocalGPT: ...
インストーラは crates.io から最新の localgpt バイナリを取得し、~/.local/share/localgpt にクリーンなワークスペースを作成し、最小限の config.toml を書き込みます。
詳細解説:構成とメモリ
LocalGPT の構成は ~/.local/share/localgpt/config.toml にあります。
[agent]
default_model = "claude-cli/opus"
[providers.anthropic]
api_key = "${ANTHROPIC_API_KEY}"
default_model を openai/<your‑model> に設定し、base_url を指定します。例えば LM Studio を使用する場合は:
[providers.openai]
api_key = "not-needed"
base_url = "http://127.0.0.1:1234/v1"
ワークスペースメモリ
Markdown ベースの知識ベンクは <workspace>/knowledge/ にあります。各ファイルは SQLite FTS5 と sqlite-vec で自動的にインデックスされ、キーワード検索と意味的類似性一致を高速に行えます。トップレベルのファイル MEMORY.md、HEARTBEAT.md、SOUL.md がそれぞれ長期記憶、スケジュールタスク、パーソナリティ指針を提供します。
高度な機能
自律性とハートビート
localgpt daemon start を実行すると、以下の機能を備えたバックグラウンドサーバーが起動します:
- ハートビート – 定期的な “ticks” がスケジュールされたアクションをトリガーします。
- HTTP API – /api/chat, /api/memory/search などを公開し、統合が可能です。
- ウェブ UI – http://localhost:31327 でアクセスできるほか、バンドルされたデスクトップ GUI が利用できます。
セキュリティサンドボックス
全てのシェルコマンドはカーネル強制のサンドボックスを通過します。Linux では Landlock + seccomp、macOS では Seatbelt を採用。サンドボックスは rlimits(120s CPU、1 MB stdout、64 processes、50 MB ファイルクォータ)も課します。デフォルトポリシーは ~/.ssh や ~/.aws などの機密場所への書き込みをブロックします。
プロンプトインジェクション対策
LocalGPT はトークンマーカーを除去し、インジェクションフレーズの正規表現チェックを行い、外部コンテンツは XML タグでラップします。さらに、デバイスキーで署名した LocalGPT.md ポリシーファイルを追加してアシスタントを強化できます。
コミュニティと拡張性
- CLI プラグイン –
crates/に Rust クレートを追加して新しいツールを貢献できます。 - Telegram ボット – デーモンを Telegram ボットとペアリングしてモバイルアクセスを可能にします。
- ワールド生成サブプロジェクト –
localgpt-genを使うと、Bevy エンジンで 3D シーンを作成するようアシスタントに指示できます。
このプロジェクトはプルリクエストを歓迎します。特に新しい LLM 統合、メモリ形式、またはサンドボックス改善が歓迎されます。
使い方のケース
| シナリオ | LocalGPT が支援する方法 |
|---|---|
| 個人知識ベース | 会議ノート、研究資料、コードスニペットを Markdown で保存し、即座に取得できます。 |
| 低レイテンシー顧客サポートボット | 外部 API コールをせずに内部チケットを処理する同じサーバーにデプロイできます。 |
| プライバシーセンシティブなワークフロー | 埋め込みを含む全データはデバイスから外部に出ません。厳格なコンプライアンス要件を満たします。 |
参加方法
- リポジトリから開始 –
git clone https://github.com/localgpt-app/localgpt - ソースからビルド –
cargo build --release --workspace - Discord に参加 – 作成物を共有し、ヘルプを求めましょう。
LocalGPT は MIT ライセンスで提供され、貢献は Apache-2.0 ライセンスです。したがって、自由に使用・改変・自作を配布できます。
結論
LocalGPT は、最小限の全 Rust スタックで強力でプライバシーに優れた AI アシスタントを構築できることを証明しました。開発者・研究者・プライバシー意識の高いユーザーのいずれでも、ローカル GPT を導入することで、制御を失わずに高速で高度な LLM へのアクセスが即座に得られます。ぜひ今日からお試しください。境界で AI と対話する方法を再定義している拡大するコミュニティに加わりましょう。