世界を動かす技術を、日本語で。

Crush: お気に入りのターミナル用の魅力的なAIコーディングエージェント

2025年7月31日原文(github.com)

概要

  • 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_KEYANTHROPIC_API_KEYGROQ_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 500crush logs --follow
  • デバッグモード
    • コマンドラインフラグや設定ファイルで有効化

コミュニティ・サポート

  • 公式SNS :Twitter, Discord, Slack, Fediverseでコミュニティ展開
  • Catwalk :モデル管理リポジトリ。貢献も歓迎
  • ライセンス :FSL-1.1-MIT。Charm製、オープンソース

まとめ

  • Crushは 柔軟性・拡張性・マルチOS対応 を兼ね備えたターミナルAIアシスタント
  • 多様な インストール方法簡単な初期設定
  • LSP・MCP による高度な拡張とカスタマイズ性
  • 安全性重視 のパーミッション管理と豊富なログ機能
  • オープンソース でコミュニティ主導の開発推進

Hackerたちの意見

これらの新しいツールの比較が知りたいな。Claude Code、opencode、aider、cortexとか。どのツールがどう違うのか、全体像がつかみにくいんだよね。

LLM研究で現在大きな問題の一つは、商業モデルとの比較や評価が非常に高額になることだよね。最近、共同執筆した論文では、研究を評価するためにさまざまな最先端の商業モデルに1万ドル以上使ったんだ。オープンウェイトモデルよりもずっと優れていることは簡単に(しかも安く)示せたけど、「最高のもの」と比較しなかったらレビューで評価が下がるのは分かってた。費用の問題を除いても(大学や小規模な研究所には厳しいよね)、学術研究が不透明な商業製品と比較することを求めるのは良くないと思う。例えば、OpenAIが推論を行うときに実際に何が起こっているのか、詳細がほとんどわからないし、技術スタックやモデルはいつでも変わる可能性がある。ユーザーは、モデルを使うたびに慎重に再ベンチマークしない限り、そのことに気づかない。学術誌は、彼らが使用しているアーキテクチャ、エンジニアリングスタック、トレーニングデータについて非常に正確な情報がない限り、商業モデルとの比較を控えるべきだと思う。

これは以前オープンコードだったけど、開発者同士のトラブルの後に名前が変わったと思う。

パフォーマンスはツールだけでなく、モデルや作業しているコードベース(コンテキスト)、与えられたタスク(プロンプト)にも依存するんだ。これらの要素は独立してないし、組み合わせによってはうまくいくものもあれば、そうでないものもある。例えば:

  • Claude Sonnet 4は、Claude Codeを使ったバックエンドのPythonコードの機能実装にはうまくいくかもしれない。
  • Gemini 2.5 Proは、フロントエンドのReactコードベースの大きな修正にはより効果的だ。 ...だから、ツールだけをテストして他の要素を一定に保つことはできないんだ。代わりに、ツール * モデル * コンテキスト * プロンプトの組み合わせの爆発的なテストが必要になる。16x Evalは問題の一部に対処できるけど、ツールのような要素はまだカバーしてないよ。 https://eval.16x.engineer/

大きな疑問は、これらの新しいエージェントの中で、どれがローカルモデルをある程度使えるかってこと。外部APIへの依存をなくしたいから、パフォーマンスを少し犠牲にする覚悟はあるよ。

CrushにはOllamaサポートを追加するオープンな課題があって、2週間経ってるけど進行中みたい。

sst/opencode

ほとんどのエージェントは、OpenAI互換のエンドポイントで動くよ。

Aiderはそう言ってるけど、まだ試してないんだ。 https://aider.chat/docs/llms.html

自分のソースに指示を出して、その機能を追加するように頼んだらどうなるの?

OpenHandsは、好きなLLMを設定できるよ。 https://github.com/All-Hands-AI/OpenHands

わお、このUIめっちゃ好き!今まで使った他のコーディングエージェント(例えば、Claude Code、aider、opencode)と比べて、これが一番使ってて楽しい感じがする。もう誰か、これでLLMプロバイダーを切り替えてみた人いる?他のコーディングエージェントではちょっとバグがあったから気になってるんだ。

Hacker Newsで議論の続きを見る