Destilar•IADestilar•IA

Usar Claude Code (e outros) com modelos abertos ou locais

Usar Claude Code (e outros) com modelos abertos ou locais

Desde que a Anthropic lançou o Claude Code que este tem tido um crescimento exponencial. Se nos seus inícios era algo dedicado a equipas de desenvolvimento, hoje já não faltam exemplos de quem usa o Claude Code para tudo, desde organizar emails, manter listas de tarefas ou orquestração de trabalho mais complexo.

Estas ferramentas "agênticas" têm tido um crescimento e expansão de capacidades incrível. A OpenAI e a Google também lançaram as suas, assim como surgiram muitos projectos open-source com alternativas mais abertas, tal como OpenCode ou o Oh-My-Pi, que se focam em disponibilizar o "workflow" mas abrindo o leque de possibilidades naquilo que diz respeito à ligação a modelos de IA. Estes projectos mais abertos, facilitam a configuração de múltiplos fornecedores e múltiplos modelos, simultâneamente. Isto permite ao utilizador trocar facilmente consoante as necessidades ou capacidades necessárias.

No entanto, embora o Claude Code seja fechado e exclusivo à Anthropic, foram gentis o suficiente para deixarem uma pequena porta aberta, que permite a utilização do Claude Code com modelos de terceiros.

Requisitos mínimos e configuração

Para isto, o servidor de API deve ter compatibilidade com o formato de API da Anthropic (que é diferente das APIs compatíveis com OpenAI). Felizmente, praticamente já todos têm: llama.cpp, ollama, LMStudio, vllm, etc.

Tendo consigo os dados necessários para a ligação à API do fornecedor e identificador do(s) modelo(s) que quer utilizar, basta sobrescrever as variáveis de ambiente que são lidas pelo Claude Code para passar a redireccionar os pedidos para outro servidor:

export ANTHROPIC_BASE_URL=
export ANTHROPIC_AUTH_TOKEN=
export ANTHROPIC_DEFAULT_HAIKU_MODEL=
export ANTHROPIC_DEFAULT_SONNET_MODEL=
export ANTHROPIC_DEFAULT_OPUS_MODEL=
export CLAUDE_CODE_ATTRIBUTION_HEADER="0"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="1"

As duas últimas linhas são necessárias para optimizar o uso do Claude Code com servidores não pertecentes à Anthropic, de modo a minimizar o tráfego e acelerar o processamento de prompts e geração de tokens. Caso contrário, ficará muito lento.

A configuração destas variáveis deve ser feita consoante as suas necessidades e sistema operativo. Pode, por exemplo, exportar as variáveis para forçar o seu modelo de IA sempre que abrir o Claude Code, ou manter o Claude Code com os modelos da Anthropic e criar um pequeno script para lançar uma versão alternativa quando desejar. Por exemplo, editando o ficheiro .bash_aliases e adicionando os dados para usar um modelo local do LMStudio:

meucode() {
    export ANTHROPIC_BASE_URL=http://127.0.0.1:1234
    export ANTHROPIC_AUTH_TOKEN=
    export ANTHROPIC_DEFAULT_HAIKU_MODEL=unsloth/qwen3.5-4b
    export ANTHROPIC_DEFAULT_SONNET_MODEL=unsloth/qwen3.5-4b
    export ANTHROPIC_DEFAULT_OPUS_MODEL=unsloth/qwen3.5-30b-a3b
    export CLAUDE_CODE_ATTRIBUTION_HEADER="0"
    export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="1"

    claude "$@"
}

Isto abre as portas ao uso do Claude Code, OpenCode e outros, com modelos de IA locais a correr no seu próprio hardware. Basta iniciar o llama-server, LMStudio em modo servidor, ou outros, e usar o URL, porta e nome do modelo respectivo.


Voltar aos Artigos