llmmanorg/llmman
Run any agent on any model, models stored as OCI images
llmman とは?
llmman は、あらゆる LLM タイプのエージェント(Claude Code、Codex、OpenCode、GitHub Copilot など)を、自分のコンピュータ上にあるかクラウドサービスが提供するかにかかわらず、あらゆる モデルで実行できるコマンドラインツールです。これは、一般的な推論バックエンド(llama.cpp、vLLM、sglang、mlx-lm など)をラップし、Ollama 互換の単一の HTTP API を公開することで実現しています。重要なアイデアは、モデルを OCI コンテナイメージ として扱うことです。これにより、Docker/Podman イメージで既に使用しているのと同じツールで、モデルのプル、プッシュ、転送、署名を行うことができます。
なぜ重要か
| 機能 | 提供されるもの |
|---|---|
| プロバイダ非依存 | 同じ launch、run、serve コマンドが、ローカルホストのモデル または Groq、Baseten、OpenRouter などのホスト型モデルで機能します。 |
| レジストリ非依存 | モデルは任意の OCI レジストリ(Docker Hub、GHCR、Quay、プライベート Harbor など)または Hugging Face から直接保存できます。独自のモデルストアはありません。 |
| 変換不要 | 元の GGUF または safetensors ファイルを使用します。カスタムインポート手順はありません。 |
| ワンステップ転送 | llmman transfer hf.co/... docker.io/... は、ローカルディスクに触れることなくモデルをレジストリ間で移動します。これは、エアギャップ環境やコンプライアンス要件の厳しい環境に役立ちます。 |
| 集約 | 複数のマシンで llmman serve を実行すると、それらがプールを形成し、モデルがロードされているノードまたは空きメモリが最も多いノードがリクエストを処理します。 |
| 統一 API | 単一ポートで Ollama、OpenAI、Anthropic のエンドポイントを公開するため、既存のクライアント(curl、LangChain、VS Code 拡張機能など)はそのまま動作します。 |
| マルチモーダルサポート | 同じ run コマンドで拡散モデルを起動し、画像、短いビデオ、オーディオを生成できます。 |
| セキュリティ | モデルは cosign で署名できます。llmman verify はプル時に信頼ポリシーを強制します。 |
中核となる概念とワークフロー
- モデルを OCI イメージとして – モデルファイル(GGUF または safetensors)は標準の OCI イメージレイアウトにパッケージ化されます。モデルのプル、プッシュ、転送は通常のコンテナレジストリで行われます。
- バックエンド – モデルが必要になると、llmman は適切な推論エンジンを起動します:
- GGUF モデル用の
llama.cpp(Docker、事前ビルド済みバイナリ、または PATH 上のllama-server) - safetensors 用の
vLLM、sglang、mlx-lm。
- GGUF モデル用の
- CLI コマンド – 最もよく使われるもの:
llmman launch <agent> --model <model>– モデルに対してエージェント(例: Claude Code)を起動します。必要に応じてローカルデーモンを自動的に起動します。llmman run <model> [prompt]– クイックチャットまたはマルチモーダル生成。llmman serve–127.0.0.1:17434で待ち受け、Ollama、OpenAI、Anthropic API を話すデーモンを起動します。llmman pull/transfer/push/verify– レジストリ操作。
- 集約 –
llmman config set aggregation.peers ...でピアを設定します。デーモンはリクエストを処理できるピアに転送します。 - ハイブリッドモデルペア –
--overflow-provider/--overflow-modelを使用して、安価なローカルモデルとより大きなホスト型モデルを組み合わせ、オーバーフローリクエストを処理します。 - サンドボックス –
--sandboxを使用して、分離された環境(Docker、macOS sandbox-exec など)内でインテグレーションを実行します。
誰が使うべきか
- 開発者 – 各プロバイダーの CLI を学習せずに、多くのエージェントとモデルを試すための単一ツールを求める方。
- 運用/MLOps チーム – すでに OCI レジストリを運用しており、LLM を他のコンテナアーティファクトと同様に扱いたい方。署名やエアギャップ転送も含みます。
- 研究者 – 異なるバックエンドでエージェントをベンチマークしたり、ローカルとクラウドの推論を混在させたりする必要がある方。
- 企業 – コンプライアンスに配慮したモデル処理(レジストリ間転送、cosign 検証、オンプレミスハードウェア全体での集約)を必要とする組織。
クイックスタート(簡単に)
# インストール(Linux/macOS)
curl -fsSL https://llmmanorg.github.io/install.sh | sh
# ローカルモデルで Claude Code を実行
llmman launch claude --model qwen3.8
# 同じモデルで簡単なチャット
llmman run qwen3.8 "Explain this repository"
# 任意のクライアントに互換 API を公開
llmman serve # Ollama、OpenAI、Anthropic URL を使用可能
制限事項 / 未解決の質問
- Windows サポート は Docker/Podman コンテナまたは事前ビルド済みバイナリに依存します。一部のバックエンドでは追加のツールチェーン(LLVM、Rust)が必要になる場合があります。
- モデル形式 は GGUF と safetensors に限定されます。他の形式にはカスタムバックエンドが必要です。
- パフォーマンス は選択したバックエンドとハードウェアに依存します。llmman 自体は薄いオーケストレーション層のみを追加します。
- セキュリティ – 署名はサポートされていますが、マルチノード展開ではデーモンを保護する必要があります(API キー、TLS)。
TL;DR
llmman = 標準の OCI レジストリと単一の Ollama/OpenAI 互換 API を使用して、任意の LLM エージェントを任意のモデルで、ローカルまたはクラウドで実行できるユニバーサル CLI & デーモンです。ベンダーロックインを排除し、モデル配布を簡素化し、複数のマシンがハードウェアを単一の推論エンドポイントとして共有できるようにします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch