Овај водич је за власника Mac рачунара који сме да инсталира апликације и користи сопствену пробну датотеку без осетљивих података. Преузећете један модел у Ollama, повезати трајно сачуван Open WebUI разговор у прегледачу и Continue проширење у VS Code са истим извршним сервисом, па прегледати стварни предлог измене пре одлуке да ли да га задржите. Команде и провере прате важећу документацију одржавалаца; BIG CHANGE није покренуо ову поставку нити мерио брзину, трошкове или мрежни саобраћај.

Велика промена

  • Шта се мења: Преузети Ollama модел преко локалног API-ја може да служи и разговору у прегледачу и помоћнику за измене у VS Code. Везу сваког клијента ипак треба посебно проверити.
  • Зашто је важно: Једна инсталација модела може да подржи разговор и прегледану измену кода на истом Mac рачунару, док власник датотеке задржава последњу одлуку.
  • На шта пазити: Назив модела у менију не доказује који је сервер одговорио. Проверите везу са пружаоцем и стварне одговоре, нарочито ако су подешени други пружаоци или функције у облаку.

1. Проверите Mac и изаберите модел

Потребни су вам macOS 14 или новији за Ollama, Docker Desktop за Mac, VS Code са Continue проширењеми Python 3 за кратке провере JSON-а и датотека у наставку. Ollama подржава извршавање на CPU-у и GPU-у Apple M серије; документација за Intel Mac наводи само CPU. Инсталирајте Ollama преко странице за Mac, преместите апликацију у Applications, покрените је и дозволите повезивање командне линије ако то затражи. Инсталирајте и покрените Docker Desktop, па Continue преко приказа Extensions у VS Code. Инсталирајте Python 3 са Python.org ако python3 није доступан. На Mac рачунару VS Code не додаје аутоматски code у путању претраге командног окружења. Пратите његово упутство за постављање на Mac рачунару: отворите Command Palette помоћу Cmd+Shift+P, покрените Shell Command: Install 'code' command in PATHи поново покрените Terminal. Проверите да ли су потребни алати доступни:

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

Забележите инсталиране верзије. Станите ако нека апликација није покренута или Mac нема простора за модел и Docker податке. Страница модела qwen2.5-coder:7b тренутно наводи преузимање од 4,7 GB и лиценцу Apache 2.0. Величина преузимања није укупан захтев за радну меморију. Ово је конкретан пример, а не препорука за сваки Mac. По потреби изаберите мању документовану ознаку локалног модела, па замените qwen2.5-coder:7b том тачном ознаком у свакој команди, избору у прегледачу и YAML пољу у наставку. Проверите и лиценцу заменског модела.

Преузмите модел и проверите да ли Ollama наводи његову тачну ознаку:

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

Списак треба да садржи qwen2.5-coder:7b. Затим од локалног API-ја за разговор затражите кратак одговор. Команда не успева ако постоји HTTP грешка и проверава враћени модел и непразан садржај помоћника; тачан текст одговора није битан. Ollama опција извршавања num_predict ограничава ову проверу на 64 генерисана токена. И прекинута реченица може да потврди да је садржај стигао; празан одговор значи неуспелу проверу и захтева испитивање.

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

Ако ознака недостаје, завршите преузимање и поново проверите списак. Ако API није доступан, покрените Ollama и погледајте серверски дневник на Mac рачунару на путањи ~/.ollama/logs/server.log. Преузета ознака и успешан локални одговор представљају прву од три провере.

2. Покрените Open WebUI са трајним локалним подацима

Ово упутство за брзи почетак уз Open WebUI чува налоге, подешавања и разговоре у /app/backend/data и захтева сталну вредност за WEBUI_SECRET_KEY. Користимо стабилно издање v0.12.3 уместо променљиве ознаке main . Docker бира слику за архитектуру вашег Mac рачунара; после преузимања забележите њен идентитет.

Најпре проверите овде употребљене називе. Ако неки већ постоји, прегледајте тај контејнер или волумен и утврдите да ли припада ранијој поставци. Не мењајте постојећи контејнер и не бришите његов волумен само да би команда радила.

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

При првој поставци нормално је да друга команда пријави да волумен не постоји. Следећи кораци чувају генерисани кључ у приватној датотеци вашег Mac налога. Безбедно је задржите за поновно прављење контејнера. Не шаљите садржај у репозиторијум, не лепите га и не делите. Ако већ имате кључ за ову инстанцу, наставите да га користите.

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

Излаз о порту треба да прикаже 127.0.0.1:3000->8080/tcp. Именовани волумен задржава разговоре и подешавања када се контејнер поново направи. Кључ штити континуитет сесија и шифроване вредности апликације, па сачувајте приватну копију. Људи са Docker приступом могу да виде вредности окружења у конфигурацији контејнера; ово је локална поставка за једног корисника, а не складиште тајни за дељени рачунар.

Отворите http://127.0.0.1:3000 у прегледачу. При првом покретању направите администраторски налог. У менију аватара отворите Settings → Admin → Connections. Прегледајте Manage Ollama API Connections и оставите само једну укључену везу ка http://host.docker.internal:11434; уклоните или искључите непредвиђене везе са пружаоцима за ову проверу. Open WebUI може да распоређује захтеве између више Ollama веза, па истоветан назив у падајућем менију није довољан. Изаберите qwen2.5-coder:7b у новом разговору и питајте: „Како могу да проверим да је одговорио локални модел?“ Уверите се да се појављује непразан одговор, па поново отворите сачувани разговор. Забележите модел и URL везе. То је провера у прегледачу; није прописан одређени одговор.

Ако се страница не учитава, проверите docker logs bc-open-webui и везивање порта. Ако је списак модела празан, проверите да ли Ollama и даље одговара на /api/tags, прегледајте сачувану Open WebUI везу и испитајте да ли ова верзија Docker Desktop може да приступи сервису Mac домаћина. host.docker.internal је адреса домаћина у Docker Desktop, док localhost унутар контејнера означава сам контејнер. Ollama се подразумевано везује за 127.0.0.1; прослеђивање између домаћина и контејнера може зависити од подешавања. Не третирајте неуспелу везу као успешну поставку и не излажите Ollama на 0.0.0.0 као уобичајену поправку. Пре наставка решите локалну мрежну путању у складу са безбедносном политиком. Током испитивања задржите волумен и постојеће разговоре.

3. Повежите Continue са истом Ollama ознаком

Continue ради у VS Code на Mac рачунару, па је његова Ollama API адреса http://localhost:11434. Отворите Continue, употребите падајући мени конфигурације у горњем десном углу поља за разговор и кликните зупчаник поред Local Config. Тако се отвара ~/.continue/config.yaml; актуелна Continue референца користи YAML. Сачувајте копију постојеће конфигурације и задржите моделе или правила која су вам још потребна. За нову локалну конфигурацију ово је цео минимални садржај:

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

У постојећој датотеци додајте овај модел у њен списак models: и задржите тренутну конфигурацију највишег нивоа. Сачувајте, изаберите Local Config и именовани локални модел, па поставите кратко питање у Continue Chat. Проверите да ли стиже садржај. То проверава везу проширења, али одговор у разговору није измена датотеке. Улоге chat и edit омогућавају две овде коришћене радње; овај поступак не обећава Agent могућности или аутоматско довршавање.

Направите сопствени пробни директоријум и датотеку са једноставним понашањем које можете независно да проверите. Команда чува постојећу датотеку или оригиналну копију, па их прегледајте или изаберите други директоријум ако је неки назив већ заузет:

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

Првобитна провера треба да испише Hello, Ada након успешне тврдње. Отворите greeting.py у VS Code, изаберите само функцију и притисните Cmd+I за Continue Edit. Затражите кратку документациону ниску, без промене враћеног текста. Упоредите постепено приказану разлику измена са greeting.original.py; Edit за изабрани код може да укључи целу датотеку у контекст, па користите само своју датотеку без осетљивих података. Модел може да измени више од траженог. Прегледајте сваки измењени ред и прихватите одговарајући предлог помоћу Cmd+Opt+Y, или га одбијте помоћу Cmd+Opt+N. Continue има и контроле за прихватање или одбијање свих измена, али малу разлику лакше је прегледати измену по измену.

Након прихватања сачувајте датотеку и покрените:

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

Проверите да разлика садржи само намеравану измену и да првобитна тврдња и даље пролази. Ако предлог одбијете, проверите да датотека одговара оригиналу и забележите одбијање; немојте пријавити завршену измену. Датотека, разлика и независна Python провера поузданије утврђују исход од описа самог модела.

4. Јасно задржите границе

Ollama, Open WebUI и Continue имају посебна подешавања. Да искључите само Ollama облак, у ~/.ollama/server.jsonналога који покреће Ollama сервер додајте следеће поље, чувајући постојећа JSON поља. За нову датотеку ово је цео садржај:

JSON
{
  "disable_ollama_cloud": true
}

Поново покрените Ollama апликацију, па проверите серверски дневник:

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

Ово Ollama FAQ упутство документује тај ред дневника. Ако га нема, поново проверите који Mac налог покреће Ollama, JSON и поновно покретање пре тврдње да су функције облака искључене. Ово подешавање не испитује друге Open WebUI пружаоце, опционе мрежне функције или Continue саобраћај. Continue водич за рад без интернета каже да искључите Allow Anonymous Telemetry, користите локалне моделе и поново покренете VS Code. Проверите везе сваке апликације пре употребе осетљивих података. Сам URL повратне петље није мрежна ревизија.

Проверите Docker Desktop лиценцу за стварну намену. Бесплатан је за личну, образовну и некомерцијалну употребу отвореног кода, као и за мала предузећа са мање од 250 запослених И мање од 10 милиона долара годишњег прихода. Професионална употреба у већим организацијама и влади захтева плаћену претплату. Apache 2.0 лиценца модела је одвојена. Простор, меморија, пропусни опсег преузимања и струја и даље су битни; за овај водич нису мерени трошкови нити перформансе.

За ужи водич само о Ollama терминалу и API-ју погледајте Покрените локални Ollama модел и проверите његов API за разговор. Направите једну проверену Claude Code измену уз локални Ollama модел описује другог клијента за програмирање.

Извори и додатна литература