Para ito sa may-ari ng Mac na pinapayagang mag-install ng mga app at gumamit ng sariling test file na walang sensitibong impormasyon. Magda-download ka ng isang modelo sa Ollama, ikokonekta rito ang persistent na Open WebUI browser chat at Continue extension sa VS Code, at susuriin ang aktuwal na mungkahing pagbabago bago magpasya kung tatanggapin ito. Batay sa kasalukuyang dokumentasyon ng mga tagapangalaga ang mga command at pagsusuri. Hindi pinatakbo ng BIG CHANGE ang setup na ito o sinukat ang bilis, gastos o network traffic nito.

Ang malaking pagbabago

  • Ano ang nagbago: Ang isang na-download na Ollama model ay maaaring magsilbi sa browser chat at editing assistant sa VS Code sa pamamagitan ng lokal nitong API. Kailangan pa ring suriin ang koneksyon ng bawat client.
  • Bakit mahalaga: Maaaring suportahan ng iisang model installation ang pag-uusap at nasuring pagbabago ng code sa parehong Mac, habang nasa may-ari ng file ang huling pasya sa pagbabago.
  • Ano ang dapat bantayan: Hindi patunay ang pangalan ng modelo sa menu kung aling server ang sumagot. Suriin ang koneksyon sa provider at ang aktuwal na mga sagot, lalo na kung may iba pang provider o cloud feature na naka-configure.

1. Suriin ang Mac at pumili ng modelo

Kailangan mo ng macOS 14 o mas bago para sa Ollama, Docker Desktop para sa Mac, VS Code na may Continue extension, at Python 3 para sa maiikling pagsusuri sa JSON at file sa ibaba. Sinusuportahan ng Ollama ang CPU at GPU execution sa Apple M-series; CPU lang ang nakalista sa dokumentasyon nito para sa Intel Mac. I-install ang Ollama mula sa Mac download nito, ilipat ang app sa Applications, buksan ito at payagan ang command-line link kung hihilingin. I-install at simulan ang Docker Desktop, saka i-install ang Continue mula sa Extensions view ng VS Code. I-install ang Python 3 mula sa Python.org kung wala ang python3 . Sa Mac, hindi awtomatikong idinaragdag ng VS Code ang code sa shell path. Sundin ang mga tagubilin sa pag-set up sa Mac: buksan ang Command Palette gamit ang Cmd+Shift+P, patakbuhin ang Shell Command: Install 'code' command in PATH, at i-restart ang Terminal. Tiyaking magagamit ang mga kinakailangang tool:

Terminal
sw_vers -productVersion
ollama --version
docker version
code --version
python3 --version

Itala ang mga naka-install na bersyon. Huminto kung hindi tumatakbo ang alinmang app o kulang ang espasyo ng Mac para sa modelo at Docker data. Kasalukuyang nakasaad sa listahan ng qwen2.5-coder:7b model ang 4.7 GB na download at Apache 2.0 license. Hindi katumbas ng download size ang buong working-memory requirement. Isa itong kongkretong halimbawa para sa gabay, hindi rekomendasyon para sa bawat Mac. Kung kailangan, pumili ng mas maliit na lokal na tag na may dokumentasyon, at palitan ang qwen2.5-coder:7b ng eksaktong tag na iyon sa bawat command, pagpili sa browser at YAML field sa ibaba. Suriin din ang lisensya ng kapalit na modelo.

I-download ang modelo at tiyaking nakalista sa Ollama ang eksaktong tag:

Terminal
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"]])'

Dapat kasama sa listahan ang qwen2.5-coder:7b. Pagkatapos, humingi ng maikling sagot sa lokal na chat API . Mabibigo ang command kung may HTTP error, at susuriin nito ang ibinalik na modelo at hindi blangkong nilalaman ng assistant; hindi mahalaga ang eksaktong pananalita ng sagot. Nililimitahan ng runtime option ng Ollama num_predict ang pagsusuring ito sa 64 na generated token. Maaaring patunay pa rin ng natanggap na nilalaman ang naputol na pangungusap; kabiguan naman ang blangkong sagot at kailangan itong imbestigahan.

Terminal
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"])'

Kung wala ang tag, tapusin ang download at muling tingnan ang listahan. Kung hindi maabot ang API, simulan ang Ollama at tingnan ang server log nito sa Mac sa ~/.ollama/logs/server.log. Ang na-download na tag at matagumpay na lokal na sagot ang una sa tatlong pagsusuri.

2. Simulan ang Open WebUI na may matibay na lokal na imbakan

Ang quick start ng Open WebUI ay nag-iimbak ng account, setting at chat sa /app/backend/data at nangangailangan ng hindi nagbabagong WEBUI_SECRET_KEY. Ginagamit dito ang stable na v0.12.3 release sa halip na patuloy na nagbabagong main tag. Pipiliin ng Docker ang image para sa architecture ng Mac; itala ang pagkakakilanlan nito matapos i-download.

Suriin muna ang mga pangalang ginagamit dito. Kung mayroon na ang alinman, tingnan ang container o volume na iyon at alamin kung bahagi ito ng naunang setup. Huwag palitan ang umiiral na container o alisin ang volume nito para lamang mapagana ang command.

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

Normal sa unang setup na sabihin ng ikalawang command na wala ang volume. Itatago ng mga susunod na hakbang ang nabuong key sa pribadong file sa ilalim ng Mac account mo. Panatilihin itong ligtas para sa muling paggawa ng container. Huwag i-commit, i-paste o ibahagi ang nilalaman. Kung mayroon ka nang key para sa instance na ito, iyon pa rin ang gamitin.

Terminal
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}}'

Dapat ipakita ng port output ang 127.0.0.1:3000->8080/tcp. Pinapanatili ng named volume ang mga chat at setting kahit muling gawin ang container. Pinoprotektahan ng key ang pagpapatuloy ng session at mga encrypted na halaga ng app, kaya itago ang pribadong kopya nito. Maaaring makita sa container configuration ang environment values ng mga taong may Docker access; para ito sa iisang lokal na user, hindi secret store para sa shared host.

Buksan ang http://127.0.0.1:3000 sa browser. Sa unang pagbukas, gumawa ng admin account. Sa avatar menu, buksan ang Settings → Admin → Connections. Suriin ang Manage Ollama API Connections at mag-iwan ng iisang aktibong koneksyon sa http://host.docker.internal:11434; alisin o i-disable ang mga hindi nilalayong provider connection para sa pagsusuring ito. Ang Open WebUI ay maaaring magbahagi ng request sa maraming Ollama connection, kaya hindi sapat ang magkaparehong pangalan sa dropdown. Piliin ang qwen2.5-coder:7b sa bagong chat at itanong: “Ano ang isang paraan para mapatunayan na lokal na modelo ang sumagot?” Tiyaking may hindi blangkong sagot, saka muling buksan ang naka-save na chat. Itala ang napiling modelo at connection URL. Ito ang pagsusuri sa browser; walang itinakdang sagot.

Kung hindi naglo-load ang pahina, suriin ang docker logs bc-open-webui at ang port binding. Kung walang laman ang model list, tiyaking sumasagot pa rin ang Ollama sa /api/tags, tingnan ang naka-save na Open WebUI connection, at subukan kung naaabot ng bersyong ito ng Docker Desktop ang serbisyo sa Mac host. Ang host.docker.internal ay host address ng Docker Desktop, samantalang ang localhost sa loob ng container ay tumutukoy sa container mismo. Ang Ollama ay naka-bind sa 127.0.0.1 bilang default; maaaring mag-iba ang host-to-container forwarding depende sa configuration. Huwag ituring na tagumpay ang nabigong koneksyon o ilantad ang Ollama sa 0.0.0.0 bilang karaniwang ayos. Lutasin muna ang lokal na network path ayon sa security policy bago magpatuloy. Panatilihin ang volume at umiiral na mga chat habang nag-aayos.

3. Ituro ang Continue sa parehong Ollama tag

Tumatakbo ang Continue sa VS Code sa Mac, kaya ang Ollama API address nito ay http://localhost:11434. Buksan ang Continue, gamitin ang configuration dropdown sa kanang itaas ng chat input, at pindutin ang cog sa tabi ng Local Config. Bubuksan nito ang ~/.continue/config.yaml; ang kasalukuyang reference ng Continue ay gumagamit ng YAML. Mag-save ng kopya ng umiiral na configuration at panatilihin ang mga modelo o tuntuning kailangan mo pa. Para sa bagong lokal na configuration, ito ang kumpletong pinakamaliit na nilalaman:

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

Para sa umiiral na file, idagdag ang model entry sa listahan nitong models: at panatilihin ang kasalukuyang top-level configuration. I-save, piliin ang Local Config at ang pinangalanang lokal na modelo, saka magtanong nang maikli sa Continue Chat. Tiyaking may ibinabalik na nilalaman. Sinusuri nito ang koneksyon ng extension, ngunit hindi katumbas ng file edit ang chat response. Pinapagana ng mga role na chat at edit ang dalawang aksyong ginagamit dito; walang pangakong Agent o autocomplete ang gabay na ito.

Gumawa ng sarili mong test directory at file na may simpleng kilos na kaya mong suriin nang hiwalay. Pinapanatili ng command ang umiiral na file o original copy, kaya suriin ito o pumili ng ibang test directory kung ginagamit na ang alinmang pangalan:

Terminal
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

Dapat mag-print ang orihinal na pagsusuri ng Hello, Ada matapos pumasa ang assertion. Buksan ang greeting.py sa VS Code, piliin lang ang function, saka pindutin ang Cmd+I para sa Continue Edit. Hilinging magdagdag ng maikling docstring nang hindi binabago ang ibinalik na teksto. Ihambing ang unti-unting ipinapakitang inline diff sa greeting.original.py; maaaring maisama sa context ang buong file kahit napiling code lang ang ina-edit, kaya gamitin lamang ang sariling file na walang sensitibong impormasyon. Maaaring mas marami ang baguhin ng modelo kaysa sa hiniling. Suriin ang bawat binagong linya at tanggapin ang naaangkop na mungkahi gamit ang Cmd+Opt+Y, o tanggihan ito gamit ang Cmd+Opt+N. May accept-all at reject-all controls din ang Continue, ngunit mas madaling suriin ang maliit na diff nang paisa-isang pagbabago.

Pagkatanggap, i-save ang file at patakbuhin ang:

Terminal
diff -u "$HOME/continue-local-check/greeting.original.py" "$HOME/continue-local-check/greeting.py" || true
python3 "$HOME/continue-local-check/greeting.py"

Tiyaking ang nilalayong pagbabago lang ang nasa diff at pumapasa pa rin ang orihinal na assertion. Kung tinanggihan ang mungkahi, patunayang katulad ng orihinal ang file at itala ang pagtanggi; huwag mag-ulat ng natapos na edit. Mas maaasahang ebidensya ang file, diff at hiwalay na Python check kaysa sa paglalarawan ng modelo sa sarili nitong ginawa.

4. Panatilihing malinaw ang mga hangganan

Magkakahiwalay ang mga setting ng Ollama, Open WebUI at Continue. Para i-disable ang cloud ng Ollama lamang, idagdag ang sumusunod na field sa ~/.ollama/server.jsonng account na nagpapatakbo ng Ollama server, habang pinapanatili ang kasalukuyang JSON fields. Para sa bagong file, ito ang buong nilalaman:

JSON
{
  "disable_ollama_cloud": true
}

I-restart ang Ollama app, saka suriin ang server log nito:

Terminal
grep 'Ollama cloud disabled: true' "$HOME/.ollama/logs/server.log"

Ang Ollama FAQ ang nagdodokumento ng log line na iyon. Kung wala ito, suriing muli kung aling Mac account ang nagpapatakbo ng Ollama, ang JSON at ang pag-restart bago sabihing naka-disable ang cloud features. Hindi sinusuri ng setting na ito ang ibang provider ng Open WebUI, mga opsyonal na online feature o traffic ng Continue. Sinasabi ng offline guide ng Continue na i-off ang Allow Anonymous Telemetry, gumamit ng lokal na modelo at i-restart ang VS Code. Suriin ang koneksyon ng bawat app bago gumamit ng sensitibong materyal. Hindi network audit ang loopback URL lamang.

Suriin ang lisensya ng Docker Desktop para sa aktuwal mong paggamit. Libre ito para sa personal, pang-edukasyon at hindi pangkomersyong open-source na gamit, at sa maliliit na negosyong may mas kaunti sa 250 empleyado AT taunang kita na mas mababa sa $10 milyon. Nangangailangan ng bayad na subscription ang propesyonal na paggamit sa mas malalaking organisasyon at gobyerno. Hiwalay ang Apache 2.0 license ng modelo. May halaga pa rin ang disk space, memory, download bandwidth at kuryente; walang gastos o performance result na sinukat para sa gabay na ito.

Para sa mas makitid na gabay sa Ollama terminal at API lamang, tingnan ang Magpatakbo ng lokal na Ollama model at suriin ang chat API nito. Ang Isang nasuring pagbabago sa Claude Code gamit ang lokal na Ollama model ay tumatalakay sa ibang coding client.

Mga sanggunian at karagdagang babasahin