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, Docker Desktop para Mac, VS Code com a extensão Continuee 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 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: abra Command Palette com Cmd+Shift+P, execute Shell Command: Install 'code' command in PATHe reinicie Terminal. Confirme que as ferramentas necessárias estão disponíveis:
sw_vers -productVersion
ollama --version
docker version
code --version
python3 --versionRegiste 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 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:
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 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 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.
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 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 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 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.
docker ps -a --filter name=^/bc-open-webui$
docker volume inspect bc-open-webui-dataNa 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.
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, 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, enquanto localhost dentro do contentor se refere ao próprio contentor. O Ollama associa-se a 127.0.0.1 por predefinição; 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 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:
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
- editNum 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:
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
fiA 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. 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:
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.jsonda conta que executa o servidor Ollama, preservando os campos JSON existentes. Para um ficheiro novo, este é o conteúdo completo:
{
"disable_ollama_cloud": true
}Reinicie a aplicação Ollama e verifique o registo do servidor:
grep 'Ollama cloud disabled: true' "$HOME/.ollama/logs/server.log"A FAQ do Ollama 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 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 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. Faça uma alteração verificada no Claude Code com um modelo Ollama local aborda outro cliente de programação.
Fontes e leituras adicionais
- Requisitos macOS do Ollama, API de chat, API de lista de modelos e 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: o campo de execução
options.num_predictlimita 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: 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, Guia de ligação ao Ollama e versão 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, referência YAML, início rápido do Edit e guia sem ligação à 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, instalação no Mac e licença: 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 e transferências do Python 3: instalação opcional do comando shell e interpretador usado nas verificações. Consultados em 21 de outubro de 2026.



