Crush
为终端编程 Agent Crush 配置 OpenAI 兼容的 CoffeeRouter Provider。
接入前准备
- 准备 CoffeeRouter API Key 和准确的模型 ID。
- 选择 npm、Homebrew、Winget、Scoop 或官方二进制等安装方式。
- 确认目标模型适合代理式编程并支持所需工具能力。
配置步骤
1. 安装 Crush
npm:
npm install -g @charmland/crush
macOS Homebrew:
brew install charmbracelet/tap/crush
Windows:
winget install charmbracelet.crush
安装完成后运行 crush --version。
2. 设置 API Key
Linux / macOS:
export COFFEEROUTER_API_KEY="sk-your-api-key"
Windows PowerShell:
$env:COFFEEROUTER_API_KEY="sk-your-api-key"
3. 创建 Crush 配置
Crush 按以下优先级读取配置:
- 项目目录中的
.crush.json - 项目目录中的
crush.json - 全局
$HOME/.config/crush/crush.json
创建配置并填入:
{
"$schema": "https://charm.land/crush.json",
"providers": {
"coffeerouter": {
"type": "openai-compat",
"base_url": "https://www.coffeerouter.ai/v1",
"api_key": "$COFFEEROUTER_API_KEY",
"models": [
{
"id": "your-model-id",
"name": "CoffeeRouter Model",
"context_window": 128000,
"default_max_tokens": 8192,
"can_reason": false
}
]
}
}
}
将模型 ID、上下文窗口、最大输出和推理能力调整为实际模型值。
4. 启动并选择模型
cd /path/to/your-project
crush
按 Ctrl+L 打开模型选择器,选择 coffeerouter Provider 和目标模型。
验证接入
发送一个需要读取文件并提出修改建议的测试任务。模型能够正常响应且工具调用没有协议错误,即表示接入成功。
常见问题
看不到 coffeerouter Provider
检查配置文件位置、JSON 格式以及当前项目是否存在优先级更高的 .crush.json 或 crush.json。
返回 401 Unauthorized
确认 COFFEEROUTER_API_KEY 已导出到启动 Crush 的环境中,并检查令牌状态和访问限制。
模型不存在
models[].id 必须与 CoffeeRouter 中显示的模型 ID 完全一致。保存配置后退出并重新启动 Crush。
是否可以自动获取模型
新版 Crush 支持部分 OpenAI Compatible Provider 的模型发现,但是否可用取决于服务的 /models 接口。手动列出模型最明确,也便于控制可用范围。
安全提示
crush.json是受信任配置,Crush 会展开其中的环境变量,并可能执行$(...)表达式。不要运行来源不明的配置文件。- 不要把真实 API Key 直接写入或提交到项目配置。
- 建议为 Crush 创建独立令牌并限制模型、额度和有效期。
- Crush 会向 CoffeeRouter 发送任务描述、代码上下文和工具调用数据。