Crush:新一代基于Go语言构建的开源 AI 编程CLI工具

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-4oclaude-3-5-sonnet)。

基本交互

  • 直接输入自然语言问题,如:

    text 复制代码
    如何用 Go 实现一个 HTTP 服务器?
  • Crush 会返回代码并支持 流式输出

  • 输入 /help 查看所有命令

  • 输入 /quitCtrl+D 退出


五、高级配置:启用 LSP 与 MCP

Crush 的强大之处在于 上下文感知工具扩展,通过配置文件实现。

配置文件位置(优先级从高到低)

  1. ./.crush.json(项目根目录)
  2. ./crush.json
  3. $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 启动参数可跳过所有工具确认(慎用!):

bash 复制代码
crush --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 默认在执行工具前请求确认 (如 rmcurl
  • 通过 allowed_tools 白名单可信任常用命令
  • 敏感操作(如删除、网络请求)始终建议保留确认
  • 配置文件中的 API 密钥支持环境变量引用(如 "$OPENAI_API_KEY"

八、总结

Crush 将 LLM 能力深度融入终端工作流,特别适合:

  • 喜欢命令行的开发者
  • 需要离线/轻量级 AI 助手的场景
  • 希望自定义模型与工具链的高级用户

通过 LSP + MCP + 多模型支持,Crush 不仅能写代码,还能理解项目、调用工具、连接服务,真正成为你的"终端编程搭档"。

相关推荐
一车小面包2 小时前
Subword-Based Tokenization策略之BPE与BBPE
人工智能·自然语言处理
红纸2812 小时前
Subword分词方法的BPE与BBPE
人工智能·python·深度学习·神经网络·自然语言处理
zy_destiny3 小时前
【工业场景】用YOLOv8实现反光衣识别
人工智能·python·yolo·机器学习·计算机视觉
zhangjipinggom3 小时前
QwenVL - 202310版-论文阅读
人工智能·深度学习
PKNLP3 小时前
深度学习之循环神经网络RNN
人工智能·pytorch·rnn·深度学习
大模型真好玩3 小时前
低代码Agent开发框架使用指南(三)—小白5分钟利用Coze轻松构建智能体
人工智能·agent·coze
计算衎3 小时前
PyTorch的AI框架小白入门的学习点
人工智能·pytorch·深度学习
文火冰糖的硅基工坊3 小时前
[嵌入式系统-98]:国内嵌入式AI算力板
人工智能·架构
MoyiTech4 小时前
【论文阅读】LANGUAGE MODELS CAN LEARN FROM VERBAL FEEDBACK WITHOUT SCALAR REWARDS
论文阅读·人工智能·语言模型