charmbracelet/crush
Glamourous agentic coding for all 💘
Crush – 終端導向的 LLM 驅動程式碼助理
是什麼 – Crush 是一個命令列應用程式,讓您可直接在任何終端與大型語言模型(LLM)對話。它就像一位「程式碼最佳拍檔」:您可要求它撰寫、編輯或解釋程式碼,執行工具,與專案檔案互動,同時保留在您已使用的 shell 環境中。
為何重要 – 多數 AI 程式碼助理都存在於 IDE 插件或 Web UI 中。Crush 將相同功能帶入終端,對那些大部分時間都在 Vim/Emacs、遠端 shell 或 CI 管道中工作的開發者極具價值。它也支援 多個 LLM 提供者(OpenAI、Anthropic、Gemini、Bedrock、本地 Ollama 等),並可在不遺失上下文的情況下即時切換模型。
核心功能(如 README 所述)
- 多模型支援 – 可選擇任何 OpenAI 或 Anthropic 相容 API,新增自訂提供者,或透過 Ollama 執行本地模型。
- 會話式工作流程 – 為每個專案保持獨立對話;可同時開啟多個會話。
- LSP 整合 – Crush 可啟動語言伺服器協定(LSP)伺服器(如
gopls、nil、typescript-language-server),讓模型更深入理解您的程式碼。 - 透過 MCP 擴展 – 可透過
stdio、http或sse加入 Model Context Protocol 伺服器,提供自訂工具、資料或即時更新。 - 跨平台 – 支援 macOS、Linux、Windows(PowerShell/WSL)、Android 與 BSD 家族。
- 透過
crushrc設定 – 一個 Bash 風格的設定檔,可依專案或全域放置;可新增提供者、模型、LSP、MCP、權限等。 - 全域上下文檔案 – Markdown 檔案(
CRUSH.md、AGENTS.md)會自動注入系統提示,用於個人指示。 - 權限系統 – 工具(如
ls、grep、GitHub 行動)需明確允許/拒絕,防止不期望的副作用。 - 工作區共用 – 指向相同工作目錄的多個 TUI 客戶端,透過 SSE 共用相同的會話清單、歷史記錄與工具狀態。
快速入門(啟動步驟)
- 安裝 – 使用 Homebrew、NPM、Arch 的 AUR、Nix、Winget、Scoop,或下載適用於您作業系統的二進位檔/套件。有 Go 工具鏈的使用者也可使用
go install。 - 選擇模型 – 按下 Ctrl + L 開啟模型選擇器,選擇提供者(例如內建的 Hyper 服務、OpenAI、Anthropic 等),貼上 API 金鑰或設定相應的環境變數(
OPENAI_API_KEY、ANTHROPIC_API_KEY等)。 - 啟動會話 – 在專案目錄中執行
crush。TUI 將出現;您可輸入自然語言提示,請求程式碼產生,或請求執行工具。 - 設定(可選) – 建立
crushrc(Bash 語法)或 JSON 設定檔,新增 LSP、MCP 伺服器或預先核准的工具。README 中提供範例片段。
設定亮點
- 提供者定義 – 在
crushrc或 JSON 中,使用provider add <name> --type <type> --base-url <url>新增提供者,再註冊模型(model add …)。 - LSP –
lsp add go --command "gopls" --enabled true使 Go 語言伺服器可供模型使用。 - MCP 伺服器 – 新增自訂工具後端,例如本地 Node 腳本(
mcp add filesystem --command node …)或基於 GitHub 的 MCP(mcp add github --type http …)。 - 權限 –
permissions allow view edit預先核准安全工具;permissions deny bash阻擋高風險工具。 - 全域上下文 – 將個人指示 Markdown 檔案放在
~/.config/crush/CRUSH.md(或透過option global-context-path設定自訂路徑)。 - 環境覆蓋 – 設定
CRUSH_GLOBAL_CONFIG或CRUSH_GLOBAL_DATA以移動設定/狀態目錄。
適合誰使用
- 希望在終端中工作且不離開 shell 就能獲得 AI 協助的開發者。
- 需要在多種作業系統與 CI 環境中保持一致、可設定 AI 助手的團隊。
- 使用自架 LLM(Ollama、本地 Hugging Face 推理)並希望擁有簡單前端的使用者。
- 希望透過 LLM 編寫或自動化工具呼叫,同時保留細粒度權限控制的任何人。
README 中的連結
- 發行頁面 – https://github.com/charmbracelet/crush/releases
- 模型目錄(Catwalk) – https://github.com/charmbracelet/catwalk
- 官方提供者(Hyper) – https://hyper.charm.land
- 社群聊天 – Slack / Discord 連結(警告方塊中提及)
總結
Crush 是一個功能完整的、原生支援終端的 LLM 助手,可與現有開發工具(LSP、版本控制、自訂 MCP 服務)整合,並與幾乎所有 LLM 後端相容。專為偏好命令列、需要可設定、權限感知 AI 合作夥伴的開發者設計。
相關
- 專案
- 專案
- 專案
- 專案
- 專案