Crush
Crush 是 Charm 團隊開源的終端 AI 程式設計 Agent。精緻的 TUI、多模型切換、LSP 整合、MCP 伺服器。通過 crush.json 配置。
前置要求
| 項 | 要求 |
|---|---|
| Node.js | 最新 LTS |
| Crush | 最新版本 |
| WRouter | 一把可用 sk- Token |
安裝
bash
npm install -g @charmland/crush
# macOS 也可用 Homebrew
brew install charmbracelet/tap/crush
crush --version配置
配置檔案位置:
- Linux / macOS:
~/.config/crush/crush.json - Windows:
%USERPROFILE%\.config\crush\crush.json
檔案不存在則自行建立:
json
{
"$schema": "https://charm.land/crush.json",
"providers": {
"wrouter": {
"type": "openai-compat",
"base_url": "https://wrouter.ai/v1",
"api_key": "$WROUTER_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-compat |
base_url | 必須以 /v1 結尾 |
api_key | 使用 $WROUTER_API_KEY 變數引用,避免明文 |
models[].id | 必須與 WRouter 控制台完全一致 |
設定 API Key
bash
# macOS / Linux
export WROUTER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Windows PowerShell
$env:WROUTER_API_KEY="sk-xxxx..."驗證
bash
crush在 TUI 模型選擇器裡切到 WRouter 模型,傳送 prompt。
已知限制
- Crush 的
can_reason欄位隻影響 UI 提示,真實推理行為取決於上游模型。 - LSP 與 MCP 伺服器配置獨立於 provider 塊,參考 Crush 文件。