Crush: AI搭載ターミナルCLIレビュー(旧OpenCode AI)

Thenewstack

Goベースのオープンソースコマンドラインインターフェース(CLI)アプリケーションであるCrushは、最近、AIアシスト開発ツールの分野で重要なプレーヤーとして登場しました。以前はOpenCode AIとして知られていましたが、2025年7月29日にブランド変更とリポジトリ移行が迅速に行われ、この革新的なプロジェクトの新しいフェーズが始まりました。Crushは人工知能をターミナルに直接統合し、コーディングタスク、デバッグ、その他さまざまな開発ワークフローを効率化するために設計された堅牢なターミナルユーザーインターフェース(TUI)を提供します。

CharmのプロジェクトであるBubbleTeaフレームワークを基盤として構築されたCrushは、洗練されたマルチモデルでセッションベースのエクスペリエンスを提供します。ユーザーは多様な大規模言語モデル(LLM)から選択したり、独自のカスタムモデルを統合したりすることもできます。主要な機能は、セッション中に異なるLLM間を切り替えながら会話コンテキストを維持し、複雑なタスクにおける継続性を確保できることです。さらに、Crushはコードエディターでの設定方法と同様に、言語サーバープロトコル(LSP)の統合をサポートしており、コード認識操作の有用性を高めています。

インストールは簡単で、特にmacOSユーザーにとってはHomebrewが便利な方法を提供します。初回起動時、CrushはユーザーにAPIキーの入力を求めますが、LLMの設定は環境変数を通じて管理することもできます。このアプリケーションは、GPT-5(現在利用可能)やOpus 4などの業界標準に加えて、GroqやGrokなどのあまり知られていないオプションを含む幅広いモデルをサポートしています。起動時、Crushは初期化プロセスを通じてユーザーをガイドし、構成ファイルを作成し、初期コンテキストを設定します。この設定はユーザーフレンドリーになるように設計されていますが、「yep」や「nope」のような非公式なプロンプトの使用は、英語を母国語としないユーザーにとってわずかな課題となる可能性があります。

Crushの際立った点の1つは、パーミッションへのアプローチです。システムは、Crush環境内で実行されるオペレーティングシステムコマンドに対して追加のチェックを積極的に適用します。たとえば、ディレクトリの変更(例:cd ..)を試みると、パーミッションの切り替えがトリガーされ、ユーザーの確認が必要になります。この動作は、crush.json構成ファイルによって管理されており、viewls、``grepeditなどの許可されたアクションを指定する「allowed_tools」リストが含まれています。これらのプロンプトをバイパスしたいユーザーのために、–yolo`フラグが用意されており、プロジェクトのやや気ままな精神を反映しています。

開発プロジェクトを処理する際、Crushはコードベースの簡潔な要約を提供するCRUSH.mdファイルを生成します。また、CursorやCopilotなどの他の人気のある開発者ツールからの指示もインテリジェントに組み込みます。エージェントの最初のパスは、構成、テスト、およびコアプロジェクトファイルの特定に焦点を当てています。ただし、ユーザーはターミナルエミュレーターによっては、マイナーなインターフェースの問題に遭遇する可能性があります。たとえば、Warpターミナル内では、一部のコマンドが傍受されたり、マウスベースのカーソル配置やテキストコピーなどの標準機能が利用できない場合があります。著者は、Anthropicトークンが不足したためにタスクが停止し、CRUSH.mdファイルを正常に生成するために補充とプロセスの再実行が必要になったケースを指摘しました。

実際のテストでは、Crushは戦略のコレクション内に新しいクラスを生成するタスクを課されました。これはゲーム開発プロジェクトの現実的なニーズでした。LLMは既存のプロジェクトからコンテキストを正常に取得し、「farmer」などの用語をキャラクター名とタイプとして解釈し、コーディングの具体性と絡み合った英語のコンテキストに基づいて「PollutionBad」を「FreezingBad」にインテリジェントに言い換えました。その後、Crushは生成されたクラスを追加し、プロジェクトの戦略リストに統合する許可を求めました。新しいナラティブのインスタンスを追加しようとしましたが、完全な完了に必要な情報が不足しており、作業を論理的に整理する一方で、より複雑な多段階のタスクにはユーザーのガイダンスが必要になる可能性があることを示しています。インターフェースでは、Tabキーを使用してリクエストブロックとレスポンスブロックを簡単に切り替えることができます。

結論として、Crushは初期段階にあり、一般的なユーザーインターフェースの利便性に欠けるものの、いくつかの興味深く斬新な機能を導入しています。Warpのような成熟したターミナルソリューションの統合エージェントCLI機能にはまだ及ばないかもしれませんが、その一貫したTUIベースのアプローチとオープンソースの性質は、大きな可能性を秘めています。貢献が増え、コア機能が強化されるにつれて、CrushはAIアシスト開発の分野で現在の実力以上の強力なツールになる可能性があります。