2026年4月18日土曜日

Roo Code + LM Studio 最強ローカルAI開発環境

 AIによるコード生成が当たり前になった今、エンジニアが次に求めるのは「自分のコードベースをすべて把握した上での提案」です。VS Code拡張の Roo Code(旧Cline) は、プロジェクト全体をスキャンして記憶する「セマンティック検索(RAG)」機能を備えています。

今回は、プライバシーとパフォーマンスを両立させるため、M4 Max Mac Studioのパワーをフル活用し、「すべてをローカル完結させる」 環境構築の全記録をまとめました。

今回の構成とポイント

巷の解説記事はDockerを使うものが多いですが、今回はインフラエンジニアらしく、Macネイティブバイナリlaunchdを駆使して「軽量・常駐・爆速」を目指します。

  • 脳 (LLM): LM Studio (qwen2.5-coder:32b)

  • 翻訳機 (Embedding): LM Studio (nomic-embed-text-v2-moe)

  • 本棚 (Vector DB)Qdrant (Macバイナリ版)

  • 常駐化: macOS launchd


1. 意外な落とし穴:VS Codeのプロキシ設定

構築を始める前に、一番ハマりやすいポイントを潰しておきます。VS Codeはシステムのプロキシ設定を拾ってしまい、127.0.0.1 への通信すら外へ投げようとすることがあります。

settings.json に以下を追記し、VS Codeを完全に再起動(Cmd+Q)しておきましょう。

JSON
"http.proxySupport": "off"

2. Qdrantの導入と常駐化(Docker不要)

Roo Codeが「コードの記憶」を保存するには、ベクトルデータベースの Qdrant が必須です。Dockerを使わずに導入する手順は以下の通り。

バイナリの設置

Bash
# 作業ディレクトリの作成
mkdir ~/qdrant && cd ~/qdrant

# Apple Silicon(aarch64)用バイナリのダウンロード
curl -L https://github.com/qdrant/qdrant/releases/latest/download/qdrant-aarch64-apple-darwin.tar.gz -o qdrant.tar.gz

# 解凍と実行権限の付与
tar -xvf qdrant.tar.gz
chmod +x qdrant

launchdによる自動起動設定

毎回手動で起動するのはスマートではありません。Macの起動時にバックグラウンドで動き、プロセスが落ちても自動復旧するように設定します。

Bash
cat << EOF > ~/Library/LaunchAgents/io.qdrant.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>io.qdrant</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/$(whoami)/qdrant/qdrant</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>WorkingDirectory</key>
    <string>/Users/$(whoami)/qdrant</string>
    <key>StandardOutPath</key>
    <string>/Users/$(whoami)/qdrant/qdrant.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/$(whoami)/qdrant/qdrant-error.log</string>
</dict>
</plist>
EOF

# サービスの登録と開始
launchctl load ~/Library/LaunchAgents/io.qdrant.plist

ヘルスチェック

Bash
ps aux | grep qdrant
lsof -i :6333  # 6333ポートがLISTENしていればOK

3. LM Studio側の準備

対話用のモデルだけでなく、Embedding用のモデルもロードしておきます。

  • Local Server 画面で Start Server を実行。

  • ポート番号(デフォルト 1234)を確認。

  • 重要: 設定パネルの CORS (Cross-Origin Resource Sharing) を ON にします。これがOFFだとVS Codeからのアクセスが拒絶されます。


4. Roo Codeの設定(統合)

VS CodeのRoo Code設定画面(インデックス作成)で以下を入力します。

  • エンベッダープロバイダーOpenAI互換

  • ベースURLhttp://127.0.0.1:1234/v1 (末尾の /v1 を忘れずに)

  • モデルtext-embedding-nomic-embed-text-v2-moe

  • モデルディメンション768

  • Qdrant URLhttp://127.0.0.1:6333


5. 運用とリソース

M4 Max Mac Studio(36GB RAM)環境において、この構成でのリソース消費は驚くほど低いです。

  • 待機時CPU: ほぼ 0%。

  • メモリ: Qdrant単体では数百MB程度。

  • インデックス作成時: ログ(tail -f ~/qdrant/qdrant.log)が流れる瞬間だけCPUを使いますが、バックグラウンドでの作業を妨げることはありません。

まとめ

1992年からUnixを触り、インフラを見続けてきた人間にとっても、手元のマシンでこれほど高度な検索・推論基盤が完結するのは感慨深いものがあります。

一度デーモン化してしまえば、あとはAIがあなたの過去のコード資産をすべて把握した状態で、最高の相棒として機能してくれます。Dockerを使わずに構築したいMacユーザーの方は、ぜひ試してみてください。




0 件のコメント:

コメントを投稿

Roo Code + LM Studio 最強ローカルAI開発環境

 AIによるコード生成が当たり前になった今、エンジニアが次に求めるのは「自分のコードベースをすべて把握した上での提案」です。VS Code拡張の  Roo Code(旧Cline)  は、プロジェクト全体をスキャンして記憶する「セマンティック検索(RAG)」機能を備えています。 ...