Crush
Crush 教程 — 由 Charm 团队开发的开源终端 AI 编程 Agent,支持多模型切换、LSP 集成、MCP 服务器。通过 crush.json 配置文件接入 EasyRouter。
项目介绍
Crush 是由 Charm 开发的开源 AI 编程 Agent,运行在终端中。支持多模型切换、LSP 集成、MCP 服务器和代理式编码工作流,UI 精致且交互流畅。
📦 接入前准备
准备信息
- 已安装 Node.js
- 一个可用的 EasyRouter 地址(必须以
/v1结尾) - 一个可用的 EasyRouter API Key(在控制台生成)
- 想使用的模型名称(如
claude-sonnet-4-6、gemini-2.5-flash等,需与 EasyRouter 控制台中的模型 ID 完全一致)
🚀 第一步:安装 Crush
npm install -g @charmland/crushmacOS 用户也可通过 Homebrew 安装:
brew install charmbracelet/tap/crush验证安装:
crush --version🔧 第二步:编辑配置文件
配置文件位置:
- Linux / macOS:
~/.config/crush/crush.json - Windows:
%USERPROFILE%\.config\crush\crush.json
如果文件不存在,自行创建即可。填入以下内容:
{
"$schema": "https://charm.land/crush.json",
"providers": {
"easyrouter": {
"type": "openai-compat",
"base_url": "https://easyrouter.io/v1",
"api_key": "$EASYROUTER_API_KEY",
"models": [
{
"id": "claude-sonnet-4-6",
"name": "Claude Sonnet 4.6",
"context_window": 200000,
"default_max_tokens": 32768,
"can_reason": true
},
{
"id": "gemini-2.5-flash",
"name": "Gemini 2.5 Flash",
"context_window": 1000000,
"default_max_tokens": 32768,
"can_reason": false
}
]
}
}
}字段要点
type必须为openai-compatbase_url需以/v1结尾api_key使用$EASYROUTER_API_KEY变量引用,避免把明文密钥写入配置文件models[].id必须与 EasyRouter 控制台完全一致
🔑 第三步:设置环境变量
Linux / macOS
export EASYROUTER_API_KEY="your-easyrouter-api-key"Windows(PowerShell)
$env:EASYROUTER_API_KEY="your-easyrouter-api-key"建议写入 shell 配置文件以便持久化。
✅ 第四步:启动并选择模型
进入你的项目目录:
cd /path/to/my-project
crush按 Ctrl+L(或输入 /model)打开模型切换器,选择 easyrouter 供应商,然后选择目标模型。发送一条测试消息验证响应。
❓ 常见问题
| 问题 | 解决方案 |
|---|---|
| 模型切换器看不到 easyrouter | 检查 crush.json 路径和 JSON 格式是否正确 |
| 401 Unauthorized | 确认 EASYROUTER_API_KEY 已导出到当前 shell |
| 模型不存在 | 核对 models[].id 与 EasyRouter 控制台完全一致 |
| 修改配置后没生效 | 退出 Crush 重新启动 |