【徹底解説】次世代AIコーディングエージェント「Crush」とは?使い方からおすすめの使い方まで
開発者の間で注目を集めている、新しいターミナルベースのAIコーディングエージェント「Crush」。かつての人気ツール「Open Code」の開発者が、その思想を受け継ぎ、さらに進化させたものとして登場しました。
「あなたの新しいコーディングの相棒が、お気に入りのターミナルに」というキャッチコピーの通り、Crushはターミナル上でシームレスに動作し、開発ワークフローを強力にサポートします。
本記事では、このCrushの魅力、基本的な使い方から高度なカスタマイズ方法まで、網羅的に徹底解説します。
Crushとは?
Crushは、ターミナル上で動作するAIコーディングアシスタントです。最大の特徴は、Go言語で開発されていることによる高速な動作と、洗練されたユーザーインターフェース (UI) にあります。
単にコードを生成するだけでなく、プロジェクト全体のコンテキストを理解し、より的確なサポートを提供するための様々な機能が搭載されています。
元々はOpen Codeから進化したprojectです
上記のYouTubeでも詳細解説しているので、動画での視聴をご希望の方はこちらからお願いします
Crushの主な特徴
Crushが他のAIコーディングツールの優れた特徴を見ていきましょう。
マルチモデル対応と柔軟な切り替え
Crushは特定のLLMに縛られません。OpenAI (GPTシリーズ)、Anthropic (Claudeシリーズ)、Google (Geminiシリーズ) はもちろん、OpenRouterやGroqなどを経由して、非常に多くのモデルをサポートしています。
OpenRouter経由することができるので無料のLLMを使ったバイブコーディングをすることもできます
特筆すべきは、コンテキストを維持したまま、対話の途中でLLMを自由に切り替えられる点です。これにより、「この処理はClaudeが得意そうだから切り替えよう」「無料枠を使いたいからQwen Coderにしよう」といった柔軟な使い方が可能になります。
LSP (Language Server Protocol) 統合
多くの開発者がIDEで利用しているLSPを統合しています。これにより、Crushはあなたのコードのエラー、警告、リンターの指摘などをリアルタイムで認識できます。AIがコードの静的解析情報をコンテキストとして利用するため、より精度の高いコード修正や提案が期待できます。
優れたUI/UXと操作性
ターミナルツールとは思えないほど、視覚的にリッチで直感的なインターフェースを持っています。コマンドの承認フローがモーダルで表示されたり、ターミナルウィンドウをリサイズしてもレイアウトが崩れなかったりと、細部まで作り込まれており、ストレスのない操作感を実現しています。
高い拡張性 (MCP)
MCP (Model Context Protocol) という仕組みを通じて、外部のツールやサービスと連携する機能を拡張できます。例えば、特定のAPIドキュメントを読み込ませる、データベースと対話させるといったカスタム機能を追加することが可能です。
クロスプラットフォーム
macOS、Linux、Windows (PowerShellおよびWSL) でネイティブにサポートされており、どんな開発環境でも同じ体験を得られます。
セッションベースのコンテキスト管理
プロジェクトごとに複数の作業セッションを維持できます。「機能Aの開発」と「バグBの修正」といった異なるタスクを、それぞれ独立したコンテキストで並行して進めることが可能です。
インストールと初期設定
Crushを使い始めるのは非常に簡単です。
インストール方法
お使いの環境に合わせて、以下のいずれかのコマンドを実行してください。
# Homebrew
brew install charmbracelet/tap/crush
# NPM
npm install -g @charmland/crush
# Arch Linux (btw)
yay -S crush-bin
# Nix
nix run github:numtide/nix-ai-tools#crushAPIキーの設定
Crushを初めて起動すると、使用するモデルを選択し、APIキーを入力するよう求められます。
より恒久的な設定として、環境変数を利用する方法が推奨されています。以下に使用頻度の高いプロバイダーの環境変数名を示します。
プロバイダー環境変数名
例えば、OpenRouterのAPIキーを設定する場合は、お使いのシェルの設定ファイル(.zshrc, .bashrcなど)に以下を追記します。
export OPENROUTER_API_KEY="sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxx"
これを設定しなくても、crushコマンドから立ち上げて
APIキーを入力することもできます
基本的な使い方
インストールと設定が完了したら、早速使ってみましょう。
起動: プロジェクトのルートディレクトリで、ターミナルから以下のコマンドを実行します。
Bash
プロンプト入力: 画面下部の入力欄に、AIへの指示を自然言語で入力します。(例: 「Reactでカウンターコンポーネントを作成して」)
コマンドパレット: Ctrl + P を押すとコマンドパレットが開き、様々な操作にアクセスできます。
New Session (Ctrl + N): 新しいチャットセッションを開始します。
Switch Session: 既存のセッションを切り替えます。
Switch Model: 使用するLLMを切り替えます。
ファイル参照: / を入力すると、プロジェクト内のファイルやディレクトリ一覧が表示されます。ファイルを選択して、AIのコンテキストに追加することができます。これにより、「このmain.goを参考にして、テストコードを書いて」といった指示が可能になります。
高度な設定: crush.jsonでフルカスタマイズ
Crushは設定ファイル crush.json をプロジェクトのルートに置くことで、さらに細かくカスタマイズできます。
LSPの設定例
Go 言語とTypeScriptのLSPを有効にする設定です。
{
"$schema": "https://charm.land/crush.json",
"lsp": {
"go": {
"command": "gopls"
},
"typescript": {
"command": "typescript-language-server",
"args": ["--stdio"]
}
}
}
カスタムプロバイダーの追加例
OpenAI互換APIを持つ「Deepseek」モデルを追加する例です。$DEEPSEEK_API_KEY のように環境変数を参照できます。
{
"$schema": "https://charm.land/crush.json",
"providers": {
"deepseek": {
"type": "openai",
"base_url": "https://api.deepseek.com/v1",
"api_key": "$DEEPSEEK_API_KEY",
"models": [
{
"id": "deepseek-chat",
"name": "Deepseek V3",
"context_window": 64000
}
]
}
}
}
ファイルの除外: .crushignore
AIに読み込ませたくないファイルやディレクトリがある場合、プロジェクトのルートに .gitignore と同じ書式の .crushignore ファイルを作成することで、コンテキストから除外できます。
おすすめの使い方
OpenRouterの無料枠や低コストのLLMを使用するのは1つおすすめです
2025/8/5現在であれば、Qwen3Coderがおすすめです。
また、ステレス系のモデルが登場しており、これが有料級の高性能なLLMを使うこともできることがあります
そのほかxAI(Grok)やOpenAIやGeminiなどのAPI無料キャンペーンが発生することがあるので、その辺りを狙うと無課金で一定のバイブコーディングできることもあります
2025/8/5に登場している、Horizon Beta
まとめ
Crushは、単なるコード生成ツールではなく、高速な動作、洗練されたUI、そして高い拡張性を兼ね備えた、まさに「コーディングの相棒」と呼ぶにふさわしいAIエージェントです。
まだ開発初期段階であり、プランモードやundo/redoといった機能は今後の実装が期待されますが、そのポテンシャルは計り知れません。特にターミナルでの作業を主とする開発者にとって、生産性を劇的に向上させる強力なツールとなるでしょう。
ぜひ一度、この新しい開発体験を試してみてはいかがでしょうか。
公式リソース
GitHub: charmbracelet/crush
Discord: Charm Community


コメント