💘 ç»ˆç«¯é‡Œçš„ç¼–ç¨‹æ–°ææ¡£ï¼šCrush 如何让 AI æˆä¸ºä½ 的代ç 知己
"Your new coding bestie, now available in your favourite terminal."
一ã€å¼•言:为什么终端里需è¦ä¸€ä½ AI 助手?
æƒ³è±¡ä¸€ä¸‹è¿™æ ·çš„åœºæ™¯ï¼šä½ æ£æ²‰æµ¸åœ¨ä»£ç 的世界里,手指在键盘上飞舞,终端窗å£é‡Œé—ªçƒç€ç»¿è‰²çš„å…‰æ ‡ã€‚çªç„¶ï¼Œä½ é‡åˆ°äº†ä¸€ä¸ªæ£˜æ‰‹çš„问题——需è¦é‡æž„ä¸€æ®µå¤æ‚的逻辑,或者想快速ç†è§£ä¸€ä¸ªé™Œç”Ÿçš„代ç åº“ã€‚è¿™æ—¶å€™ï¼Œä½ ä¼šæ€Žä¹ˆåšï¼Ÿ
ä¼ ç»Ÿçš„é€‰æ‹©å¾€å¾€æ˜¯ï¼š
- 打开æµè§ˆå™¨ï¼Œåœ¨ ChatGPT å’Œ IDE 之间æ¥å›žåˆ‡æ¢
- å¤åˆ¶ç²˜è´´ä»£ç 片段,失去了上下文
- 被å„ç§ç½‘é¡µé€šçŸ¥æ‰“æ–æ€è·¯
- 回到终端åŽï¼Œåˆšæ‰çš„对è¯å·²ç»å¿˜å¾—一干二净
è¿™ç§ã€Œä¸Šä¸‹æ–‡åˆ‡æ¢ã€çš„æˆæœ¬ï¼Œå¯¹äºŽè¿½æ±‚å¿ƒæµçš„程åºå‘˜æ¥è¯´ï¼Œç®€ç›´æ˜¯ä¸€ç§æŠ˜ç£¨ã€‚
而 Crush çš„å‡ºçŽ°ï¼Œæ£æ˜¯ä¸ºäº†è§£å†³è¿™ä¸ªé—®é¢˜ã€‚它ä¸åƒ Cursor é‚£æ ·è¯•å›¾å–ä»£ä½ çš„ç¼–è¾‘å™¨ï¼Œä¹Ÿä¸åƒ Claude Code é‚£æ ·è¦æ±‚ä½ æ”¹å˜å·¥ä½œæµâ€”—Crush æ¥åˆ°ä½ æ‰€åœ¨çš„åœ°æ–¹ï¼Œåœ¨ä½ çš„ç»ˆç«¯é‡Œï¼Œæˆä¸ºä½ 真æ£çš„ç¼–ç¨‹ææ¡£ã€‚
二ã€Crush 是什么?终端原生的 AI 编程伴侣
Crush 是由 Charm Bracelet 团队开å‘的终端 AI ç¼–ç¨‹åŠ©æ‰‹ã€‚å¦‚æžœä½ ä¸ç†Ÿæ‚‰ Charm,他们是终端美å¦é¢†åŸŸçš„艺术家——Bubble Tea(TUI 框架)ã€Lip Glossï¼ˆæ ·å¼åº“)ã€Gum(shell 工具)ç‰å¹¿å—欢迎的开æºé¡¹ç›®éƒ½å‡ºè‡ªä»–们之手。
🎯 æ ¸å¿ƒå®šä½
Crush çš„æ ¸å¿ƒç†å¿µå¯ä»¥ç”¨ä¸€å¥è¯æ¦‚括:"Your tools, your code, and your workflows, wired into your LLM of choice."
è¿™æ„味ç€ï¼š
- ä¸ç»‘æž¶ä½ çš„å·¥ä½œæµ â€”â€” 它ä½åœ¨ç»ˆç«¯é‡Œï¼Œå’Œä½ 现有的工具和平共处
- ä¸é”å®šä½ çš„æ¨¡åž‹ —— ä½ å¯ä»¥è‡ªç”±åˆ‡æ¢ OpenAIã€Anthropicã€Groqã€æœ¬åœ°æ¨¡åž‹â€¦â€¦
- ä¸ä¾µçŠ¯ä½ çš„ä»£ç —— 所有æ“作都需è¦ä½ 的许å¯ï¼Œé™¤éžä½ 主动开å¯ã€ŒYOLO 模å¼ã€
🌟 ä¸ºä»€ä¹ˆå« Crush?
这个åå—æœ¬èº«å°±å……满了趣味——它既是 "压碎"(解决难题),也是 "心动"ï¼ˆè®©ä½ çˆ±ä¸Šç¼–ç¨‹ï¼‰ã€‚æ£å¦‚ Charm 团队所说:"Productivity may increase when using Crush and you may find yourself nerd sniped when first using the application."(使用 Crush å¯èƒ½ä¼šæé«˜ç”Ÿäº§åŠ›ï¼Œè€Œä¸”ä½ å¯èƒ½ä¼šåœ¨ç¬¬ä¸€æ¬¡ä½¿ç”¨æ—¶å°±è¢«å®ƒæ·±æ·±å¸å¼•。)
ä¸‰ã€æ ¸å¿ƒåŠŸèƒ½è¯¦è§£ï¼šCrush 的五大超能力
🤖 多模型支æŒï¼šä¸è¢«ä»»ä½•一家厂商绑架
Crush 最引人注目的特性之一,就是它对多模型的原生支æŒã€‚
支æŒçš„æä¾›å•†åŒ…括:
| æä¾›å•† | 环境å˜é‡ | 特色 |
|---|---|---|
| OpenAI | OPENAI_API_KEY |
GPT-4ã€GPT-4o 系列 |
| Anthropic | ANTHROPIC_API_KEY |
Claude 3.5/4 Sonnetã€Opus |
| Groq | GROQ_API_KEY |
æžé€ŸæŽ¨ç†ï¼Œæ€§ä»·æ¯”高 |
| OpenRouter | OPENROUTER_API_KEY |
èšåˆå¤šå®¶æ¨¡åž‹ï¼Œæœ‰å…费选项 |
| Google Gemini | GEMINI_API_KEY |
é•¿ä¸Šä¸‹æ–‡çª—å£ |
| Amazon Bedrock | AWS_* |
ä¼ä¸šçº§ AWS é›†æˆ |
| Azure OpenAI | AZURE_OPENAI_* |
微软云æœåŠ¡ |
| Ollama/LM Studio | 本地é…ç½® | 完全离线,éšç§ä¼˜å…ˆ |
💡 一个超实用的功能:会è¯ä¸åˆ‡æ¢æ¨¡åž‹
ä½ å¯ä»¥å…ˆç”¨ GPT-4o åšæž¶æž„设计,然åŽåˆ‡æ¢åˆ° Qwen Coder 写具体实现,最åŽç”¨ Claude åšä»£ç 审查——所有对è¯ä¸Šä¸‹æ–‡éƒ½å®Œæ•´ä¿ç•™ã€‚
# 在 Crush 䏿Œ‰ Ctrl+P æ‰“å¼€å‘½ä»¤é¢æ¿
# 选择 "Switch Model" å³å¯å®žæ—¶åˆ‡æ¢
ðŸ–¥ï¸ ç»ˆç«¯åŽŸç”Ÿï¼šCharm 生æ€çš„美å¦åŠ æŒ
Crush çš„ç•Œé¢æ˜¯ç»ˆç«¯å·¥å…·ä¸çš„艺术å“。基于 Charm çš„ Bubble Tea 框架构建,它拥有:
- æµç•…的动画过渡 —— 䏿˜¯é‚£ç§èŠ±é‡Œèƒ¡å“¨çš„å¹²æ‰°ï¼Œè€Œæ˜¯è®©äº¤äº’æ›´è‡ªç„¶çš„å¾®åŠ¨æ•ˆ
- 自适应布局 —— æ— è®ºä½ çš„ç»ˆç«¯å¤šå¤§æˆ–å¤šå°ï¼Œç•Œé¢éƒ½èƒ½ä¼˜é›…地调整
- 键盘优先设计 —— 所有æ“作都有快æ·é”®ï¼Œæ— éœ€é¼ æ ‡
- è¯æ³•高亮 —— 代ç å—在终端里也能色彩缤纷
常用快æ·é”®ï¼š
Ctrl+P - æ‰“å¼€å‘½ä»¤é¢æ¿
Ctrl+G - èšç„¦åˆ°èŠå¤©è¾“å…¥
Ctrl+S - 会è¯ç®¡ç†
Ctrl+F - é™„åŠ æ–‡ä»¶
Ctrl+M - åˆ‡æ¢æ¨¡åž‹
Ctrl+T - 打开/å…³é—待办列表
Ctrl+C - 退出
🔧 LSP 增强:让 AI 真æ£ç†è§£ä½ 的代ç
这是 Crush 区别于普通 AI èŠå¤©å·¥å…·çš„关键特性。
LSP(Language Server Protocol,è¯è¨€æœåС噍å议) 是现代 IDE çš„æ ¸å¿ƒæŠ€æœ¯ã€‚å®ƒè®©ç¼–è¾‘å™¨èƒ½å¤Ÿç†è§£ä»£ç çš„è¯ä¹‰â€”—ä¸åªæ˜¯æ–‡æœ¬ï¼Œè€Œæ˜¯å‡½æ•°å®šä¹‰ã€ç±»åž‹ä¿¡æ¯ã€å¼•用关系ã€é”™è¯¯è¯Šæ–ç‰ã€‚
Crush 如何使用 LSP:
// crush.json é…置示例
{
"\(schema": "https://charm.land/crush.json",
"lsp": {
"go": {
"command": "gopls",
"env": {
"GOTOOLCHAIN": "go1.24.5"
}
},
"typescript": {
"command": "typescript-language-server",
"args": ["--stdio"]
},
"python": {
"command": "pylsp"
},
"rust": {
"command": "rust-analyzer"
}
}
}
```
**实际效果:**
- å½“ä½ é—® "这个函数在哪里被调用了",Crush èƒ½ç»™å‡ºå‡†ç¡®çš„ç”æ¡ˆ
- 釿ž„时,它能识别出所有需è¦ä¿®æ”¹çš„地方
- 错误诊æ–ä¸å†æ˜¯ç®€å•的文本匹é…,而是基于è¯ä¹‰çš„ç†è§£
### 🔌 MCP 扩展:连接万物的åè®®
**MCP(Model Context Protocol,模型上下文å议)** 是 Anthropic æå‡ºçš„å¼€æ”¾æ ‡å‡†ï¼Œæ—¨åœ¨è®© AI åŠ©æ‰‹èƒ½å¤Ÿå®‰å…¨åœ°è¿žæŽ¥å¤–éƒ¨å·¥å…·å’Œæ•°æ®æºã€‚
Crush 支æŒä¸‰ç§ MCP ä¼ è¾“ç±»åž‹ï¼š
| 类型 | 用途 | 示例 |
|------|------|------|
| `stdio` | å‘½ä»¤è¡Œç¨‹åº | 本地文件系统æ“作ã€è‡ªå®šä¹‰è„šæœ¬ |
| `http` | HTTP API | GitHubã€æ•°æ®åº“ã€ç¬¬ä¸‰æ–¹æœåŠ¡ |
| `sse` | æœåŠ¡å™¨æŽ¨é€ | å®žæ—¶æ•°æ®æµã€æ—¥å¿—监控 |
**é…置示例:**
```json
{
"mcp": {
"filesystem": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mcp-server.js"],
"timeout": 120
},
"github": {
"type": "http",
"url": "https://api.github.com/mcp/",
"headers": {
"Authorization": "Bearer\)GH_PAT"
}
}
}
}
è¿™æ„味ç€ä»€ä¹ˆï¼Ÿ
- 让 AI ç›´æŽ¥æŸ¥è¯¢ä½ å…¬å¸çš„内部知识库
- 自动在 Jira 创建工å•
- 从 Figma 读å–设计稿并生æˆä»£ç
- æ“作数æ®åº“ã€éƒ¨ç½²æœåŠ¡ã€ç›‘控日志……
🎒 Agent Skills:å¯å¤ç”¨çš„æŠ€èƒ½åŒ…
Crush æ”¯æŒ Agent Skills å¼€æ”¾æ ‡å‡†ï¼Œå…è®¸ä½ åˆ›å»ºå¯å¤ç”¨çš„æŠ€èƒ½åŒ…æ¥æ‰©å±• AI 的能力。
Skills 是什么?
- 包å«
SKILL.md文件的文件夹 - 定义了特定任务的指令和上下文
- Crush å¯ä»¥æŒ‰éœ€å‘现和激活
获å–示例 Skills:
# Unix/macOS
mkdir -p ~/.config/crush/skills
cd ~/.config/crush/skills
git clone https://github.com/anthropics/skills.git _temp
mv _temp/skills/* . && rm -rf _temp
使用场景:
- 为团队创建统一的代ç 审查规范
- 定义特定框架的最佳实践
- å°è£…å¸¸ç”¨çš„å¼€å‘æµç¨‹
å››ã€å®‰è£…与é…置:五分钟上手
安装
Crush 支æŒå‡ 乎所有主æµå¹³å°å’ŒåŒ…管ç†å™¨ï¼š
# macOS (Homebrew)
brew install charmbracelet/tap/crush
# Linux (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/apt/sources.list.d/charm.list
sudo apt update && sudo apt install crush
# Windows (Winget)
winget install charmbracelet.crush
# NPM (跨平å°)
npm install -g @charmland/crush
# Go
go install github.com/charmbracelet/crush@latest
åˆå§‹é…ç½®
Crush å¯ä»¥ç›´æŽ¥è¯»å–环境å˜é‡ä¸çš„ API Keyï¼Œæ— éœ€é¢å¤–é…置:
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GROQ_API_KEY="gsk_..."
ç„¶åŽç›´æŽ¥è¿è¡Œï¼š
crush
首次å¯åŠ¨æ—¶ï¼ŒCrush ä¼šå¼•å¯¼ä½ å®Œæˆç®€å•çš„åˆå§‹åŒ–设置。
五ã€ä½¿ç”¨åœºæ™¯ä¸Žæ¡ˆä¾‹
场景一:快速ç†è§£é™Œç”Ÿä»£ç 库
# 进入项目目录
cd my-project
# å¯åЍ Crush
crush
# ç„¶åŽé—®ï¼š
# "è¿™ä¸ªé¡¹ç›®çš„æž¶æž„æ˜¯ä»€ä¹ˆæ ·çš„ï¼Ÿ"
# "入壿–‡ä»¶åœ¨å“ªé‡Œï¼Ÿ"
# "这个函数的作用是什么?"
Crush 会自动分æžé¡¹ç›®ç»“æž„ï¼Œç»“åˆ LSP æä¾›å‡†ç¡®çš„回ç”。
åœºæ™¯äºŒï¼šé‡æž„与代ç 审查
# 让 Crush å¸®ä½ é‡æž„
"å¸®æˆ‘é‡æž„这个函数,使其更易于测试"
# 代ç 审查
"æ£€æŸ¥è¿™æ®µä»£ç æ˜¯å¦æœ‰æ½œåœ¨çš„æ€§èƒ½é—®é¢˜"
# ç”Ÿæˆæµ‹è¯•
"为这个函数生æˆå•元测试"
场景三:多模型å作
# 先用 GPT-4o 设计架构
"设计一个高性能的缓å˜ç³»ç»Ÿ"
# 切æ¢åˆ° Claude 实现细节
"用 Go 实现这个缓å˜ç³»ç»Ÿ"
# 最åŽç”¨æœ¬åœ°æ¨¡åž‹å®¡æŸ¥
"检查这段代ç 的安全性"
å…ã€ä¸Žå…¶ä»–工具的对比
| 特性 | Crush | Cursor | Claude Code | GitHub Copilot |
|---|---|---|---|---|
| è¿è¡ŒçŽ¯å¢ƒ | 终端 | VS Code | 终端 | IDE æ’ä»¶ |
| å¤šæ¨¡åž‹æ”¯æŒ | ✅ 原生 | âš ï¸ æœ‰é™ | ⌠仅 Claude | ⌠仅 OpenAI |
| LSP æ”¯æŒ | ✅ | ✅ | ✅ | ⌠|
| MCP æ”¯æŒ | ✅ | ⌠| ⌠| ⌠|
| 工作æµä¾µå…¥ | æ— | 高 | ä¸ | 低 |
| å¼€æº | ✅ | ⌠| ⌠| ⌠|
Crush 的优势:
- 自由:ä¸è¢«ä»»ä½•模型或平å°é”定
- 开放:完全开æºï¼Œç¤¾åŒºé©±åЍ
- è½»é‡ï¼šä¸ä¿®æ”¹ä½ 的工作æµ
- 强大:LSP + MCP + Skills çš„ç»„åˆæ‹³
七ã€ç»“è¯ï¼šç»ˆç«¯é‡Œçš„æœªæ¥
Crush ä»£è¡¨äº†ä¸€ç§æ–°çš„ AI 工具哲å¦ï¼šä¸æ˜¯è®© AI å–ä»£ä½ çš„å·¥ä½œæµï¼Œè€Œæ˜¯è®© AI èžå…¥ä½ 的工作æµã€‚
对于终端é‡åº¦ç”¨æˆ·æ¥è¯´ï¼ŒCrush å°±åƒæ˜¯ç»™ç†Ÿæ‚‰çš„ shell 装上了一个智能大脑。它ä¸ä¼šæ‰“æ‰°ä½ ï¼Œä½†éšæ—¶å‡†å¤‡å¸®åŠ©ä½ ï¼›å®ƒä¸ä¼šæ›¿ä½ 决ç–,但能æä¾›æœ‰ä»·å€¼çš„建议。
在这个 AI 工具层出ä¸ç©·çš„æ—¶ä»£ï¼ŒCrush 选择了一æ¡ä¸åŒçš„路——ä¸è¿½æ±‚大而全,而是追求æ°åˆ°å¥½å¤„。
å¦‚æžœä½ ä¹Ÿæ˜¯é‚£ç§ã€Œæ´»åœ¨ç»ˆç«¯é‡Œã€çš„å¼€å‘者,ä¸å¦¨ç»™ Crush 一个机会。也许,它会æˆä¸ºä½ 的下一个「代ç 知己ã€ã€‚
å‚考链接
- GitHub: https://github.com/charmbracelet/crush
- 官方文档: https://charm.land/crush
- Charm 生æ€: https://charm.sh
本文基于 Crush å¼€æºé¡¹ç›®èµ„料整ç†ï¼Œä»…供技术交æµã€‚
讨论回å¤
1 æ¡å›žå¤æŽ¨è
智谱 GLM-5 已上线
我æ£åœ¨æ™ºè°±å¤§æ¨¡åž‹å¼€æ”¾å¹³å° BigModel.cn ä¸Šæ‰“é€ AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推ç†ã€ä»£ç ã€æ™ºèƒ½ä½“综åˆèƒ½åŠ›è¾¾åˆ°å¼€æºæ¨¡åž‹ SOTA 水平。