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 提供预构建的二进制文件。 |
| 工作区共享 | 指向相同工作目录的多个终端实例会自动加入共享工作区,同步会话、历史记录和工具状态。 |
快速入门
- 安装 – 使用您喜欢的包管理器(Homebrew、NPM、Arch AUR、Nix、Debian/Ubuntu apt 仓库、Fedora/YUM、Winget、Scoop 等)或
go install github.com/charmbracelet/crush@latest。 - 选择模型 – 按 Ctrl + L 打开模型选择器,选择提供商(例如内置的 Hyper 服务或任何 OpenAI 兼容 API),并粘贴 API 密钥(或设置相应的环境变量,例如
OPENAI_API_KEY)。 - 开始会话 – 在项目目录中运行
crush。TUI 会打开;您可以输入自然语言提示、要求生成代码、要求助手运行命令,或调用已配置的 MCP 工具。 - 添加额外上下文 – 可选地在
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 工作流程中。
哪里可以了解更多?
- 发布页面 – 二进制下载和变更日志:https://github.com/charmbracelet/crush/releases
- 模型目录 – 社区维护的兼容模型列表:https://github.com/charmbracelet/catwalk
- 文档 – 详细的配置、钩子和 MCP 指南位于仓库的
docs/下。 - 社区 – 加入 Charm Slack 或 Discord(README 中有链接)以获得帮助并分享自定义配置。
TL;DR
Crush 是一款功能齐全、基于终端的 AI 编程伙伴,可与任何主要 LLM 搭配使用、集成语言服务器数据、支持自定义工具后端,并可跨多个终端窗口共享。通过您的包管理器安装,在 crushrc(或环境变量)中配置提供商,然后直接从命令行开始与您的代码聊天。
相关
- 项目
- 项目
- 项目
- 项目
- 项目