Intermediário 25 minIDE

Tabby: instalar um recurso de autocompletar código localmente auto-hospedada

Cline e Aider oferecem chat e modo agente, mas não oferecem o preenchimento automático inline com “texto em cinza” que aparece enquanto você digita — a marca registrada do GitHub Copilot. O Tabby preenche exatamente essa lacuna: é um servidor de preenchimento automático de código auto-hospedado, de código aberto (Apache 2.0), que roda em Docker na sua GPU e oferece sugestões Fill-In-the-Middle diretamente no editor. Este guia instala o Tabby passo a passo, configura um modelo StarCoder ou Qwen-Coder, gera o token, conecta o VS Code e os IDEs JetBrains e mostra como uma única GPU pode atender toda uma equipe — sem que seu código jamais saia da sua infraestrutura.

Por Mohamed Meguedmi·Atualização 2026-08-27·Testado no Windows 11

#Por que Tabby em vez de Cline

Tabby e Cline não são concorrentes: são complementares. Cline (e Aider) se destaca no chat conversacional e no modo de agente que trabalha com vários arquivos, mas nenhum dos dois faz o preenchimento automático linha por linha durante a digitação. Tabby, por sua vez, faz apenas isso — e faz muito bem. O combo vencedor em 2026: Cline para conversar e refatorar, Tabby para a sugestão em cinza que aparece à medida que você digita.

Texto em cinza inline
A sugestão aparece diretamente após o cursor, em cinza. Tab para aceitar, Esc para ignorar. Exatamente a UX do Copilot.
100 % auto-hospedado
O servidor roda na sua própria infraestrutura (Docker). Nenhum trecho de código é enviado a terceiros — ideal para NDAs e código em setores regulados.
Multi-utilisateurs
Diferentemente de uma extensão puramente local, o Tabby é um servidor: um único GPU pode atender toda uma equipe via rede.
Telemetria desativável
O Tabby envia estatísticas anônimas por padrão; uma variável de ambiente desativa tudo. O código-fonte que você digita nunca é transmitido.
i
Tabby ≠ Cline
Se você procura um chat ou um agente que modifique vários arquivos, o Tabby não é a ferramenta adequada: consulte os guias do Cline. O Tabby faz APENAS autocompletar código inline. Os dois coexistem perfeitamente no mesmo editor, conectados à mesma GPU.

#Pré-requisitos

O kit Copiloto Local

Este guia leva você ao modelo. O kit leva você ao copiloto que programa no seu editor.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias
Docker
Tabby se instala em contêiner. Docker Desktop no Windows/macOS, Docker Engine no Linux.
GPU NVIDIA (recomendado)
Com o NVIDIA Container Toolkit para acesso ao CUDA. O Tabby também roda em CPU, mas a latência inline torna-se desconfortável.
~6 GB de VRAM
Suficiente para um modelo quantizado de 1B–3B para completar texto. Mais VRAM = modelo maior ou mais desenvolvedores em paralelo.
Um editor
VS Code ou um IDE JetBrains (IntelliJ, PyCharm, WebStorm, etc.). A extensão Tabby está disponível para os dois.
→
Em Mac com Apple Silicon
O passthrough de GPU no Docker não existe no macOS. Em um Mac M1/M2/M3, execute o binário nativo do Tabby (Metal) baixado das releases do GitHub, em vez da imagem Docker CUDA. A configuração do editor permanece a mesma.

#Qual modelo de autocompletação

O preenchimento automático inline tem uma restrição que o chat não tem: a latência. A sugestão deve aparecer em algumas centenas de milissegundos; caso contrário, você digita mais rápido do que ela. Por isso, priorizamos modelos Fill-In-the-Middle (FIM) compactos, na variante -base, e não os grandes modelos instruct usados no chat.

Modelo de autocompletar recomendado conforme a VRAM
VRAMModelo de autocompletaçãoObservação
4–6 GBStarCoder2 3BResponsivo, multilíngue, boa escolha padrão para o Tabby.
6 a 8 GBQwen2.5-Coder 1.5B / 3B (base)FIM excelente, muito rápido, FR/Python/TS.
8–12 GBQwen2.5-Coder 7B (base)A referência FIM de 2026 (4,7 GB): sugestões precisas, latência ainda baixa.
12 GB+StarCoder2 7B / Qwen-Coder 7BPara que vários desenvolvedores compartilhem um mesmo servidor.
!
Variante -base, nunca -instruct
Para o preenchimento automático FIM, sempre use a variante -base do modelo, não a versão instruct/chat. Uma versão instruct tende a 'falar demais' (adicionar comentários, explicações) em vez de completar corretamente o código. Reserve os modelos instruct para o Cline.

#1. Iniciar o Tabby via Docker

Iniciamos o servidor Tabby com acesso à GPU, um volume persistente para os dados e um modelo de completamento escolhido. A porta 8080 expõe a interface web e a API.

Iniciar Tabby (GPU NVIDIA)
docker run -d \
  --name tabby \
  --gpus all \
  -p 8080:8080 \
  -v $HOME/.tabby:/data \
  registry.tabbyml.com/tabbyml/tabby \
  serve --model StarCoder2-3B --device cuda
  1. 01
    Verificar a inicialização
    Na primeira execução, Tabby baixa o modelo (alguns minutos). Monitore os logs com docker logs -f tabby até aparecer a mensagem indicando que o servidor está ouvindo na porta 8080.
  2. 02
    Abrir a interface web
    Acesse http://localhost:8080. No primeiro acesso, será solicitado que você crie uma conta de administrador (e-mail + senha). É local: essas credenciais permanecem no seu volume ~/.tabby.
  3. 03
    Testar o autocompletar
    A aba « Playground » da interface permite verificar se o modelo responde antes mesmo de conectar um editor.
→
Desativar a telemetria
Adicione -e TABBY_DISABLE_USAGE_COLLECTION=1 ao comando docker run para desativar todo envio de estatísticas anônimas. O conteúdo do seu código nunca é transmitido de qualquer forma, mas isso também desativa o envio das métricas de uso.

#2. Criar o token de acesso

Os editores se autenticam no servidor Tabby com um token. É isso que permite, em equipe, saber quem se conecta e revogar um acesso sem quebrar tudo.

  1. 01
    Ir para as configurações
    Na interface web (http://localhost:8080), abra a seção contas/segurança. O token do usuário atual é exibido ali.
  2. 02
    Copiar o token
    Recupere a string (geralmente prefixada com auth_). É essa que as extensões do VS Code e JetBrains pedirão.
  3. 03
    Regenerar se necessário
    Em caso de vazamento ou saída de um colaborador, gere novamente o token pela interface: o antigo é imediatamente invalidado.
Do que o editor precisa
Endpoint : http://localhost:8080
Token    : auth_xxxxxxxxxxxxxxxxxxxxxxxx

#3. Conectar o VS Code

  1. 01
    Instalar a extensão
    Extensions (Ctrl+Shift+X) → procurar “Tabby” (publicado pela TabbyML) → Install.
  2. 02
    Informar o endpoint
    Na primeira execução, a extensão pede a URL do servidor. Insira http://localhost:8080 (ou o IP do servidor compartilhado na rede).
  3. 03
    Colar o token
    Insira o token de acesso copiado na etapa anterior. O ícone Tabby na barra de status deve passar para verde (conectado).
  4. 04
    Coder
    Digite código: a sugestão em cinza aparece após o cursor. Pressione Tab para aceitá-la, continue digitando para ignorá-la.
→
Ajustar o acionamento
Nas configurações da extensão, você pode alternar entre ativação automática (a sugestão aparece sozinha) e manual (sob demanda, por meio de um atalho). O modo manual economiza recursos da GPU se vários desenvolvedores compartilham o servidor.

#4. Conectar o JetBrains

A mesma configuração funciona em toda a linha JetBrains: IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, etc. A extensão Tabby é um plugin único compatível com a plataforma.

  1. 01
    Instalar o plugin
    Settings → Plugins → Marketplace → procurar “Tabby” → Install e, em seguida, reiniciar o IDE.
  2. 02
    Configurar a conexão
    Settings → Tools → Tabby: preencha o endpoint (http://localhost:8080) e o token de acesso.
  3. 03
    Verificar
    O indicador Tabby na barra de status confirma a conexão. As sugestões em linha aparecem como no VS Code.

#5. Apontar o Tabby para o seu Ollama

Se você já está rodando o Ollama para Cline ou Aider, não há necessidade de carregar um segundo motor de inferência: o Tabby pode usar um backend Ollama por meio de seu protocolo compatível com OpenAI. Assim, você compartilha um único servidor de modelos para a autocompletação e o chat.

Modelo FIM no Ollama
# Tirez un modèle de complétion FIM dans Ollama
ollama pull qwen2.5-coder:1.5b-base
# ou
ollama pull starcoder2:3b

No Tabby, declara-se o backend HTTP em vez de um modelo local. A configuração é feita no arquivo config.toml do volume de dados (~/.tabby/config.toml), no qual o mecanismo de autocompletar é configurado para usar a API Ollama.

~/.tabby/config.toml
[model.completion.http]
kind = "ollama/completion"
model_name = "qwen2.5-coder:1.5b-base"
api_endpoint = "http://localhost:11434"
prompt_template = "<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>"
!
O template FIM depende do modelo
Cada família de modelos tem suas próprias marcações Fill-In-the-Middle (StarCoder, Qwen, DeepSeek diferem). Um prompt_template incorreto gera sugestões absurdas. Verifique as marcações FIM do seu modelo em sua ficha antes de fixar a configuração.
i
Localhost do ponto de vista do contêiner
De dentro do contêiner Tabby, http://localhost:11434 não aponta para o Ollama do host. Use http://host.docker.internal:11434 (Docker Desktop) ou o IP do host na rede Docker; caso contrário, o Tabby nunca conseguirá se conectar ao Ollama.

#6. Compartilhar a GPU entre vários desenvolvedores

Esta é a vantagem decisiva do Tabby em relação a uma extensão puramente local: um único servidor, uma única GPU, vários desenvolvedores. Você instala o Tabby em uma máquina com GPU (um computador dedicado, um servidor de equipe) e cada desenvolvedor configura seu editor para usar esse endereço de rede.

Expor na rede
A porta 8080 deve estar acessível a partir dos computadores dos desenvolvedores. Na rede interna, o IP local do servidor é suficiente (http://192.168.x.x:8080).
Um token por dev
Crie uma conta/token por desenvolvedor na interface. Você mantém a rastreabilidade e pode revogar cada acesso individualmente.
Dimensionar a GPU
Um modelo compacto de autocompletação (1,5B–3B) atende vários desenvolvedores em paralelo sem saturar. Como as sugestões de autocompletação são curtas, as requisições raramente se sobrepõem.
Reverse proxy + HTTPS
Para acesso fora da LAN, coloque o Tabby atrás de um proxy reverso (Caddy, Nginx) com TLS. Nunca exponha a porta 8080 diretamente na Internet sem proteção.
→
O servidor ideal para equipe
Uma única placa intermediária (12–16 GB) é suficiente para oferecer autocompletar a uma pequena equipe. Em comparação com uma assinatura do Copilot por usuário, o retorno sobre o investimento em uma GPU compartilhada é rápido — e todo o código permanece na sua infraestrutura.

#Configurações de desempenho e solução de problemas

Latência muito alta
Passe para um modelo um nível menor (3B → 1.5B), verifique se --device cuda está realmente ativo (sem recorrer à CPU como alternativa) e limite o comprimento máximo das sugestões.
Sem sugestão
Verifique o ícone de status da extensão (token e endpoint corretos) e se o contêiner está rodando (docker ps). O Playground web permite identificar se o problema está no servidor ou no editor.
Sugestões fora do assunto
Quase sempre um prompt_template FIM errado ou uma variante instruct em vez de -base. Volte para um modelo base e o template FIM correto.
Indexação do repositório (RAG)
Tabby pode indexar seu código para sugestões mais contextuais. Ative a indexação na interface se a GPU tiver capacidade disponível; desative-a se a latência piorar.
Memória da GPU saturada
Se vários modelos coexistirem (Tabby + Cline via Ollama), quantize o cache KV e monitore a VRAM com nvidia-smi.
Diagnósticos rápidos
# Le conteneur tourne-t-il ?
docker ps | grep tabby
# Logs en direct
docker logs -f tabby
# Le GPU est-il bien vu ?
docker exec tabby nvidia-smi

#Perguntas frequentes

FAQ
Tabby substitui Cline ou Copilot?+
Tabby substitui APENAS o preenchimento automático inline de “texto cinza” do Copilot — é exatamente o que Cline não faz. Para o chat e o modo agente com vários arquivos, mantenha Cline. Os dois coexistem no mesmo editor, conectados à mesma GPU: Tabby completa durante a digitação, Cline conversa e refatora.
É necessária uma GPU para o Tabby?+
Fortemente recomendado. O Tabby roda na CPU, mas o preenchimento automático na própria linha exige uma latência de algumas centenas de milissegundos: sem GPU, a sugestão chega depois de você já ter digitado a linha. Uma placa NVIDIA com ~6 GB de VRAM e o NVIDIA Container Toolkit basta para um modelo compacto de preenchimento de código.
Meu código é enviado para algum lugar?+
Não. O Tabby é auto-hospedado: o servidor roda na sua máquina ou no seu servidor de equipe, e o conteúdo do código nunca é enviado a terceiros. O Tabby envia por padrão estatísticas de uso anônimas (nunca o código); a variável TABBY_DISABLE_USAGE_COLLECTION=1 as desativa completamente.
Posso reutilizar meu Ollama existente?+
Sim. O Tabby consegue usar um backend Ollama por meio de seu protocolo compatível. Você declara o mecanismo de autocompletar HTTP no config.toml, apontando para a API do Ollama, com o prompt_template FIM correto. Assim, você compartilha um único servidor de modelos para o autocompletar (Tabby) e o chat (Cline).
Quantos desenvolvedores um único servidor Tabby pode atender?+
Vários, em uma única GPU. Como a conclusão de código é breve e intermitente, um modelo de 1,5B a 3B em uma placa de 12 a 16 GB atende a uma pequena equipe sem saturar. Crie um token por desenvolvedor para garantir a rastreabilidade e exponha a porta 8080 na rede local (ou por trás de um proxy reverso com TLS para acesso remoto).

#Conclusão

Você agora tem um servidor de autocompletar código 100% auto-hospedado: Tabby em Docker na sua GPU, um modelo StarCoder ou Qwen-Coder em Fill-In-the-Middle, um token de acesso e sugestões em cinza no estilo Copilot tanto no VS Code quanto no JetBrains — com o bônus de poder atender uma equipe inteira a partir de uma única GPU. Com o Cline para chat e funções de agente, a solução fica completa e seu código nunca sai da sua infraestrutura. Se você quiser evitar horas de ajustes (templates FIM, configurações do Ollama, modelos por função), o guia pago «Copilote de código local» fornece um pacote pronto para uso com Ollama + Cline + Aider, que você pode complementar com Tabby para autocompletar inline.

Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.