Markdown 版本
AI-translated from English; not yet reviewed by a fluent editor.
# 在同一台 Mac 上設定 Ollama、Open WebUI 和 Continue
> 在 Ollama 下載一個本機模型,連接可持久儲存的 Open WebUI 聊天和 VS Code 中的 Continue,再驗證瀏覽器回覆並檢查自有檔案的修改建議。
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.
本指南適用於有權安裝應用程式,並可使用自有非敏感測試檔案的 Mac 使用者。你將把一個模型下載至 Ollama,將可持久儲存的 Open WebUI 瀏覽器聊天和 VS Code 的 Continue 擴充功能連接到同一個執行服務,再檢查實際提出的修改,決定是否保留。下列命令與檢查依據維護者的現行文件;BIG CHANGE 未執行這套組合,也未測量其速度、成本或網路流量。
## 主要變化
- **改變了什麼:** 已下載的 Ollama 模型可以透過本機 API,同時支援瀏覽器聊天和 VS Code 編輯助理。每個用戶端仍須各自檢查連線。
- **為何重要:** 一次模型安裝即可在同一台 Mac 上支援對話及經過審閱的程式碼修改,檔案擁有者仍掌握最終編輯決定。
- **應注意什麼:** 選單中的模型名稱無法證明是哪個伺服器回答。請檢查供應方連線與實際回覆,尤其是另有供應方或雲端功能設定時。
## 1. 檢查 Mac 並選擇模型
你需要 [Ollama 所需的 macOS 14 或更新版本](https://docs.ollama.com/macos)、 [Mac 版 Docker Desktop](https://docs.docker.com/desktop/setup/install/mac-install/)、配備 [Continue 擴充功能](https://docs.continue.dev/ide-extensions/install)的 VS Code,以及用來執行以下簡短 JSON 和檔案檢查的 Python 3。Ollama 支援 Apple M 系列的 CPU 與 GPU 執行;其文件對 Intel Mac 僅列出 CPU。請從 Mac 下載頁安裝 Ollama,將應用程式移至 Applications,啟動後依提示允許建立命令列連結。安裝並啟動 Docker Desktop,再從 VS Code 的 Extensions 檢視安裝 Continue。若缺少 Python 3,請從 [Python.org](https://www.python.org/downloads/macos/) 安裝(若 `python3` 無法使用)。在 Mac 上,VS Code 不會自動將 `code` 加入 shell 路徑。請遵循其 [Mac 安裝說明](https://code.visualstudio.com/docs/setup/mac):按 **Cmd+Shift+P**開啟 Command Palette,執行 **Shell Command: Install 'code' command in PATH**,再重新啟動 Terminal。確認所需工具皆可使用:
```bash
sw_vers -productVersion
ollama --version
docker version
code --version
python3 --version
```
記錄已安裝的版本。如果任一應用程式未執行,或 Mac 沒有足夠空間儲存模型及 Docker 資料,請先停止。 [qwen2.5-coder:7b 模型頁面](https://ollama.com/library/qwen2.5-coder:7b) 目前列出 4.7 GB 下載大小及 Apache 2.0 授權。下載大小不等於執行所需的全部記憶體。這只是本指南的具體範例,不代表適合每台 Mac。必要時選擇文件明確說明的較小本機模型標籤,再將以下每個命令、瀏覽器選項及 YAML 欄位中的 `qwen2.5-coder:7b` 替換為該確切標籤。同時檢查替代模型的授權。
下載模型,並確認 Ollama 列出確切標籤:
```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"]])'
```
清單應包含 `qwen2.5-coder:7b`。接著向 [本機聊天 API](https://docs.ollama.com/api/chat) 要求簡短回覆。遇到 HTTP 錯誤時命令會失敗,並檢查傳回的模型及非空白助理內容;回覆的具體措辭並不重要。 [Ollama 執行選項](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) `num_predict` 將此次檢查限制為最多產生 64 個 token。即使句子遭截斷,也能證明收到了內容;空白回覆則表示檢查失敗,需進一步排查。
```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"])'
```
如果沒有該標籤,請完成下載後重新查看清單。如果 API 無法存取,請啟動 Ollama 並查看其 [Mac 伺服器記錄](https://docs.ollama.com/macos) ,路徑為 `~/.ollama/logs/server.log`。已下載的標籤與成功的本機回覆,構成三項檢查中的第一項。
## 2. 啟動 Open WebUI 並持久儲存本機資料
這份 [Open WebUI 快速入門指南](https://docs.openwebui.com/getting-started/quick-start/) 將帳戶、設定及聊天儲存在 `/app/backend/data` ,並要求使用固定的 `WEBUI_SECRET_KEY`。本指南使用穩定的 [v0.12.3 版本](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) ,而非持續更新的 `main` 標籤。Docker 會選擇適合 Mac 架構的映像檔;下載後請記錄映像檔識別資訊。
先檢查此處使用的名稱。如果任一名稱已存在,請檢查該容器或磁碟區,確認是否屬於先前的設定。不要只是為了讓命令執行,就替換現有容器或刪除其磁碟區。
```bash
docker ps -a --filter name=^/bc-open-webui$
docker volume inspect bc-open-webui-data
```
首次設定時,第二個命令表示磁碟區不存在是正常情況。以下步驟將產生的金鑰保存在 Mac 帳戶下的私有檔案中。請安全保留此檔案,以便重新建立容器。不要將內容提交至程式碼庫、貼出或分享。若此實例已有金鑰,請繼續使用原金鑰。
```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}}'
```
連接埠輸出應顯示 `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 連線之間分配請求](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/),因此僅有相同的下拉選單名稱並不足夠。在新聊天中選擇 `qwen2.5-coder:7b` ,然後詢問:「有什麼方法可以確認是本機模型回答?」確認出現非空白回覆,再重新開啟已儲存的聊天。記錄選取的模型及連線 URL。這是瀏覽器檢查;不要求特定答案。
如果頁面無法載入,請檢查 `docker logs bc-open-webui` 及連接埠綁定。如果模型清單是空的,請確認 Ollama 仍能回應 `/api/tags`、檢查已儲存的 Open WebUI 連線,並測試此 Docker Desktop 版本是否能存取 Mac 主機服務。 `host.docker.internal` 是 [Docker Desktop 的主機位址](https://docs.docker.com/desktop/features/networking/),而 `localhost` 在容器內部指的是容器本身。Ollama [預設綁定至 127.0.0.1](https://docs.ollama.com/faq);主機到容器的轉送方式可能因設定而異。不要將失敗的連線視為成功設定,也不要把 Ollama 暴露在 `0.0.0.0` 上作為例行修復。繼續之前,請依安全政策解決本機網路路徑問題。排查時保留磁碟區及現有聊天。
## 3. 將 Continue 指向相同的 Ollama 標籤
Continue 在 Mac 的 VS Code 中執行,因此其 Ollama API 位址為 `http://localhost:11434`。開啟 Continue,使用聊天輸入區右上角的設定下拉選單,再按 **Local Config**旁的齒輪。這會開啟 `~/.continue/config.yaml`; [Continue 現行參考文件](https://docs.continue.dev/reference) 使用 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 或自動完成功能。
建立自己擁有的測試目錄及檔案,內容使用可獨立檢查的簡單行為。命令會保留現有檔案或原始副本;任一名稱若已被使用,請先檢查或另選測試目錄:
```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
```
原始檢查應在斷言通過後輸出 `Hello, Ada` 。開啟 `greeting.py` 至 VS Code,僅選取函式,再按 **Cmd+I** 使用 [Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start)。請它加入簡短 docstring,同時維持傳回文字不變。將逐步顯示的行內 diff 與 `greeting.original.py`比較;對選取程式碼使用 Edit 時,可能將整個檔案納入上下文,因此僅能使用自己擁有的非敏感檔案。模型可能修改超出要求的內容。請檢查每個變更行,使用 **Cmd+Opt+Y**接受適當建議,或使用 **Cmd+Opt+N**拒絕。Continue 也提供全部接受及全部拒絕的控制項,但較小的 diff 更便於逐項審查。
接受後儲存檔案,然後執行:
```bash
diff -u "$HOME/continue-local-check/greeting.original.py" "$HOME/continue-local-check/greeting.py" || true
python3 "$HOME/continue-local-check/greeting.py"
```
確認 diff 僅包含預期變更,而且原始斷言仍通過。若拒絕建議,請確認檔案與原件相同,並記錄拒絕;不要宣稱已完成修改。檔案、diff 和獨立 Python 檢查,比模型對自己工作的描述更可靠。
## 4. 清楚保留各項邊界
Ollama、Open WebUI 和 Continue 各有獨立設定。如果只要關閉 Ollama 雲端功能,請在執行 Ollama 伺服器之帳戶的 `~/.ollama/server.json`中加入以下欄位,同時保留現有 JSON 欄位。新檔案的完整內容如下:
```json
{
"disable_ollama_cloud": true
}
```
重新啟動 Ollama 應用程式,再檢查其伺服器記錄:
```bash
grep 'Ollama cloud disabled: true' "$HOME/.ollama/logs/server.log"
```
這份 [Ollama FAQ](https://docs.ollama.com/faq) 說明了此記錄行。若找不到,請先重新檢查由哪個 Mac 帳戶執行 Ollama、JSON 內容及是否重新啟動,再宣稱雲端功能已停用。此設定不檢查 Open WebUI 的其他供應方、選用線上功能或 Continue 的流量。Continue 的 [離線指南](https://docs.continue.dev/guides/running-continue-without-internet) 指示關閉 **Allow Anonymous Telemetry**、使用本機模型並重新啟動 VS Code。使用敏感資料前,請檢查每個應用程式的連線。單靠回送 URL 並不構成網路稽核。
請按實際用途檢查 [Docker Desktop 授權](https://docs.docker.com/subscription-billing/desktop-license/) 。個人、教育、非商業開源用途,以及符合以下條件的小型企業可免費使用: **員工少於 250 人,而且年營收低於 1,000 萬美元**。大型組織和政府的專業用途需要付費訂閱。模型的 Apache 2.0 授權另行適用。磁碟空間、記憶體、下載頻寬及電力仍須考量;本指南未測量成本或效能結果。
若只需要較單純的 Ollama 終端機與 API 流程,請參閱 [執行本機 Ollama 模型並檢查其聊天 API](https://bigchange.ai/blog/run-local-ollama-model-chat-api-guide)。 [使用本機 Ollama 模型完成一次經過檢查的 Claude Code 修改](https://bigchange.ai/blog/claude-code-local-ollama-checked-change-guide) 介紹另一種程式設計用戶端。
## 來源與延伸閱讀
- [Ollama 的 macOS 需求](https://docs.ollama.com/macos)、 [聊天 API](https://docs.ollama.com/api/chat)、 [模型清單 API](https://docs.ollama.com/api/tags) 及 [FAQ](https://docs.ollama.com/faq):安裝限制、可觀察的 API 欄位、預設監聽位址及 Ollama 專用雲端設定。查閱日期:2026 年 10 月 21 日。
- [Ollama API 規格](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml):執行時欄位 `options.num_predict` 限制這次簡短的本機聊天檢查。受限回覆可能在句中結束。查閱日期:2026 年 10 月 21 日。
- [Qwen2.5-Coder 7B 模型卡](https://ollama.com/library/qwen2.5-coder:7b):範例標籤、列出的下載大小及模型授權。下載前請檢查標籤目前的資訊和 Mac 可用資源。查閱日期:2026 年 10 月 21 日。
- [Open WebUI 快速入門](https://docs.openwebui.com/getting-started/quick-start/)、 [Ollama 連線指南](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) 及 [v0.12.3 版本](https://github.com/open-webui/open-webui/releases/tag/v0.12.3):容器儲存與金鑰、供應方設定及穩定版本識別資訊。這些文件描述設定路徑,不代表這台特定 Mac 已成功連線。查閱日期:2026 年 10 月 21 日。
- [Continue 設定](https://docs.continue.dev/customize/deep-dives/configuration)、 [YAML 參考](https://docs.continue.dev/reference)、 [Edit 快速入門](https://docs.continue.dev/ide-extensions/edit/quick-start) 及 [離線指南](https://docs.continue.dev/guides/running-continue-without-internet):目前檔案路徑及鍵、編輯控制項和遙測設定。查閱日期:2026 年 10 月 21 日。
- [Docker Desktop 網路](https://docs.docker.com/desktop/features/networking/)、 [Mac 安裝](https://docs.docker.com/desktop/setup/install/mac-install/) 及 [授權](https://docs.docker.com/subscription-billing/desktop-license/):主機位址、安裝及商業使用限制。請核實適用於組織的現行條款。查閱日期:2026 年 10 月 21 日。
- [VS Code 的 Mac 設定](https://code.visualstudio.com/docs/setup/mac) 及 [Python 3 下載](https://www.python.org/downloads/macos/):選用的 shell 命令安裝步驟,以及檢查使用的直譯器。查閱日期:2026 年 10 月 21 日。
## Sources
- [Ollama macOS](https://docs.ollama.com/macos) — 說明 macOS 14+ 支援、Apple M CPU/GPU 與 Intel 僅 CPU 的區別、應用程式安裝、命令列連結和本機伺服器記錄路徑。不代表讀者的 Mac 有足夠記憶體。
- [Ollama FAQ](https://docs.ollama.com/faq) — 說明預設 127.0.0.1:11434 綁定、僅針對 Ollama 的雲端關閉設定、必要重新啟動,以及雲端已關閉的記錄核實。不稽核其他應用程式。
- [Ollama 聊天 API](https://docs.ollama.com/api/chat) — 說明 POST /api/chat、請求的 model/messages,以及傳回的 model 和助理內容欄位。文章要求讀者核實實際回覆;BIG CHANGE 未發起該請求。
- [Ollama 模型清單 API](https://docs.ollama.com/api/tags) — 說明 GET /api/tags 和 models[].name,用於連接其他用戶端之前,在本機核實下載的確切標籤。
- [Qwen2.5-Coder 7B 模型頁面](https://ollama.com/library/qwen2.5-coder:7b) — 列出 qwen2.5-coder:7b、4.7 GB 下載及 Apache 2.0 授權。下載大小不是完整執行記憶體需求,也不是效能結果。
- [Open WebUI 快速入門](https://docs.openwebui.com/getting-started/quick-start/) — 說明 Docker run 流程、持久儲存的 /app/backend/data 磁碟區、固定 WEBUI_SECRET_KEY 和首次瀏覽器帳戶。文章固定版本,並要求讀者檢查實際連接埠。
- [Open WebUI Ollama 連線](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) — 說明 Settings > Admin > Connections、Docker 主機的 Ollama URL,以及可能的多連線負載平衡。選中的模型標籤本身不能證明路由。
- [Open WebUI v0.12.3 版本](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) — 本流程使用之版本標籤的官方穩定版本頁面。Docker 選擇平台映像檔;讀者記錄實際安裝的 digest。
- [Continue YAML 參考](https://docs.continue.dev/reference) — 定義必要頂層欄位 name/version/schema、模型欄位 name/provider/model,以及選用 apiBase 和 chat/edit 角色。流程避免使用已棄用 JSON 鍵。
- [Continue Local Config](https://docs.continue.dev/customize/deep-dives/configuration) — 說明 Mac 路徑 ~/.continue/config.yaml、Local Config 齒輪,以及儲存後自動重新整理。應保留現有設定。
- [Continue Edit 快速入門](https://docs.continue.dev/ide-extensions/edit/quick-start) — 說明對選取程式碼使用 Cmd+I Edit、串流行內 diff,以及 Mac 接受與拒絕快捷鍵。讀者必須審閱完整建議變更,並重新執行原始檢查。
- [Continue 離線指南](https://docs.continue.dev/guides/running-continue-without-internet) — 說明 Allow Anonymous Telemetry 控制項、本機模型選擇及 VS Code 重新啟動。不代表應用程式的所有流量都留在本機。
- [Docker Desktop 網路](https://docs.docker.com/desktop/features/networking/) — 說明 Docker Desktop 中的 host.docker.internal 及主機回送連接埠發布。能否存取此 Mac 上綁定回送介面的 Ollama 服務,仍須透過瀏覽器回覆檢查。
- [Docker Desktop Mac 安裝](https://docs.docker.com/desktop/setup/install/mac-install/) — 說明支援 Mac 的 Docker Desktop 安裝及基本資源;並不代表模型和應用程式的合併容量足夠。
- [Docker Desktop 授權](https://docs.docker.com/subscription-billing/desktop-license/) — 說明免費個人、教育及非商業開源用途,以及小型企業必須少於 250 名員工而且年營收低於 1,000 萬美元的條件;大型組織的專業用途與政府用途須付費。
- [Python 3 macOS 下載](https://www.python.org/downloads/macos/) — 讀者執行 JSON 和測試檔案檢查所需的 Python 3 官方安裝來源。BIG CHANGE 未為本文安裝或執行 Python。
- [Ollama API 規格](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) — 將 options.num_predict 定義為產生 token 的上限,用於將唯一一次本機聊天探測限制為 64;非空白回覆可能在句中結束。
- [VS Code Mac 設定](https://code.visualstudio.com/docs/setup/mac) — 說明在 Mac 上透過 Command Palette 手動安裝 code shell 命令,以及執行 code --version 前所需的終端機重新啟動。
BIG CHANGE 電子報
掌握全貌,按照自己的步調。
關於人工智慧和機器人技術的近期報導、值得關注的轉變,以及可運用的實用想法。選擇每日快訊、每週摘要或每月觀點。
下次預定寄送時間(UTC): . 確認訂閱後,您將在下一個預定寄送時間收到第一期電子報。