Klee: MLXで動くmacOSネイティブAIエージェントを採用前に読む
A native macOS AI chat app powered by MLX. 100% local inference on Apple Silicon, no cloud required. Built with ShipSwift.
ひと目でわかる
- これは何?
- KleeはMLX経由でApple Silicon上のローカル推論を行うmacOSアプリで、クラウドもアカウントも要求しない。ただしモデルは4bit量子化版に固定され、ツール実行の安全性は利用者の運用次第という設計になっている。
- 誰に向いている?
- 16GB以上のApple Silicon Macを持ち、会話内容を外部に出したくない個人や小規模チームには向いている。一方、クラウドモデルの品質を前提にする用途や、ツール実行の権限分離を求める組織には適さない。
- 商用利用できる?
- 許可なしにはできません。GitHub はこのリポジトリにライセンスファイルを見つけていません。ライセンスがなければ、原則としてすべての権利が留保され、コードを読むことはできても再利用はできません。使う前に README を確認するか、作者に問い合わせてください。
- 今もメンテナンスされている?
- されています。最後のコミットは 180 日前です。
- 何の言語で書かれている?
- 主に Swift です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
Kleeが埋める穴: クラウドに会話を送らないmacOSアプリ
KleeはmacOS向けのネイティブAIチャットアプリで、READMEは「No cloud, no account, no subscription」と明記している。アカウント登録もAPIキーも不要で、アプリを起動すれば会話を始められる。想定利用者は、OpenAIやAnthropicのAPIに会話ログを送ることを避けたい個人開発者、あるいは社内規定で外部送信が難しい環境のエンジニアだ。READMEは「your conversations never leave your device」と述べており、推論そのものをApple Silicon上で完結させる点を売りにしている。用途としては、コードや設定ファイルの中身をそのまま読ませて要約や修正案を出させる、といった作業が想定されている。
MLXとmlx-swift-lmが担う推論の流れ
推論エンジンはMLXで、READMEはmlx-swift-lmのToolCall APIをツール呼び出しに使うと説明している。モデルはHuggingFace上のmlx-communityが公開する4bit量子化版のみを対象とし、アプリ内のダウンロードボタンから取得する。保存先は`~/.klee/models/`で、アプリを再起動しても保持される。ダウンロードは中断しても自動再開する仕様だとREADMEは書いている。会話はトークン単位でストリーミング表示され、モデルの思考過程は折りたたみカードで確認できる。ツール呼び出しはNode.jsやMCPサーバーを介さず、アプリ内のネイティブ実装で完結する。この構成のおかげでElectronもDockerも常駐プロセスも不要で、アプリサイズは約75MBに収まっている。
モデル選択はRAMで決まる
READMEの要件表ではmacOS 15.0以降、Apple Silicon(M1以降)、RAM 16GB以上が最低ラインとされている。16GBではQwen 3.5 9B、Qwen 3 8B、Gemma 3 12B、DeepSeek R1 8Bが推奨され、32GBでQwen 3.5 27BやQwen 3.5 35B(MoE)、64GBでGemma 3 27BやDeepSeek R1 32B、96GB以上でQwen 3.5 122B(MoE)が候補になる。モデルサイズは約4.3GBから約70GBまで幅があり、量子化はすべて4bit。視覚入力に対応するのはQwen 3.5系の9B、27B、35B、122Bで、Gemma 3やDeepSeek R1の行にはVision欄の記載がない。つまり画像を扱いたいならモデル選択の自由度はかなり狭まる。
ツール呼び出しの中身と、そこで生まれる権限の問題
Kleeが公開するツールは`file_write`、`file_read`、`file_list`、`file_delete`、`web_search`、`web_fetch`、`shell_exec`の7つである。`shell_exec`には30秒のタイムアウトが設定されているとREADMEは述べている。ここで注意したいのは、ファイル削除とシェル実行がモデルの判断で呼ばれる点だ。READMEには承認ダイアログやサンドボックスの有無についての記述がない。ローカル完結という性質はプライバシー面では利点だが、モデルが誤って`file_delete`を呼んだ場合の影響範囲はアプリ側では区切られていない。実運用では作業ディレクトリを限定する、あるいはツールを使わせない運用を選ぶといった判断が利用者側に委ねられる。
インストールと初回セットアップの実際
配布はApp Store経由ではなくDeveloper ID署名済みの.dmgで、Releasesから取得してApplicationsフォルダにドラッグする。Gatekeeperの警告が出た場合はシステム設定のプライバシーとセキュリティから「このまま開く」を選ぶ手順がREADMEに書かれている。ソースからビルドする場合はXcode 16+とmacOS 15.0+が必要で、`git clone https://github.com/signerlabs/Klee.git`の後`cd Klee`、`open Klee.xcodeproj`でプロジェクトを開き、Kleeスキームを選んでCmd+Rで実行する。SPM依存のmlx-swift-lmは初回ビルド時に自動解決される。Web検索を使う場合はjina.aiで無料のAPIキーを取得し、右上のサイドバートグルからWeb Searchを有効にしてキーを貼り付ける。この手順を踏まない限り`web_search`と`web_fetch`は機能しない。
向かないケース: モデル品質とライセンスの境界
Kleeが動かせるのは4bit量子化モデルだけであり、クラウドのフロンティアモデルと同等の推論品質は期待できない。複雑な多段推論や長いコード生成を日常的に任せる用途では、量子化による精度低下がそのまま作業品質に出る。また対応モデルはREADMEの表に列挙されたものに限られ、任意のGGUFモデルを持ち込む手順は記載されていない。ライセンスについてREADMEはMITと記載しているが、リポジトリのメタデータ上はライセンスがunknown扱いになっており、この不一致は導入前に確認すべき点だ。加えてモデル本体のライセンスはmlx-community側の各リポジトリに従うため、MITはアプリのコードにしか及ばない。商用利用を検討するなら、選んだモデルのライセンス条項を別途確認する必要がある。
比較対象としてのOllamaとLM Studio
同じくローカル推論を提供するツールにOllamaとLM Studioがある。OllamaはCLIとHTTPサーバーを軸にした構成で、他アプリからAPI経由で呼び出す使い方に向く。KleeはGUIアプリに閉じており、外部からAPIとして叩く口はREADMEに記載がない。LM StudioもGUIでモデルを管理する点は近いが、Kleeはmlx-communityの4bit量子化モデルとMLXに絞り、さらにファイル操作やシェル実行をネイティブツールとして同梱している点が異なる。つまりKleeはモデル実行環境というより、エージェントとして完結させたアプリだ。逆に言えば、モデルを差し替えたり他ツールと組み合わせたりする自由度は低い。
採用判断の前に確認すること
最初に確認すべきはRAMとモデルの対応だ。16GBのMacでQwen 3.5 122Bを選ぼうとしても要件表では96GB以上が必要とされており、動かせない。次に、`shell_exec`と`file_delete`をどのディレクトリで使わせるかを決める。READMEには権限範囲の設定項目が示されていないため、重要なファイルがあるディレクトリでエージェントを走らせるのは避けたい。ビルドして使う場合はXcode 16+が必要で、SPM依存の解決に初回のみ時間がかかる。最後にライセンス表記の不一致を確認する。READMEはMITと書くがリポジトリ側はunknownであり、この点は配布物をそのまま業務に組み込む前に解消しておきたい。
編集部の結論
16GB以上のApple Silicon Macを持ち、会話内容を外部に出したくない個人や小規模チームには向いている。一方、クラウドモデルの品質を前提にする用途や、ツール実行の権限分離を求める組織には適さない。導入前に確認すべきは、自分のRAMで動くモデルがREADMEの表のどれに当たるか、そしてshell_execとfile_deleteをどの範囲で使わせるかという2点である。
コミュニティノート