charmbracelet/crush

Glamourous agentic coding for all 💘

什么是 Crush?

Crush 是 Charm bracelet 生态系统中一款基于终端的 AI 编程助手。它让您能直接从 shell 与大型语言模型 (LLM) 聊天,同时与您已使用的工具紧密集成——编辑器、语言服务器协议 (LSP) 服务器、版本控制,以及自定义的“Model Context Protocol”(MCP) 服务。简而言之,它将您的命令行变成一个交互式编程伙伴,可以运行代码、获取信息,并调用外部工具,全部由您选择的 LLM 驱动。


核心功能

功能 说明
多模型支持 连接到任何 OpenAI 兼容、Anthropic 兼容或其他提供商(例如 OpenAI、Gemini、Claude、Ollama、Hyper),并在保留对话上下文的同时即时切换模型。
基于会话的工作流程 为每个项目保留单独的聊天会话,在它们之间切换,并在多个终端窗口之间共享会话。
LSP 增强的上下文 加载语言服务器协议服务器(例如 gopls、nil、typescript-language-server),让助手能看到类型信息、诊断信息和其他语言特定数据。
通过 MCP 扩展 通过三种传输类型——stdio、http 和 sse——添加自定义工具后端,让助手能调用任意服务(GitHub、Linear、自定义脚本等)。
使用 crushrc 配置 一个 Bash 风格的配置文件,可以声明提供商、模型、LSP、MCP、权限,甚至可以在启动时运行 shell 命令。
主题与 UI 内置 TUI 主题(例如 Charmtone Pantera、Gruvbox Dark),可以即时切换或通过 JSON 主题文件编辑。
跨平台 为 macOS、Linux、Windows (PowerShell/WSL)、FreeBSD、OpenBSD、NetBSD,甚至 illumos/Solaris 提供预构建的二进制文件。
工作区共享 指向相同工作目录的多个终端实例会自动加入共享工作区,同步会话、历史记录和工具状态。

快速入门

  1. 安装 – 使用您喜欢的包管理器(Homebrew、NPM、Arch AUR、Nix、Debian/Ubuntu apt 仓库、Fedora/YUM、Winget、Scoop 等)或 go install github.com/charmbracelet/crush@latest。
  2. 选择模型 – 按 Ctrl + L 打开模型选择器,选择提供商(例如内置的 Hyper 服务或任何 OpenAI 兼容 API),并粘贴 API 密钥(或设置相应的环境变量,例如 OPENAI_API_KEY)。
  3. 开始会话 – 在项目目录中运行 crush。TUI 会打开;您可以输入自然语言提示、要求生成代码、要求助手运行命令,或调用已配置的 MCP 工具。
  4. 添加额外上下文 – 可选地在 crushrc 文件中添加 LSP 服务器(lsp add go --command "gopls")或注册自定义 MCP 服务(mcp add github --type http --url https://api.github.com/mcp/)。

配置重点

  • crushrc – 一个 Bash 兼容的脚本,可以 provider add …、model add …、lsp add …、mcp add …,并设置权限。它会从项目目录加载(./.crushrc → ./crushrc → ~/.config/crush/crushrc),以第一个存在的文件为优先。
  • 环境变量 – 您可以预先填入 API 密钥(OPENAI_API_KEY、ANTHROPIC_API_KEY、HYPER_API_KEY 等),让模型选择器预先填好。
  • 主题 – 通过命令面板(Ctrl + P → Themes)或设置 JSON 配置中的 options.tui.active_theme 来更改。
  • 全局提示 – 两个可选的 Markdown 文件(~/.config/crush/CRUSH.md 和 ~/.config/AGENTS.md)会自动注入系统提示中,让您定义个人规则或共享指令。

谁可能受益?

  • 开发人员,他们花很多时间在终端中,希望在不离开 shell 的情况下使用 AI 助手。
  • 团队,需要在 macOS、Linux 和 Windows 工作站上使用一致、可配置的 AI 工具。
  • 高级用户,希望通过 MCP 将自定义服务(问题跟踪器、CI 管道、代码审查机器人)挂接到他们的 AI 工作流程中。

哪里可以了解更多?


TL;DR

Crush 是一款功能齐全、基于终端的 AI 编程伙伴,可与任何主要 LLM 搭配使用、集成语言服务器数据、支持自定义工具后端,并可跨多个终端窗口共享。通过您的包管理器安装,在 crushrc(或环境变量)中配置提供商,然后直接从命令行开始与您的代码聊天。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目