Przejdź do głównej treści
Crush to otwartoźródłowy terminalowy agent kodujący AI od Charm.
Protokół: zgodny z OpenAI
  • Bazowy URL: https://api.orcarouter.ai/v1 (zawiera sufiks /v1)

Instalacja

npm install -g @charmland/crush
Pakiet npm jest launcherem; pierwsze uruchomienie automatycznie pobiera binarkę dla danej platformy (wymaga dostępu do sieci).

Konfiguracja

Plik konfiguracyjny: ~/.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 }
      ]
    }
  }
}
Zamień orcarouter/auto na konkretny model, jeśli wolisz, np. anthropic/claude-opus-4.8 lub google/gemini-2.5-flash. Identyfikatory modeli zawsze używają formatu vendor/model.

Uruchomienie

crush run "Reply with exactly: OK"
Oczekiwany wynik: OK.

Uwagi

  • base_url musi zawierać /v1.
  • Pierwsze uruchomienie pobiera binarkę, więc początkowy start wymaga dostępu do sieci.
  • models[].id używa formatu vendor/model (np. orcarouter/auto, anthropic/claude-opus-4.8).

Włączanie myślenia / rozumowania

Ustaw to dla każdego modelu w crush.json:
  • Modele w stylu OpenAI"reasoning_effort": "high" (wartości low / medium / high) oraz oznacz model jako "can_reason": true.
  • Modele Anthropic"think": true (logiczny przełącznik rozszerzonego myślenia).
"models": [
  { "id": "anthropic/claude-sonnet-4.6", "name": "Sonnet 4.6", "context_window": 200000, "default_max_tokens": 4096, "can_reason": true, "reasoning_effort": "high" }
]
Zweryfikowane: reasoning_effort: "high" działa z OrcaRouter.