メインコンテンツへスキップ
Crush は Charm のオープンソースの ターミナル AI コーディングエージェントです。
プロトコル: OpenAI 互換
  • Base URL: https://api.orcarouter.ai/v1 (/v1 サフィックスを 含みます)

インストール

npm install -g @charmland/crush
npm パッケージはランチャーで、初回実行時にプラットフォームのバイナリが自動的に ダウンロードされます (ネットワークアクセスが必要)。

設定

設定ファイル: ~/.config/crush/crush.json (Windows: %USERPROFILE%\.config\crush\crush.json)。
{
  "$schema": "https://charm.land/crush.json",
  "providers": {
    "orcarouter": {
      "type": "openai",
      "base_url": "https://api.orcarouter.ai/v1",
      "api_key": "sk-orca-...",
      "models": [
        { "id": "orcarouter/auto", "name": "OrcaRouter Auto", "context_window": 200000, "default_max_tokens": 4096 }
      ]
    }
  }
}
お好みで orcarouter/auto を特定のモデルに置き換えられます。例: anthropic/claude-opus-4.8google/gemini-2.5-flash。モデル ID は常に vendor/model 形式を使います。

実行

crush run "Reply with exactly: OK"
期待される出力: OK

注意事項

  • base_url には /v1 を含める必要があります。
  • 初回実行時にバイナリをダウンロードするため、最初の起動にはネットワークアクセスが必要です。
  • models[].idvendor/model 形式を使います (例: orcarouter/autoanthropic/claude-opus-4.8)。

thinking / reasoning を有効化する

crush.json でモデルごとに設定します:
  • OpenAI 形式のモデル"reasoning_effort": "high" (値は low / medium / high)、さらにモデルに "can_reason": true を付けます。
  • Anthropic モデル"think": true (拡張思考のブール値トグル)。
"models": [
  { "id": "anthropic/claude-sonnet-4.6", "name": "Sonnet 4.6", "context_window": 200000, "default_max_tokens": 4096, "can_reason": true, "reasoning_effort": "high" }
]
検証済み: reasoning_effort: "high" は OrcaRouter に対して動作します。