概要
- Crushは、ターミナルで動作する 新しいAIコーディングアシスタント
- 複数の LLM(大規模言語モデル) に対応し、柔軟な切り替えや拡張が可能
- 主要OSのターミナル (macOS, Linux, Windows, FreeBSD)で利用可能
- LSPやMCP による高度な拡張性とカスタマイズ性
- 豊富な インストール方法 と簡単なセットアップ手順
Crush:ターミナルで使えるAIコーディングアシスタント
- Crushは ターミナル上 で動作する、開発者向けAIアシスタント
- 複数モデル対応 :OpenAI、Anthropicなど主要LLMを選択・追加可能
- セッションベース :プロジェクトごとに独立した作業コンテキスト管理
- LSP連携 :Language Server Protocolを活用した追加コンテキスト取得
- MCP拡張 :http、stdio、sse経由で機能追加可能
- クロスプラットフォーム :macOS、Linux、Windows(PowerShell/WSL)、FreeBSD対応
- パーミッション制御 :ツール実行時の許可・ホワイトリスト・YOLOモード
インストール方法
- Homebrew
brew install charmbracelet/tap/crush
- NPM
npm install -g @charmland/crush
- Arch Linux
yay -S crush-bin
- Nix/NUR
nix-shell -p '(import <nur> { pkgs = import <nixpkgs> {}; }).repos.charmbracelet.crush'
- Debian/Ubuntu
- リポジトリ追加・aptでインストール
- Fedora/RHEL
- リポジトリ追加・yumでインストール
- バイナリダウンロード
- Debian/RPM形式や各種OS用バイナリ配布
- Go経由
go install github.com/charmbracelet/crush@latest
初期設定と環境変数
- APIキー入力 :Anthropic, OpenAI, Groq, OpenRouter等のAPIキーを用意
- 環境変数対応 :各プロバイダ専用の環境変数で自動認識可能
- 例:
OPENAI_API_KEY、ANTHROPIC_API_KEY、GROQ_API_KEYなど
- 例:
設定ファイルとカスタマイズ
- 設定ファイルの優先順位
./.crush.json./crush.json$HOME/.config/crush/crush.json
- JSON形式 で各種設定を管理
- LSP追加例
- 言語ごとにコマンド・引数指定
- MCP追加例
- stdio/http/sseの各種プロトコル対応
- 環境変数展開もサポート
パーミッションと安全性
- ツール実行時の許可確認 がデフォルト
- ホワイトリスト機能 で特定ツールの自動許可
- --yoloフラグ で全許可(注意推奨)
カスタムプロバイダ対応
- OpenAI互換API
- Deepseekなどの独自API追加例
- Anthropic互換API
- カスタムAnthropicプロバイダ追加例
ロギングとデバッグ
- ログファイル :
./.crush/logs/crush.logに出力 - CLIコマンド でログ閲覧・追跡
- 例:
crush logs --tail 500、crush logs --follow
- 例:
- デバッグモード
- コマンドラインフラグや設定ファイルで有効化
コミュニティ・サポート
- 公式SNS :Twitter, Discord, Slack, Fediverseでコミュニティ展開
- Catwalk :モデル管理リポジトリ。貢献も歓迎
- ライセンス :FSL-1.1-MIT。Charm製、オープンソース
まとめ
- Crushは 柔軟性・拡張性・マルチOS対応 を兼ね備えたターミナルAIアシスタント
- 多様な インストール方法 と 簡単な初期設定
- LSP・MCP による高度な拡張とカスタマイズ性
- 安全性重視 のパーミッション管理と豊富なログ機能
- オープンソース でコミュニティ主導の開発推進