Crush 是一款开源的终端原生 LLM(大语言模型)客户端,专为开发者打造。它将你的代码上下文、开发工具链与主流语言模型(如 OpenAI、Anthropic、Claude、Gemini 等)无缝集成,让你在终端中就能获得智能代码生成、项目理解、错误诊断等能力,无需离开命令行。
本文将手把手教你 安装 Crush、配置 API 密钥、启用 LSP/MCP 扩展功能,并快速上手高效开发。
一、Crush 是什么?
Crush 是由 Charm 团队开发的终端 LLM 工具,具备以下核心能力:
- ✅ 多模型支持:OpenAI、Anthropic、Groq、Gemini、Azure OpenAI、AWS Bedrock 等
- ✅ 项目上下文感知:通过 LSP(语言服务器协议)理解你的代码结构
- ✅ 可扩展工具链:通过 MCP(Model Context Protocol)调用外部服务(如 GitHub、文件系统)
- ✅ 会话管理:支持多项目、多会话独立上下文
- ✅ 跨平台运行:macOS / Linux / Windows (PowerShell/WSL) / BSD 全支持
💡 一句话总结:Crush = 终端版 Copilot + 可扩展 + 开源 + 无 GUI 依赖
二、安装 Crush
Crush 提供多种安装方式,任选其一即可。
方式 1:使用包管理器(推荐)
macOS(Homebrew)
bash
brew install charmbracelet/tap/crush
Linux(Debian/Ubuntu)
bash
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install crush
Arch Linux(yay)
bash
yay -S crush-bin
Node.js 用户(NPM)
bash
npm install -g @charmland/crush
方式 2:直接下载二进制文件
前往 GitHub Releases 页面,下载对应平台的预编译文件(支持 .deb
、.rpm
、.exe
、macOS/Linux 二进制等)。
例如 Linux x64:
bash
wget https://github.com/charmbracelet/crush/releases/latest/download/crush_linux_amd64
chmod +x crush_linux_amd64
sudo mv crush_linux_amd64 /usr/local/bin/crush
方式 3:使用 Go 安装(开发者推荐)
确保已安装 Go 1.21+:
bash
go install github.com/charmbracelet/crush@latest
安装后二进制位于
$GOPATH/bin/crush
三、配置 API 密钥
Crush 需要访问 LLM 服务,因此需配置 API 密钥。支持以下方式:
方法 1:启动时交互式输入(首次使用)
bash
crush
# 按提示选择模型提供商并输入密钥
方法 2:设置环境变量(推荐长期使用)
提供商 | 环境变量 |
---|---|
OpenAI | OPENAI_API_KEY |
Anthropic | ANTHROPIC_API_KEY |
Google Gemini | GEMINI_API_KEY |
Groq | GROQ_API_KEY |
Azure OpenAI | AZURE_OPENAI_API_KEY |
AWS Bedrock | AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY |
示例(Linux/macOS):
bash
export OPENAI_API_KEY="sk-xxxxxx"
export ANTHROPIC_API_KEY="sk-ant-xxxxxx"
Windows PowerShell:
powershell
$env:OPENAI_API_KEY = "sk-xxxxxx"
✅ 建议将环境变量写入
~/.bashrc
、~/.zshrc
或.env
文件实现持久化。
四、快速上手:基本使用
启动 Crush
bash
crush
首次启动会引导你选择默认模型(如 gpt-4o
、claude-3-5-sonnet
)。

基本交互
-
直接输入自然语言问题,如:
text如何用 Go 实现一个 HTTP 服务器?
-
Crush 会返回代码并支持 流式输出
-
输入
/help
查看所有命令 -
输入
/quit
或Ctrl+D
退出
五、高级配置:启用 LSP 与 MCP
Crush 的强大之处在于 上下文感知 与 工具扩展,通过配置文件实现。
配置文件位置(优先级从高到低)
./.crush.json
(项目根目录)./crush.json
$HOME/.config/crush/crush.json
(全局)
示例配置:.crush.json
json
{
"$schema": "https://charm.land/crush.json",
"lsp": {
"go": {
"command": "gopls"
},
"typescript": {
"command": "typescript-language-server",
"args": ["--stdio"]
},
"python": {
"command": "pylsp"
}
},
"mcp": {
"filesystem": {
"type": "stdio",
"command": "node",
"args": ["./mcp-file-server.js"]
},
"github": {
"type": "http",
"url": "https://api.github.com/mcp/"
}
},
"permissions": {
"allowed_tools": ["view", "ls", "grep", "cat"]
},
"providers": {
"deepseek": {
"type": "openai",
"base_url": "https://api.deepseek.com/v1",
"api_key": "$DEEPSEEK_API_KEY",
"models": [
{
"id": "deepseek-chat",
"name": "DeepSeek-V3",
"context_window": 64000
}
]
}
}
}
配置说明
配置项 | 作用 |
---|---|
lsp |
启用语言服务器,让 Crush 理解项目代码结构 |
mcp |
连接外部 MCP 服务(如文件读取、GitHub API) |
permissions.allowed_tools |
白名单工具,跳过执行确认 |
providers |
添加自定义 LLM 服务(支持 OpenAI/Anthropic 兼容 API) |
💡 提示 :使用
--yolo
启动参数可跳过所有工具确认(慎用!):
bashcrush --yolo
六、实用技巧
1. 查看日志
bash
# 查看最近 1000 行日志
crush logs
# 实时跟踪日志
crush logs --follow
# 启用调试模式
crush --debug
2. 多会话管理
Crush 自动为每个项目目录创建独立会话,上下文互不干扰。你也可以手动指定:
bash
crush --session my-feature
3. 切换模型
在 Crush 会话中输入:
text
/model gpt-4o
或
text
/model claude-3-5-sonnet
七、安全与权限
- Crush 默认在执行工具前请求确认 (如
rm
、curl
) - 通过
allowed_tools
白名单可信任常用命令 - 敏感操作(如删除、网络请求)始终建议保留确认
- 配置文件中的 API 密钥支持环境变量引用(如
"$OPENAI_API_KEY"
)
八、总结
Crush 将 LLM 能力深度融入终端工作流,特别适合:
- 喜欢命令行的开发者
- 需要离线/轻量级 AI 助手的场景
- 希望自定义模型与工具链的高级用户
通过 LSP + MCP + 多模型支持,Crush 不仅能写代码,还能理解项目、调用工具、连接服务,真正成为你的"终端编程搭档"。