# 《Crush 从入门到精通》第一章:初识 Crush - 终端AI编程助手
**Crush** 是由 [Charm](https://charm.sh/) 团队开发的终端(Terminal)AI 编程助手。Charm 团队以其精美的命令行工具著称,曾开发了如 Glow、Charm 等知名开源项目。Crush 作为其 AI 产品线的最新成员,专注于为开发者提供一个**无缝集成于终端的 AI 编程伙伴**。
## 产品定位
Crush 的核心定位可以概括为以下几点:
| 定位维度 | 说明 |
|---------|------|
| **终端优先** | 专为终端用户设计,无需离开命令行即可获得 AI 辅助 |
| **编程辅助** | 深度集成文件系统、LSP、MCP,提供专业编程能力 |
| **多模型支持** | 支持 OpenAI、Anthropic、Google 等多种 LLM 提供商 |
| **会话管理** | 持久化会话管理,保持工作上下文 |
## 与传统 AI 助手的区别
| 特性 | 传统 Web AI | Crush |
|------|------------|-------|
| 交互方式 | 浏览器/APP | 终端 |
| 上下文保持 | 服务端存储 | 本地 SQLite |
| 文件操作 | 上传/下载 | 直接读写 |
| LSP 集成 | 无 | 深度集成 |
| MCP 扩展 | 有限 | 完全支持 |
| 离线能力 | 无 | 部分支持 |
| 隐私性 | 数据上传云端 | 数据本地存储 |
## 安装与配置
### macOS 安装
```bash
# 使用 Homebrew(推荐)
brew install charmbracelet/tap/crush
# 或者使用 npm
npm install -g @charmland/crush
```
### Linux 安装
```bash
# Debian/Ubuntu
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/sources.list.d/charm.list
sudo apt update && sudo apt install crush
# Fedora/RHEL
echo '[charm]
name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
sudo yum install crush
# Arch Linux
yay -S crush-bin
```
### Windows 安装
```bash
# Winget
winget install charmbracelet.crush
# Scoop
scoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git
scoop## 快速开始 install crush
```
### 首次运行配置
首次运行 Crush 时,系统会提示你配置 LLM 提供商:
```bash
# 设置环境变量
export OPENAI_API_KEY="sk-your-api-key"
export ANTHROPIC_API_KEY="sk-ant-your-api-key"
# 然后启动 Crush
crush
```
支持的环境变量:
| 环境变量 | 提供商 |
|---------|--------|
| `ANTHROPIC_API_KEY` | Anthropic |
| `OPENAI_API_KEY` | OpenAI |
| `VERCEL_API_KEY` | Vercel AI Gateway |
| `GEMINI_API_KEY` | Google Gemini |
| `OPENROUTER_API_KEY` | OpenRouter |
| `GROQ_API_KEY` | Groq |
## 核心功能概览
Crush 提供了丰富的核心功能:
```
📝 智能编程
├── 代码编辑与生成
├── 文件操作 (读/写/搜索)
├── 命令执行与解释
└── 代码审查与优化
🔗 深度集成
├── LSP 语言服务器
├── MCP 扩展协议
├── Git 版本控制
└── 终端命令
💬 会话管理
├── 持久化会话
├── 多会话支持
├── 上下文保持
└── 使用统计
🛡️ 安全保障
├── 权限请求
├── 持久化权限
└── 操作审计
```
## 工具系统概览
Crush 内置了 20+ 个工具:
| 类别 | 工具 | 功能描述 |
|------|------|---------|
| 文件操作 | `read`, `write`, `edit`, `glob` | 文件读写、搜索 |
| 内容搜索 | `grep`, `rg` | 代码内容搜索 |
| 命令执行 | `bash` | Shell 命令执行 |
| 网络操作 | `fetch`, `web_fetch`, `web_search` | HTTP 请求、网络搜索 |
| 代码理解 | `diagnostics`, `references` | LSP 诊断、引用查找 |
| 任务管理 | `todos` | 待办事项管理 |
| 下载 | `download` | 文件下载 |
---
*本文是《Crush 从入门到精通》系列文章的第一章*
登录后可参与表态
讨论回复
1 条回复
✨步子哥 (steper)
#1
02-14 13:59
登录后可参与表态