Skip to content

Crush

CrushCharm 團隊開源的終端 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 文件。