AI-translated from English; not yet reviewed by a fluent editor.
# Configure Ollama, Open WebUI e Continue no mesmo Mac
> Baixe um modelo local no Ollama, conecte um chat persistente do Open WebUI e o Continue no VS Code, confira uma resposta no navegador e revise uma alteração em um arquivo seu.
By BIG CHANGE Editorial
Published: 2026-10-21T07:20:39.085Z
Updated: 2026-10-21T07:20:39.085Z
Canonical: https://bigchange.ai/blog/ollama-open-webui-continue-local-stack-guide

AI-generated conceptual illustration by BIG CHANGE.
Este guia é para quem tem um Mac, autorização para instalar aplicativos e um arquivo de teste próprio sem informações sensíveis. Você baixará um modelo no Ollama, conectará um chat persistente do Open WebUI no navegador e a extensão Continue do VS Code ao mesmo serviço, depois examinará uma alteração proposta antes de decidir se a mantém. Os comandos e verificações seguem a documentação atual dos mantenedores; a BIG CHANGE não executou essa configuração nem mediu velocidade, custo ou tráfego de rede.
## A grande mudança
- **O que muda:** Um modelo Ollama baixado pode atender tanto a um chat no navegador quanto a um assistente de edição no VS Code pela API local. Cada cliente ainda precisa de sua própria verificação de conexão.
- **Por que importa:** Uma única instalação do modelo pode apoiar uma conversa e uma alteração de código revisada no mesmo Mac, enquanto o proprietário do arquivo mantém a decisão final.
- **O que observar:** O nome de um modelo em um menu não prova qual servidor respondeu. Confira a conexão com o provedor e as respostas reais, principalmente se houver outros provedores ou recursos de nuvem configurados.
## 1. Confira o Mac e escolha um modelo
Você precisa de [macOS 14 ou posterior para o Ollama](https://docs.ollama.com/macos), [Docker Desktop para Mac](https://docs.docker.com/desktop/setup/install/mac-install/), VS Code com a [extensão Continue](https://docs.continue.dev/ide-extensions/install)e Python 3 para as pequenas verificações de JSON e arquivos abaixo. O Ollama aceita execução em CPU e GPU da série Apple M; para Macs Intel, a documentação lista apenas CPU. Instale o Ollama pela página de download para Mac, mova o aplicativo para Applications, abra-o e permita o vínculo de linha de comando se solicitado. Instale e inicie o Docker Desktop, depois instale o Continue pela visualização Extensions do VS Code. Instale Python 3 de [Python.org](https://www.python.org/downloads/macos/) se `python3` não estiver disponível. No Mac, o VS Code não adiciona automaticamente `code` ao caminho de busca do shell. Siga as [instruções de configuração para Mac](https://code.visualstudio.com/docs/setup/mac): abra Command Palette com **Cmd+Shift+P**, execute **Shell Command: Install 'code' command in PATH**e reinicie Terminal. Confirme que as ferramentas necessárias estão disponíveis:
```bash
sw_vers -productVersion
ollama --version
docker version
code --version
python3 --version
```
Anote as versões instaladas. Pare se algum aplicativo não estiver em execução ou se faltar espaço no Mac para o modelo e os dados do Docker. A [página do modelo qwen2.5-coder:7b](https://ollama.com/library/qwen2.5-coder:7b) informa atualmente um download de 4,7 GB e licença Apache 2.0. Esse tamanho não corresponde a toda a memória necessária para executar o modelo. É um exemplo concreto, não uma recomendação para todos os Macs. Se necessário, escolha uma tag local menor e documentada, substituindo `qwen2.5-coder:7b` por essa tag exata em cada comando, seleção do navegador e campo YAML abaixo. Confira também a licença do modelo substituto.
Baixe o modelo e confira se o Ollama lista a tag exata:
```bash
ollama pull qwen2.5-coder:7b
ollama list
curl --fail-with-body --silent --show-error http://127.0.0.1:11434/api/tags | python3 -c 'import json,sys; d=json.load(sys.stdin); print([m["name"] for m in d["models"]])'
```
A lista deve conter `qwen2.5-coder:7b`. Em seguida, peça à [API de chat local](https://docs.ollama.com/api/chat) uma resposta curta. O comando falha em caso de erro HTTP e verifica o modelo retornado e o conteúdo não vazio do assistente; as palavras exatas da resposta não importam. A [opção de execução do Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) `num_predict` limita a verificação a 64 tokens gerados. Uma frase cortada ainda pode mostrar que houve retorno de conteúdo; uma resposta vazia falha na verificação e exige investigação.
```bash
set -o pipefail
curl --fail-with-body --silent --show-error http://127.0.0.1:11434/api/chat \
-H 'Content-Type: application/json' \
-d '{"model":"qwen2.5-coder:7b","messages":[{"role":"user","content":"Reply with one short sentence about checking a local connection."}],"stream":false,"options":{"num_predict":64}}' \
| python3 -c 'import json,sys; d=json.load(sys.stdin); assert d.get("model")=="qwen2.5-coder:7b",d.get("model"); assert d.get("message",{}).get("content","").strip(); print("Model:",d["model"],"Reply:",d["message"]["content"])'
```
Se a tag não aparecer, conclua o download e consulte a lista novamente. Se a API estiver inacessível, inicie o Ollama e confira seu [registro do servidor no Mac](https://docs.ollama.com/macos) em `~/.ollama/logs/server.log`. Uma tag baixada e uma resposta local bem-sucedida completam a primeira de três verificações.
## 2. Inicie o Open WebUI com dados locais persistentes
O [guia de início rápido do Open WebUI](https://docs.openwebui.com/getting-started/quick-start/) armazena contas, configurações e chats em `/app/backend/data` e exige um valor fixo de `WEBUI_SECRET_KEY`. Usamos a [versão estável v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) em vez da tag continuamente atualizada `main` . O Docker selecionará a imagem para a arquitetura do Mac; registre a identidade da imagem após baixá-la.
Primeiro, examine os nomes usados aqui. Se algum já existir, inspecione o contêiner ou volume e determine se pertence a uma configuração anterior. Não substitua um contêiner existente nem apague seu volume apenas para fazer o comando funcionar.
```bash
docker ps -a --filter name=^/bc-open-webui$
docker volume inspect bc-open-webui-data
```
Na primeira configuração, é normal o segundo comando informar que o volume não existe. Os passos seguintes guardam uma chave gerada em um arquivo privado da sua conta do Mac. Guarde-o com segurança para recriar o contêiner. Não envie seu conteúdo a um repositório, não o cole nem compartilhe. Se já houver uma chave para esta instância, continue usando a mesma.
```bash
mkdir -p "$HOME/.config/bc-open-webui"
chmod 700 "$HOME/.config/bc-open-webui"
umask 077
if [ ! -s "$HOME/.config/bc-open-webui/webui-secret" ]; then
openssl rand -hex 32 > "$HOME/.config/bc-open-webui/webui-secret"
fi
chmod 600 "$HOME/.config/bc-open-webui/webui-secret"
export WEBUI_SECRET_KEY="$(cat "$HOME/.config/bc-open-webui/webui-secret")"
docker pull ghcr.io/open-webui/open-webui:v0.12.3
docker image inspect ghcr.io/open-webui/open-webui:v0.12.3 --format '{{json .RepoDigests}}'
docker volume create bc-open-webui-data
docker run -d --name bc-open-webui --restart unless-stopped \
-p 127.0.0.1:3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v bc-open-webui-data:/app/backend/data \
-e WEBUI_SECRET_KEY \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
ghcr.io/open-webui/open-webui:v0.12.3
unset WEBUI_SECRET_KEY
docker ps --filter name=^/bc-open-webui$ --format 'table {{.Names}}\t{{.Image}}\t{{.Ports}}'
```
A saída de portas deve mostrar `127.0.0.1:3000->8080/tcp`. O volume nomeado mantém chats e configurações ao recriar o contêiner. A chave protege a continuidade das sessões e os valores criptografados do aplicativo; mantenha sua cópia privada. Pessoas com acesso ao Docker podem ver variáveis de ambiente na configuração do contêiner; este é um ambiente local de usuário único, não um cofre de segredos para um host compartilhado.
Abra `http://127.0.0.1:3000` no navegador. No primeiro acesso, crie a conta de administrador. No menu do avatar, abra **Settings → Admin → Connections**. Inspecione **Manage Ollama API Connections** e deixe somente uma conexão habilitada para `http://host.docker.internal:11434`; remova ou desative conexões de provedores não previstos para esta verificação. O Open WebUI [pode distribuir solicitações entre várias conexões Ollama](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/), portanto um nome igual na lista não basta. Selecione `qwen2.5-coder:7b` em um novo chat e pergunte: “Como posso verificar que um modelo local respondeu?” Confirme que aparece uma resposta não vazia e reabra o chat salvo. Registre o modelo selecionado e a URL da conexão. Essa é a verificação no navegador; não há resposta predeterminada.
Se a página não carregar, inspecione `docker logs bc-open-webui` e a vinculação da porta. Se a lista de modelos estiver vazia, confira se o Ollama ainda responde a `/api/tags`, revise a conexão salva do Open WebUI e teste se esta versão do Docker Desktop alcança o serviço no host Mac. `host.docker.internal` é [o endereço do host no Docker Desktop](https://docs.docker.com/desktop/features/networking/), enquanto `localhost` dentro do contêiner se refere ao próprio contêiner. O Ollama [se vincula a 127.0.0.1 por padrão](https://docs.ollama.com/faq); o encaminhamento entre host e contêiner pode variar conforme a configuração. Não trate uma conexão com falha como sucesso nem exponha o Ollama em `0.0.0.0` como correção habitual. Resolva o caminho da rede local conforme sua política de segurança antes de continuar. Preserve o volume e os chats existentes durante o diagnóstico.
## 3. Conecte o Continue à mesma tag do Ollama
O Continue roda no VS Code no Mac; portanto, o endereço da API Ollama é `http://localhost:11434`. Abra o Continue, use a lista de configurações no canto superior direito do campo de chat e clique na engrenagem ao lado de **Local Config**. Isso abre `~/.continue/config.yaml`; a [referência atual do Continue](https://docs.continue.dev/reference) utiliza YAML. Salve uma cópia da configuração existente e preserve os modelos ou regras ainda necessários. Para uma configuração local nova, este é o conteúdo mínimo completo:
```yaml
name: Local Ollama check
version: 1.0.0
schema: v1
models:
- name: Qwen2.5 Coder 7B local
provider: ollama
model: qwen2.5-coder:7b
apiBase: http://localhost:11434
roles:
- chat
- edit
```
Em um arquivo existente, acrescente esta entrada de modelo à lista `models:` e mantenha a configuração superior existente. Salve, selecione **Local Config** e o modelo local nomeado, depois faça uma pergunta curta no Continue Chat. Confirme que ele retorna conteúdo. Isso verifica a conexão da extensão, mas uma resposta de chat não é uma edição de arquivo. Os papéis `chat` e `edit` habilitam as duas ações usadas aqui; esta receita não promete recursos Agent nem preenchimento automático.
Crie seu próprio diretório e arquivo de teste com um comportamento simples que possa conferir separadamente. O comando preserva arquivos e cópias originais existentes; examine-os ou escolha outro diretório se algum nome já estiver em uso:
```bash
mkdir -p "$HOME/continue-local-check"
if [ -e "$HOME/continue-local-check/greeting.py" ] || [ -e "$HOME/continue-local-check/greeting.original.py" ]; then
printf '%s\n' 'Scratch file already exists; inspect it or choose a new directory.'
else
cat > "$HOME/continue-local-check/greeting.py" <<'PY'
def greeting(name):
return "Hello, " + name
if __name__ == "__main__":
assert greeting("Ada") == "Hello, Ada"
print(greeting("Ada"))
PY
if python3 "$HOME/continue-local-check/greeting.py"; then
cp "$HOME/continue-local-check/greeting.py" "$HOME/continue-local-check/greeting.original.py"
else
printf '%s\n' 'Original check failed; inspect the file before requesting an edit.'
fi
fi
```
A verificação original deve imprimir `Hello, Ada` após a asserção passar. Abra `greeting.py` no VS Code, selecione somente a função e pressione **Cmd+I** para [Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start). Peça uma docstring curta sem alterar o texto retornado. Compare o diff integrado exibido progressivamente com `greeting.original.py`; o Edit aplicado ao código selecionado pode incluir o arquivo inteiro no contexto, então use apenas um arquivo próprio sem dados sensíveis. O modelo pode mudar mais do que foi pedido. Examine cada linha alterada e aceite uma proposta adequada com **Cmd+Opt+Y**, ou rejeite com **Cmd+Opt+N**. O Continue também oferece controles para aceitar ou rejeitar tudo, mas um diff pequeno facilita examinar uma alteração de cada vez.
Após aceitar, salve o arquivo e execute:
```bash
diff -u "$HOME/continue-local-check/greeting.original.py" "$HOME/continue-local-check/greeting.py" || true
python3 "$HOME/continue-local-check/greeting.py"
```
Confira se o diff contém apenas a mudança pretendida e se a asserção original continua passando. Se rejeitar a proposta, verifique se o arquivo corresponde ao original e registre a rejeição; não informe uma edição concluída. O arquivo, o diff e a verificação independente em Python mostram o resultado com mais confiabilidade que a descrição do modelo.
## 4. Mantenha os limites claros
Ollama, Open WebUI e Continue têm configurações separadas. Para desativar somente a nuvem do Ollama, adicione o campo abaixo ao `~/.ollama/server.json`da conta que executa o servidor Ollama, preservando os campos JSON existentes. Para um arquivo novo, este é o conteúdo completo:
```json
{
"disable_ollama_cloud": true
}
```
Reinicie o aplicativo Ollama e confira o registro do servidor:
```bash
grep 'Ollama cloud disabled: true' "$HOME/.ollama/logs/server.log"
```
A [FAQ do Ollama](https://docs.ollama.com/faq) documenta essa linha do registro. Se ela não aparecer, confira novamente qual conta do Mac executa o Ollama, o JSON e o reinício antes de afirmar que os recursos de nuvem estão desativados. Essa configuração não inspeciona outros provedores do Open WebUI, recursos opcionais on-line ou o tráfego do Continue. O [guia sem internet](https://docs.continue.dev/guides/running-continue-without-internet) do Continue orienta desativar **Allow Anonymous Telemetry**, usar modelos locais e reiniciar o VS Code. Revise as conexões de cada aplicativo antes de usar material sensível. Uma URL de loopback, sozinha, não é uma auditoria de rede.
Confira a [licença do Docker Desktop](https://docs.docker.com/subscription-billing/desktop-license/) para seu uso real. É gratuito para usos pessoal, educacional e de código aberto não comercial, além de pequenas empresas com **menos de 250 funcionários E receita anual inferior a US$ 10 milhões**. O uso profissional em organizações maiores e no governo exige uma assinatura paga. A licença Apache 2.0 do modelo é separada. Espaço em disco, memória, banda de download e eletricidade continuam relevantes; não medimos custos nem desempenho neste guia.
Para um roteiro limitado ao terminal e à API do Ollama, veja [Execute um modelo Ollama local e confira sua API de chat](https://bigchange.ai/blog/run-local-ollama-model-chat-api-guide). [Faça uma alteração verificada no Claude Code com um modelo Ollama local](https://bigchange.ai/blog/claude-code-local-ollama-checked-change-guide) aborda outro cliente de programação.
## Fontes e leituras complementares
- [Requisitos de macOS do Ollama](https://docs.ollama.com/macos), [API de chat](https://docs.ollama.com/api/chat), [API de lista de modelos](https://docs.ollama.com/api/tags) e [FAQ](https://docs.ollama.com/faq): limites de instalação, campos observáveis da API, endereço de escuta padrão e configuração de nuvem específica do Ollama. Consultados em 21 de outubro de 2026.
- [Especificação da API Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml): o campo de execução `options.num_predict` limita a breve verificação de chat local. Uma resposta limitada pode terminar no meio de uma frase. Consultada em 21 de outubro de 2026.
- [Ficha do modelo Qwen2.5-Coder 7B](https://ollama.com/library/qwen2.5-coder:7b): tag de exemplo, download informado e licença do modelo. Confira os dados atuais da tag e os recursos disponíveis do Mac antes de baixar. Consultada em 21 de outubro de 2026.
- [Início rápido do Open WebUI](https://docs.openwebui.com/getting-started/quick-start/), [Guia de conexão do Ollama](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) e [versão v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3): armazenamento e chave do contêiner, configurações de provedores e identidade da versão estável. Documentam um procedimento, não demonstram conexão bem-sucedida deste Mac específico. Consultados em 21 de outubro de 2026.
- [Configuração do Continue](https://docs.continue.dev/customize/deep-dives/configuration), [referência YAML](https://docs.continue.dev/reference), [início rápido do Edit](https://docs.continue.dev/ide-extensions/edit/quick-start) e [guia sem internet](https://docs.continue.dev/guides/running-continue-without-internet): caminho e chaves atuais do arquivo, controles de edição e configuração de telemetria. Consultados em 21 de outubro de 2026.
- [Rede do Docker Desktop](https://docs.docker.com/desktop/features/networking/), [instalação no Mac](https://docs.docker.com/desktop/setup/install/mac-install/) e [licença](https://docs.docker.com/subscription-billing/desktop-license/): endereço do host, instalação e limites de uso comercial. Confira os termos atuais da sua organização. Consultados em 21 de outubro de 2026.
- [Configuração do VS Code no Mac](https://code.visualstudio.com/docs/setup/mac) e [downloads do Python 3](https://www.python.org/downloads/macos/): instalação opcional do comando shell e interpretador usado nas verificações. Consultados em 21 de outubro de 2026.
## Sources
- [Ollama no macOS](https://docs.ollama.com/macos) — Documenta macOS 14+, CPU/GPU Apple M versus Intel somente CPU, instalação do aplicativo, vínculo CLI e caminho do registro local do servidor. Não demonstra memória suficiente no Mac do leitor.
- [FAQ do Ollama](https://docs.ollama.com/faq) — Documenta a vinculação padrão a 127.0.0.1:11434, a desativação apenas da nuvem do Ollama, o reinício exigido e a conferência do registro. Não audita outros aplicativos.
- [API de chat do Ollama](https://docs.ollama.com/api/chat) — Documenta POST /api/chat, model/messages da solicitação e os campos model e conteúdo do assistente retornados. O artigo exige conferir uma resposta real do leitor; a BIG CHANGE não fez essa solicitação.
- [API de lista de modelos do Ollama](https://docs.ollama.com/api/tags) — Documenta GET /api/tags e models[].name, usados para conferir localmente a tag exata baixada antes de conectar outros clientes.
- [Página do modelo Qwen2.5-Coder 7B](https://ollama.com/library/qwen2.5-coder:7b) — Informa qwen2.5-coder:7b, download de 4,7 GB e licença Apache 2.0. O tamanho do download não é toda a memória necessária nem um resultado de desempenho.
- [Início rápido do Open WebUI](https://docs.openwebui.com/getting-started/quick-start/) — Documenta o procedimento Docker run, o volume persistente /app/backend/data, WEBUI_SECRET_KEY fixo e a primeira conta do navegador. O artigo fixa uma versão e pede a conferência da porta real.
- [Conexão Ollama do Open WebUI](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) — Documenta Settings > Admin > Connections, a URL Ollama do host Docker e a possível distribuição de carga entre conexões. O rótulo selecionado, sozinho, não prova o roteamento.
- [Versão v0.12.3 do Open WebUI](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) — Página oficial da versão estável para a tag usada. O Docker escolhe uma imagem de plataforma; o leitor registra o digest efetivamente instalado.
- [Referência YAML do Continue](https://docs.continue.dev/reference) — Define name/version/schema obrigatórios no nível superior e name/provider/model do modelo, apiBase opcional e papéis chat/edit. A receita evita chaves JSON descontinuadas.
- [Continue Local Config](https://docs.continue.dev/customize/deep-dives/configuration) — Documenta o caminho ~/.continue/config.yaml no Mac, a engrenagem Local Config e a atualização automática ao salvar. A configuração existente deve ser preservada.
- [Início rápido do Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start) — Documenta Cmd+I Edit em código selecionado, diff integrado progressivo e atalhos de aceitação e rejeição no Mac. O leitor deve revisar a mudança inteira e repetir a verificação original.
- [Guia sem internet do Continue](https://docs.continue.dev/guides/running-continue-without-internet) — Documenta Allow Anonymous Telemetry, seleção de modelos locais e reinício do VS Code. Não prova que todo o tráfego do aplicativo seja local.
- [Rede do Docker Desktop](https://docs.docker.com/desktop/features/networking/) — Documenta host.docker.internal e publicação de portas no loopback do host no Docker Desktop. A acessibilidade do Ollama vinculado ao loopback deste Mac ainda precisa da resposta no navegador.
- [Instalação do Docker Desktop no Mac](https://docs.docker.com/desktop/setup/install/mac-install/) — Documenta a instalação em Macs compatíveis e recursos básicos; isso não comprova capacidade conjunta para modelo e aplicativos.
- [Licença do Docker Desktop](https://docs.docker.com/subscription-billing/desktop-license/) — Documenta os usos gratuitos pessoais, educacionais e de código aberto não comerciais e a condição de pequena empresa com menos de 250 funcionários E receita anual abaixo de US$ 10 milhões; usos profissionais maiores e governamentais são pagos.
- [Downloads do Python 3 para macOS](https://www.python.org/downloads/macos/) — Fonte oficial do instalador Python 3 para as verificações de JSON e arquivos de teste do leitor. A BIG CHANGE não instalou nem executou Python para este artigo.
- [Especificação da API Ollama](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) — Define options.num_predict como máximo de tokens gerados, usado para limitar a única consulta de teste local a 64; uma resposta não vazia pode terminar no meio de uma frase.
- [Configuração do VS Code no Mac](https://code.visualstudio.com/docs/setup/mac) — Documenta a instalação manual do comando shell code no Mac via Command Palette e o reinício do terminal necessário antes de code --version.
Newsletter da BIG CHANGE
A visão ampla, no seu ritmo.
Matérias recentes sobre IA e robótica, mudanças que merecem atenção e ideias práticas para usar. Escolha um briefing diário, um resumo semanal ou uma perspectiva mensal.
Próximo envio programado (UTC): . Sua primeira edição chegará no próximo envio programado após a confirmação.
Sua privacidade, sua escolha.
O armazenamento necessário ajuda a proteger o site e a lembrar suas escolhas. O Google Analytics opcional permanece desativado até você autorizá-lo. Você pode ler todas as matérias usando apenas o armazenamento necessário. Detalhes de privacidade