Saltar para o conteúdo principal
O Crush é o agente de codificação de IA de terminal de código aberto da Charm.
Protocolo: compatível com OpenAI
  • Base URL: https://api.orcarouter.ai/v1 (inclui o sufixo /v1)

Instalação

npm install -g @charmland/crush
O pacote npm é um lançador; a primeira execução baixa o binário da plataforma automaticamente (requer acesso à rede).

Configuração

Arquivo de configuração: ~/.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 }
      ]
    }
  }
}
Troque orcarouter/auto por um modelo específico se preferir, por exemplo anthropic/claude-opus-4.8 ou google/gemini-2.5-flash. Os IDs de modelos sempre usam o formato vendor/model.

Execução

crush run "Reply with exactly: OK"
Saída esperada: OK.

Notas

  • A base_url deve incluir /v1.
  • A primeira execução baixa o binário, então a inicialização inicial precisa de acesso à rede.
  • models[].id usa o formato vendor/model (por exemplo, orcarouter/auto, anthropic/claude-opus-4.8).

Ativar thinking / raciocínio

Defina por modelo em crush.json:
  • Modelos no estilo OpenAI"reasoning_effort": "high" (valores low / medium / high), e marque o modelo como "can_reason": true.
  • Modelos Anthropic"think": true (alternância booleana para thinking estendido).
"models": [
  { "id": "anthropic/claude-sonnet-4.6", "name": "Sonnet 4.6", "context_window": 200000, "default_max_tokens": 4096, "can_reason": true, "reasoning_effort": "high" }
]
Verificado: reasoning_effort: "high" funciona contra o OrcaRouter.