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 依照以下優先順序讀取設定:

  1. 專案目錄中的 .crush.json
  2. 專案目錄中的 crush.json
  3. 全域 $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.jsoncrush.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 傳送任務描述、程式碼上下文與工具呼叫資料。

官方資料