ツール

Crush

Crush ターミナル AI コーディングツールを LMU AI API に接続 — crushrc にカスタムプロバイダーを追加して Claude、GPT、中国製モデルを利用。

Crush は Charm が提供するターミナル AI コーディングツールで、CLI と TUI の両方を備え、コマンドラインからコード生成、デバッグ、会話、ファイル操作、マルチタスクを行えます。カスタムプロバイダーに対応しており、本ページでは LMU AI への接続方法を解説します。


Crush をインストール

お使いのシステムに合った方法を選んでください:

brew install charmbracelet/tap/crush
npm install -g @charmland/crush
winget install charmbracelet.crush

または Scoop で:

scoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git
scoop install crush
yay -S crush-bin
nix run github:numtide/nix-ai-tools#crush

LMU AI を設定

Crush は Bash スクリプトで設定します。グローバル設定ファイルを編集してください:

  • macOS / Linux: ~/.config/crush/crushrc
  • Windows: %USERPROFILE%\.config\crush\crushrc

手順は 2 つあります。まず provider add で LMU AI をプロバイダーとして追加し、次に model add で使いたいモデルを登録します。利用予定のモデルに合わせてプロトコルを選んでください:

gpt-5.6-solgpt-5.5 などの OpenAI モデルに対応します。Claude や中国製モデルもこのプロトコル経由で利用できます(プロトコル変換は LMU AI のバックエンドが処理します)。

# Add LMU AI as a provider (OpenAI-compatible protocol)
provider add lmuai \
  --type openai-compat \
  --base-url "https://api.lmuai.com/v1" \
  --api-key "sk-your-lmu-ai-api-key"

# Register the models you want
model add lmuai/gpt-5.6-sol --name "GPT-5.6 Sol" --context-window 400000
model add lmuai/claude-opus-5 --name "Claude Opus 5" --context-window 200000

# Set it as the default large-model slot
model large lmuai/claude-opus-5

タイプは openai ではなく openai-compat

Crush には 2 つの OpenAI タイプがあります。公式ドキュメントによれば、openaiOpenAI 自体を通じてリクエストをプロキシ/ルーティングするためのもので、openai-compatOpenAI 互換 API を提供する非 OpenAI プロバイダー向けです。LMU AI は後者なので、openai-compat を使ってください。

claude-opus-5claude-sonnet-5qwen3.8-max-previewdeepseek-v4-proglm-5.2kimi-k3 など、Anthropic プロトコルで提供されるモデルに対応します。

# Add LMU AI as a provider (Anthropic protocol)
provider add lmuai-anthropic \
  --type anthropic \
  --base-url "https://api.lmuai.com" \
  --api-key "sk-your-lmu-ai-api-key" \
  --extra-header anthropic-version 2023-06-01

# Register the models you want
model add lmuai-anthropic/claude-opus-5 \
  --name "Claude Opus 5" \
  --context-window 200000 \
  --can-reason true \
  --supports-images true

model add lmuai-anthropic/glm-5.2 --name "GLM-5.2" --context-window 200000

# Set it as the default large-model slot
model large lmuai-anthropic/claude-opus-5

Anthropic の base URL に /v1 を付けない

--base-url には https://api.lmuai.com を設定してください。https://api.lmuai.com/v1 ではありません。Crush が /v1/messages を自動で付加するため、余分なセグメントがあると /v1/v1/messages へのリクエストとなり、次のように失敗します:

not found: POST "https://api.lmuai.com/v1/v1/messages": 404 Not Found

これは openai-compat(こちらは /v1 が必要)とは逆なので、混同しないでください。

設定ファイルは信頼されたコード

公式の警告:crushrc は UI が表示される前にシェル権限で実行され、crush.json 内の $(...) はいずれも読み込み時に実行されます。設定を確認していないディレクトリで Crush を起動しないでください。また、出所不明の設定ファイルを source しないでください。


使い始める

設定後、Crush を再起動してください:

crush

セッション内でモデルを切り替えるには:

/models

LMU AI のモデルが /models に見当たらない?

Crush の組み込みモデル一覧は Catwalk データベース由来で、LMU AI のモデル ID は含まれていません。まず model add <provider>/<model-id> で登録する必要があります。登録後、再起動すれば /models の一覧に表示されます。


よく使うモデル ID

モデル ID備考
claude-opus-5Claude Opus 5(フラッグシップ、推奨)
claude-sonnet-5Claude Sonnet 5(バランス型)
claude-haiku-4-5Claude Haiku 4.5(高速)
gpt-5.6-solGPT-5.6 Sol
glm-5.2GLM-5.2
qwen3.8-max-previewQwen 3.8 Max Preview
deepseek-v4-proDeepSeek V4 Pro
kimi-k3Kimi K3

どのモデルを入力すればよいか分からない場合は、モデルギャラリー で利用可能なすべてのモデル ID を確認し、ワンクリックでコピーできます。


レガシー JSON 設定

crush.json は公式に非推奨

Crush はもともと crush.json を使っていましたが、現在は非推奨です。メンテナーはサポートは継続すると述べていますが、新しい設定オプションは Bash 設定(crushrc)にのみ追加されます。多くのチュートリアルでは依然として JSON 形式を教えていますが、新規セットアップでは上記のように crushrc を使ってください

すでに JSON 設定を持っていて移行したい場合は、Crush を起動して変換してほしいと平易な言葉で頼むだけで済みます。

どうしても JSON を使いたい場合、形式は次のようになります(プロジェクトディレクトリまたは ~/.config/crush/ 内の crush.json):

{
  "$schema": "https://charm.land/crush.json",
  "providers": {
    "lmuai": {
      "id": "lmuai",
      "name": "LMU AI",
      "type": "openai-compat",
      "base_url": "https://api.lmuai.com/v1",
      "api_key": "sk-your-lmu-ai-api-key",
      "models": [
        {
          "id": "claude-opus-5",
          "name": "Claude Opus 5",
          "context_window": 200000,
          "default_max_tokens": 32000
        }
      ]
    }
  }
}

JSON で type と models を省略しない

id / name / base_url / api_key だけでは動作しません。type はどのプロトコルを使うかを決定し(省略するとデフォルトの推測にフォールバックします)、models/models で選択できる内容を決定します。これはコピペした最小限の例が失敗する最も一般的な原因です。


注意事項

  • 設定ファイルは ~/.config/crush/crushrc(Windows では %USERPROFILE%\.config\crush\crushrc)です。~/.local/share/crush/crush.json はマシンが管理する状態なので、編集しないでください
  • LMU AI の OpenAI 互換エンドポイントには --type openai-compat を(openai ではなく)、Anthropic プロトコルには --type anthropic を使ってください
  • 2 つのタイプは --base-url の形式が正反対ですanthropichttps://api.lmuai.com/v1 なし)、openai-compathttps://api.lmuai.com/v1/v1 あり)を取ります。Anthropic 側に /v1 を付けると /v1/v1/messages となり 404 になります
  • API キーには、LMU AI コンソールで生成した sk- キーをそのまま入力してください
  • LMU AI のモデルは Crush の組み込み一覧に含まれていないため、model add で登録して初めて /models に表示されます

最終更新:

このページの目次