AI-translated from English; not yet reviewed by a fluent editor.

# Configure Ollama, Open WebUI e Continue no mesmo Mac

> Transfira um modelo local para o Ollama, ligue um chat persistente do Open WebUI e o Continue no VS Code, confirme uma resposta no navegador e reveja uma alteração num ficheiro 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

![Conceptual charcoal illustration of one open laptop with two empty work areas on its screen, one light and one dark.](https://bigchange.ai/api/media/file/mac-local-browser-editor-hero-v2.png)
AI-generated conceptual illustration by BIG CHANGE.

Este guia destina-se a quem possui um Mac, tem autorização para instalar aplicações e pode utilizar um ficheiro de teste próprio sem informação sensível. Vai transferir um modelo para o Ollama, ligar um chat persistente do Open WebUI no navegador e a extensão Continue do VS Code ao mesmo serviço e examinar uma alteração proposta antes de decidir se a conserva. Os comandos e verificações seguem a documentação atual dos responsáveis pelos programas; a BIG CHANGE não executou esta configuração nem mediu a velocidade, o custo ou o tráfego de rede.

## A grande mudança

- **O que muda:** Um modelo Ollama transferido pode servir tanto um chat no navegador como um assistente de edição no VS Code através da API local. Cada cliente continua a precisar da sua própria verificação de ligação.
- **Porque importa:** Uma única instalação do modelo pode apoiar uma conversa e uma alteração de código revista no mesmo Mac, mantendo o proprietário do ficheiro a decisão final.
- **O que observar:** O nome de um modelo num menu não demonstra qual foi o servidor que respondeu. Verifique a ligação ao fornecedor e as respostas reais, sobretudo se estiverem configurados outros fornecedores ou funções na nuvem.

## 1. Verifique o Mac e escolha um modelo

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 ficheiros abaixo. O Ollama suporta execução em CPU e GPU Apple M; para Macs Intel, a documentação refere apenas CPU. Instale o Ollama a partir da página para Mac, mova a aplicação para Applications, abra-a e permita a ligação da linha de comandos, caso seja solicitada. Instale e inicie o Docker Desktop e depois o Continue através da vista Extensions do VS Code. Instale Python 3 a partir de [Python.org](https://www.python.org/downloads/macos/) se `python3` não estiver disponível. No Mac, o VS Code não acrescenta automaticamente `code` ao caminho de pesquisa da 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
```

Registe as versões instaladas. Pare se alguma aplicação 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) apresenta atualmente uma transferência de 4,7 GB e a licença Apache 2.0. Essa dimensão não corresponde à totalidade da 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 etiqueta local mais pequena e documentada, substituindo `qwen2.5-coder:7b` por essa etiqueta exata em cada comando, seleção do navegador e campo YAML abaixo. Verifique também a licença do modelo de substituição.

Transfira o modelo e confirme que o Ollama apresenta a etiqueta 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 perante um erro HTTP e verifica o modelo devolvido 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 esta verificação a 64 tokens gerados. Uma frase cortada pode ainda mostrar que houve conteúdo devolvido; uma resposta vazia falha a 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 etiqueta não aparecer, conclua a transferência e consulte novamente a lista. Se a API estiver inacessível, inicie o Ollama e consulte o [registo do servidor no Mac](https://docs.ollama.com/macos) em `~/.ollama/logs/server.log`. Uma etiqueta transferida 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/) guarda contas, definições e chats em `/app/backend/data` e exige um valor fixo de `WEBUI_SECRET_KEY`. Utilizamos a [versão estável v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) em vez da etiqueta continuamente atualizada `main` . O Docker selecionará a imagem para a arquitetura do Mac; registe a identidade da imagem depois da transferência.

Examine primeiro os nomes aqui utilizados. Se algum já existir, inspecione esse contentor ou volume e determine se pertence a uma configuração anterior. Não substitua um contentor existente nem elimine o seu volume apenas para fazer funcionar este comando.

```bash
docker ps -a --filter name=^/bc-open-webui$ 
docker volume inspect bc-open-webui-data
```

Na primeira configuração, é normal o segundo comando indicar que o volume não existe. Os passos seguintes guardam uma chave gerada num ficheiro privado da sua conta do Mac. Guarde-o em segurança para recriar o contentor. Não envie o seu conteúdo para um repositório, não o cole nem partilhe. Se já tiver uma chave para esta instância, continue a usar 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 relativa às portas deve apresentar `127.0.0.1:3000->8080/tcp`. O volume com nome mantém chats e definições ao recriar o contentor. A chave protege a continuidade das sessões e os valores cifrados da aplicação, pelo que deve manter a sua cópia privada. Quem tem acesso ao Docker pode ver valores de ambiente na configuração do contentor; esta é uma configuração local para um único utilizador, não um cofre de segredos para um anfitrião partilhado.

Abra `http://127.0.0.1:3000` no navegador. No primeiro início, crie a conta de administrador. No menu do avatar, abra **Settings → Admin → Connections**. Inspecione **Manage Ollama API Connections** e deixe apenas uma ligação ativada para `http://host.docker.internal:11434`; remova ou desative ligações de fornecedores não previstos nesta verificação. O Open WebUI [pode distribuir pedidos por várias ligações Ollama](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/), pelo que um nome coincidente na lista não basta. Selecione `qwen2.5-coder:7b` num novo chat e pergunte: «Como posso verificar que foi um modelo local a responder?» Confirme que aparece uma resposta não vazia e reabra o chat guardado. Registe o modelo selecionado e o URL da ligação. Esta é a verificação no navegador; não existe uma resposta predeterminada.

Se a página não carregar, examine `docker logs bc-open-webui` e a associação da porta. Se a lista de modelos estiver vazia, verifique se o Ollama continua a responder a `/api/tags`, reveja a ligação guardada do Open WebUI e teste se esta versão do Docker Desktop alcança o serviço do Mac anfitrião. `host.docker.internal` é [o endereço do anfitrião no Docker Desktop](https://docs.docker.com/desktop/features/networking/), enquanto `localhost` dentro do contentor se refere ao próprio contentor. O Ollama [associa-se a 127.0.0.1 por predefinição](https://docs.ollama.com/faq); o encaminhamento entre anfitrião e contentor pode variar consoante a configuração. Não considere uma ligação falhada como um sucesso nem exponha o Ollama em `0.0.0.0` como reparação habitual. Resolva o percurso de rede local segundo a sua política de segurança antes de continuar. Preserve o volume e os chats existentes durante o diagnóstico.

## 3. Ligue o Continue à mesma etiqueta Ollama

O Continue é executado no VS Code no Mac; assim, 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 roda dentada junto de **Local Config**. Isto abre `~/.continue/config.yaml`; a [referência atual do Continue](https://docs.continue.dev/reference) utiliza YAML. Guarde uma cópia da configuração existente e preserve os modelos ou regras de que ainda precisa. 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
```

Num ficheiro existente, acrescente esta entrada de modelo à lista `models:` e mantenha a configuração superior existente. Guarde, selecione **Local Config** e o modelo local com nome, e faça uma pergunta curta no Continue Chat. Confirme que devolve conteúdo. Isto verifica a ligação da extensão, mas uma resposta de chat não é uma edição de ficheiro. As funções `chat` e `edit` ativam as duas ações aqui usadas; esta receita não promete funcionalidades Agent nem conclusão automática.

Crie um diretório e ficheiro de teste próprios com um comportamento simples que possa verificar separadamente. O comando preserva ficheiros e cópias originais existentes; examine-os ou escolha outro diretório se algum nome já estiver em utilização:

```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 escrever `Hello, Ada` depois de a asserção passar. Abra `greeting.py` no VS Code, selecione apenas a função e prima **Cmd+I** para [Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start). Peça uma docstring curta sem alterar o texto devolvido. Compare o diff integrado apresentado progressivamente com `greeting.original.py`; o Edit aplicado ao código selecionado pode incluir todo o ficheiro no contexto, pelo que deve usar apenas um ficheiro próprio sem dados sensíveis. O modelo pode alterar mais do que pediu. Examine cada linha alterada e aceite uma proposta adequada com **Cmd+Opt+Y**, ou rejeite-a com **Cmd+Opt+N**. O Continue também dispõe de controlos para aceitar ou rejeitar tudo, mas um diff pequeno facilita examinar uma alteração de cada vez.

Após aceitar, guarde o ficheiro 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"
```

Confirme que o diff contém apenas a alteração pretendida e que a asserção original continua a passar. Se rejeitar a proposta, verifique que o ficheiro corresponde ao original e registe a rejeição; não declare uma edição concluída. O ficheiro, o diff e a verificação independente em Python demonstram o resultado com maior fiabilidade do que a descrição do modelo.

## 4. Mantenha os limites claros

Ollama, Open WebUI e Continue têm definições separadas. Para desativar apenas a nuvem do Ollama, acrescente o campo seguinte ao `~/.ollama/server.json`da conta que executa o servidor Ollama, preservando os campos JSON existentes. Para um ficheiro novo, este é o conteúdo completo:

```json
{
  "disable_ollama_cloud": true
}
```

Reinicie a aplicação Ollama e verifique o registo 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 registo. Se não aparecer, verifique novamente qual a conta do Mac que executa o Ollama, o JSON e o reinício antes de afirmar que as funções de nuvem estão desativadas. Esta definição não inspeciona outros fornecedores do Open WebUI, funções opcionais em linha nem o tráfego do Continue. O [guia sem ligação à internet](https://docs.continue.dev/guides/running-continue-without-internet) do Continue indica que deve desativar **Allow Anonymous Telemetry**, usar modelos locais e reiniciar o VS Code. Reveja as ligações de cada aplicação antes de usar material sensível. Um URL de loopback, só por si, não constitui uma auditoria de rede.

Verifique a [licença do Docker Desktop](https://docs.docker.com/subscription-billing/desktop-license/) para a sua utilização real. É gratuito para utilização pessoal, educativa e de código aberto não comercial, além de pequenas empresas com **menos de 250 trabalhadores E receita anual inferior a 10 milhões de dólares**. A utilização profissional em organizações maiores e na administração pública exige uma subscrição paga. A licença Apache 2.0 do modelo é separada. Espaço em disco, memória, largura de banda e eletricidade continuam a ser necessários; não foram medidos custos nem desempenho para este guia.

Para um roteiro limitado ao terminal e à API do Ollama, consulte [Execute um modelo Ollama local e verifique a 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 adicionais

- [Requisitos 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 predefinido e definiçã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 a 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): etiqueta de exemplo, transferência indicada e licença do modelo. Verifique os dados atuais da etiqueta e os recursos disponíveis do Mac antes de transferir. Consultada em 21 de outubro de 2026.
- [Início rápido do Open WebUI](https://docs.openwebui.com/getting-started/quick-start/), [Guia de ligação ao 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 contentor, definições dos fornecedores e identidade da versão estável. Documentam um procedimento, não demonstram uma ligaçã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 ligação à internet](https://docs.continue.dev/guides/running-continue-without-internet): caminho e chaves atuais do ficheiro, controlos de edição e definiçã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 anfitrião, instalação e limites de uso comercial. Verifique os termos atuais para a 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 [transferências 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 apenas CPU, instalação da aplicação, ligação CLI e caminho do registo local do servidor. Não demonstra memória suficiente no Mac do leitor.
- [FAQ do Ollama](https://docs.ollama.com/faq) — Documenta a associação predefinida a 127.0.0.1:11434, a desativação apenas da nuvem do Ollama, o reinício exigido e a consulta do registo. Não audita outras aplicações.
- [API de chat do Ollama](https://docs.ollama.com/api/chat) — Documenta POST /api/chat, model/messages do pedido e os campos model e conteúdo do assistente devolvidos. O artigo exige verificar uma resposta real do leitor; a BIG CHANGE não fez esse pedido.
- [API de lista de modelos do Ollama](https://docs.ollama.com/api/tags) — Documenta GET /api/tags e models[].name, usados para confirmar localmente a etiqueta exata transferida antes de ligar outros clientes.
- [Página do modelo Qwen2.5-Coder 7B](https://ollama.com/library/qwen2.5-coder:7b) — Indica qwen2.5-coder:7b, transferência de 4,7 GB e licença Apache 2.0. O tamanho da transferência não corresponde a toda a memória necessária nem a 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 verificação da porta real.
- [Ligação Ollama do Open WebUI](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) — Documenta Settings > Admin > Connections, o URL Ollama do anfitrião Docker e a possível distribuição de carga entre ligações. O rótulo selecionado não prova, por si só, o encaminhamento.
- [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 etiqueta usada. O Docker escolhe uma imagem de plataforma; o leitor regista 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 funções 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 roda dentada Local Config e a atualização automática ao guardar. 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 sobre código selecionado, diff integrado progressivo e atalhos de aceitação e rejeição no Mac. O leitor deve rever a alteração inteira e repetir a verificação original.
- [Guia sem ligação à 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 da aplicação 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 anfitrião no Docker Desktop. A acessibilidade do Ollama associado ao loopback deste Mac exige ainda a 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; não comprova capacidade conjunta para modelo e aplicações.
- [Licença do Docker Desktop](https://docs.docker.com/subscription-billing/desktop-license/) — Documenta utilizações gratuitas pessoais, educativas e de código aberto não comerciais e a condição de pequena empresa com menos de 250 trabalhadores E receita anual inferior a 10 milhões de dólares; utilizações profissionais maiores e governamentais são pagas.
- [Transferências do Python 3 para macOS](https://www.python.org/downloads/macos/) — Fonte oficial do instalador Python 3 para as verificações de JSON e ficheiros 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 o único pedido de teste local a 64; uma resposta não vazia pode terminar a 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 através de Command Palette e o reinício do terminal necessário antes de code --version.
