O que as pessoas perguntam antes de instalar.
O que é o LM Warden?
Um plano de controle em torno de mecanismos de inferência no seu próprio hardware: vLLM e llama.cpp em um host Linux com GPUs NVIDIA, ou MLX e llama.cpp em um app beta em um Mac com chip Apple. Você baixa um modelo do HuggingFace, carrega-o na sua própria GPU, gera uma chave de API e o chama por um endpoint /v1 compatível com OpenAI. Uma interface no navegador cobre carregar e descarregar modelos, logs do mecanismo ao vivo, um playground de chat, estatísticas de GPU e de tokens, e uma página por chave de API. Ele não deixa os modelos mais rápidos e não modifica os mecanismos. Ele acrescenta o que falta a um mecanismo usado sozinho.
Em quais GPUs e sistemas operacionais ele roda?
Linux e macOS. No Linux: GPUs NVIDIA em um host x86_64. O mínimo é Turing (sm_75, a geração RTX série 20): a imagem base traz CUDA 13, que deixou de suportar Maxwell, Pascal e Volta, então uma GTX 1080 Ti, uma Titan X ou uma V100 não vão funcionar. De Turing a Blackwell, tudo é suportado, incluindo Ada, Hopper e a RTX série 50. No macOS: chip Apple (M1 ou posterior), por meio de um app separado para Mac, em beta: um app nativo na barra de menus para macOS 14 ou posterior que roda modelos com MLX e com uma build Metal do llama.cpp, serve a mesma API compatível com OpenAI e mostra o mesmo painel na própria janela, em lmwarden.com/download/mac (cerca de 110 MB, com um arquivo SHA-256). Ele tem assinatura ad hoc e não é notarizado, então, na primeira execução, autorize-o em Ajustes do Sistema › Privacidade e Segurança › Abrir Mesmo Assim (no macOS 14, clicar com o botão direito › Abrir também funciona); por padrão ele escuta em loopback e não se atualiza sozinho. O Windows é o próximo; estamos trabalhando nisso, ainda sem data. Não há caminho para ROCm, GPU Intel ou CPU nesta versão; GPUs AMD Radeon e Intel estão no roadmap, e qual vem primeiro depende do feedback que recebermos no GitHub Discussions do projeto. Várias GPUs em uma máquina Linux são suportadas; um modelo dividido entre várias máquinas, não.
O meu cliente OpenAI atual vai funcionar com ele?
Sim. O gateway em /v1/* é compatível com OpenAI, então o SDK openai, LangChain, OpenWebUI e os seus próprios agentes funcionam sem alterações depois que você muda o base_url e a chave. GET /v1/models também informa o max_model_len de cada modelo, então um cliente não precisa adivinhar a janela de contexto. O Codex CLI, que só usa a OpenAI Responses API, também funciona: POST /v1/responses é traduzido para Chat Completions para um modelo que você carregou (sem estado, e só local: as regras do roteador não se aplicam).
Posso usá-lo com o Claude Code e manter a minha conta da Anthropic?
Sim. Defina ANTHROPIC_BASE_URL com o endereço do warden, mantenha o seu login normal do claude e coloque a chave do warden em ANTHROPIC_CUSTOM_HEADERS como X-LMWarden-Key. Uma regra associa um nome de modelo que o Claude Code pede, como claude-haiku*, a um modelo carregado nas suas GPUs; todos os outros modelos, e todos os outros caminhos /v1, são repassados à Anthropic byte a byte com o seu próprio login. Exige Claude Code 2.1.227 ou mais recente, vem desligado por padrão, e uma chave precisa ter a opção “May relay to Anthropic” antes que qualquer coisa seja encaminhada. Clientes mais antigos ainda podem usar o modo só local.
A Anthropic vê a minha chave do warden, ou o warden vê o meu login da Anthropic?
A Anthropic nunca vê a chave do warden: ela viaja em um cabeçalho próprio e é removida antes de a solicitação ser repassada. O warden lida com o seu login da Anthropic, porque precisa encaminhá-lo, mas só para a Anthropic. Ele nunca é enviado a um mecanismo nem registrado em log, e nada de uma solicitação repassada é guardado ou mostrado no God mode.
Quais mecanismos de inferência ele usa?
No Linux, vLLM v0.32.0 e llama.cpp b11719 oficiais, escolhidos por modelo e executados sem modificações: sem imagem com patches, sem fork, sem monkeypatching. Escolher um arquivo .gguf seleciona o llama.cpp, que encaixa modelos maiores em placas menores com quantização GGUF e mantém GPUs mais antigas úteis. TensorRT-LLM, SGLang e o runtime do Ollama não vêm incluídos; a beta para Mac roda modelos com MLX, o mecanismo padrão dela, ou com uma build Metal do llama.cpp para arquivos .gguf, e não tem vLLM.
Alguma coisa sai da minha máquina?
Nada sai do host a menos que você ative o roteador do Claude Code e marque uma chave com “May relay to Anthropic”. Nesse caso, as solicitações dessa chave para modelos Claude que nenhuma regra envia às suas GPUs vão para a Anthropic, com o próprio login da Anthropic do usuário, e nada mais sai. Não há conta, verificação de licença nem análise de uso. Fora isso, a stack só faz chamadas externas quando você pede: huggingface.co para baixar pesos (HF_HUB_OFFLINE=1 impede até isso), o Docker Hub quando você abre o seletor de versão do mecanismo, e o registry das imagens da versão, que o docker load substitui em uma instalação offline ou isolada da rede (air-gapped).
Os prompts e as respostas são guardados?
Não por padrão. O histórico de solicitações por trás dos gráficos e do uso por chave guarda só metadados e não tem coluna para o texto do prompt nem da resposta. Dois recursos de diagnóstico podem capturar conteúdo, e os dois ficam desligados a menos que você os ligue: o God mode (VW_GODMODE_ENABLED), uma visão limitada, em memória, do tráfego de uma chave, e o log de conteúdo (VW_CONTENT_LOG_ENABLED), que grava em disco só para os ids de token que você listar.
Como as chaves de API funcionam para uma equipe?
Cada app ou pessoa recebe a sua própria chave vw_ com a sua própria página. Defina uma prioridade de P0 a P9 (uma solicitação P9 em espera sempre passa à frente de uma P8), pause uma chave para que os clientes dela recebam 403 token paused enquanto as solicitações em execução terminam, ou rotacione-a com um período de carência em que o segredo antigo continua funcionando. Solicitações, tokens de prompt e tokens de resposta são contados por chave e por IP do cliente, com espera na fila e latência por chave. Scripts, CI e agentes que usam a API de controle recebem tokens de administrador vwa_ separados em vez da senha de administrador.
Posso rodar vários modelos em uma GPU?
Não. Um modelo carregado por GPU é uma regra aplicada antes de um mecanismo iniciar. Você pode carregar modelos diferentes em placas diferentes do mesmo host, e dividir um modelo entre várias placas com o paralelismo de tensores do vLLM.
O que é preciso para instalar?
No Linux, um host com Docker, Docker Compose v2.24 ou mais recente, uma GPU NVIDIA, o NVIDIA Container Toolkit e cerca de 40 GB livres onde o Docker guarda as imagens. O instalador verifica o host, deixa você escolher as GPUs, gera os segredos, baixa as imagens da versão e se oferece para iniciar a stack. Depois, um assistente de primeira execução no navegador pede as GPUs a usar, um token do HuggingFace e a sua conta de administrador. Em um Mac com chip Apple, basta baixar o app beta; veja a seção do Mac.
Quanto custa?
Nada. O LM Warden é licenciado sob Apache-2.0. É um software que você roda, não uma API hospedada: você fornece o hardware, o driver, o disco e a eletricidade, e, depois que o hardware está pago, uma solicitação custa eletricidade, não uma tarifa por token.