今日のHacker Newsトップページは、OpenCodeというプロジェクトに占拠されていた——875ポイント、400以上のコメント。しかし詳しく見ると、このプロジェクトの裏にある物語は表面よりも面白い。

OpenCodeは既にアーカイブされている。その精神的な後継作は、有名なターミナルUIフレームワークチームCharmが開発した Crush だ。

OpenCodeからCrushへの変遷

OpenCodeは当初、Claude CodeなどのプロプライエタリなAIプログラミングツールに対するオープンソースコミュニティの回答だった。Go言語で書かれ、Bubble Teaフレームワークを基盤にTUIインターフェースを提供し、マルチモデル、セッション管理、ツール統合などの機能を持っていた。

しかし開発者はすぐに気づいた。このようなツールを本当に良くするには、GitHubリポジトリだけでは不十分だ——持続可能なメンテナンス、専門的なUXデザイン、そして成熟したエコシステムが必要だ。これはまさにCharmチームの得意分野だ。

そこで、OpenCodeはアーカイブされ、Crushが誕生した。

Crushの核心となるハイライト

マルチモデルのシームレスな切り替え

Crushはほぼすべての主流LLMをサポートしている:

  • OpenAI (GPT-4, o3-mini など)
  • Anthropic Claude
  • Google Gemini
  • AWS Bedrock
  • Groq、Azure OpenAI、OpenRouter
  • OpenAI/Anthropic API互換のローカルモデル

最も実用的な機能はセッション中のモデル切り替えだ。Claudeでアーキテクチャ設計をしてから、GPT-4に切り替えてユニットテストを書くことができ、コンテキストは完全に保持される。

LSP拡張によるコード理解

Claude Codeとは異なり、Crushはコードベースを盲目的に推測しない。プロジェクトに対応するLanguage Server Protocol (LSP)を自動的にロードし、人間の開発者のようにコード補完、定義ジャンプ、型ヒントなどの機能を利用してコード構造を理解する。

これはCrushがTypeScript、Rust、Go、Pythonなどの言語に対して、テキストパターンの推測ではなく、より正確な理解を提供することを意味する。

MCP拡張システム

CrushはModel Context Protocol (MCP)をサポートしており、HTTP、stdio、SSEなどの方法で外部ツールを接続できる。これにより:

  • データベーススキーマのクエリ
  • 内部APIの呼び出し
  • ドキュメントシステムへのアクセス
  • カスタムワークフローの統合

が可能になる。

クロスプラットフォームサポート

Charmエコシステム(Bubble Tea、Lipgloss、Glamourなど)を基盤に、Crushはすべての主流プラットフォームで一貫した体験を提供する:

  • macOS、Linux、Windows (PowerShell & WSL)
  • Android、FreeBSD、OpenBSD、NetBSD

インストール体験

Crushのインストールは非常にスムーズだ:

# macOS
brew install charmbracelet/tap/crush

# Windows
winget install charmbracelet.crush

# npm
npm install -g @charmland/crush

# Arch Linux
yay -S crush-bin

設定は複数の方法(環境変数、設定ファイル)をサポートし、初回起動時にAPI keyの設定をガイドする。

Claude Codeとの比較

機能CrushClaude Code
オープンソース✅ 完全オープンソース❌ プロプライエタリ
モデル選択任意のモデルClaudeのみ
LSPサポート✅ ネイティブ統合部分的サポート
MCP拡張✅ 完全サポート実験的
ターミナルUIGlamourousシンプル
価格API従量課金$20/月

Claude Codeの強みはClaude 3.5/3.7 Sonnetとの深い最適化、およびAnthropicのモデル能力にある。しかしCrushのオープン性は長期的な柔軟性において優位に立つ。

私の見解

Crushの登場は、AIプログラミングツールが単一製品からプラットフォームエコシステムへと進化していることを示している。

プロプライエタリなソリューション(Claude Code、GitHub Copilot Chat)はモデル能力と統合の深さで勝るが、ロックインリスクがある。オープンソースのソリューション(Crush、Aider、Continue)は柔軟性と拡張性においてモートを築く。

チームにとって、Crushの最大の価値はカスタマイズ性かもしれない。以下が可能だ:

  • 内部ナレッジベースとAPIへの接続
  • チーム全体のコーディング規約チェックの統一
  • CI/CDフローとの統合
  • 自社インフラ上での実行(ローカルモデル + プライベートMCPサービス)

この”Glamourous Agentic Coding”(公式スローガン)のポジショニングは的確だ——単なるコード生成ではなく、開発ワークフロー全体を編成可能で拡張可能なインテリジェントシステムに変える。

試す価値はあるか?

すでにClaude CodeやCopilotを有料で利用している場合、Crushが完全に代替できるわけではないかもしれない。しかし、以下に該当するなら:

  • 異なるモデルの能力を試したい
  • 内部ツールの統合が必要
  • オープンソースソリューションを好む
  • 単純に美しいターミナルインターフェースが好き

なら、Crushは絶対に試す価値がある。

結局のところ、Bubble Teaで書かれているだけで、体験したくなるに足る。


関連リンク

この記事は gumi.ink で公開されました