把 Ollama 接到浏览器:安装配置与 CORS 修复
PageGrok 通过本地 HTTP API 与 Ollama 通信。大多数机器上开箱即用——安装 Ollama、拉取模型,PageGrok 就能立刻发现。这篇指南覆盖完整安装流程,以及唯一可能卡住的问题:CORS。
安装 Ollama
从 ollama.com 下载并安装。
- macOS:下载 .dmg,或
brew install ollama - Windows:从官网下载安装程序
- Linux:
curl -fsSL https://ollama.com/install.sh | sh
安装后验证:
ollama --version
拉取模型
在 ollama.com/search 选一个模型并拉取:
ollama pull gemma4
适合浏览器阅读场景的推荐:
gemma4— 快速、均衡qwen3.5— 多语言能力强mistral-small— 小巧高效deepseek-r1— 适合需要推理的页面
不确定你的机器能跑哪个?去 canirun.ai 查。
启动服务
ollama serve
API 启动在 http://127.0.0.1:11434。验证是否运行:
curl http://127.0.0.1:11434
应看到 Ollama is running。
macOS 上如果安装的是桌面版,从应用程序里启动就会自动开服务——看菜单栏是否出现 Ollama 图标。
连接 PageGrok
- 从 Chrome 应用商店安装 PageGrok
- 打开任意网页,点击 PageGrok 图标
- 你的 Ollama 模型会自动出现在模型选择器里
大多数用户到这里就完成了。如果模型列表为空或看到错误,继续往下看 CORS 部分。
修复 CORS 错误
Chrome 扩展从 chrome-extension:// 来源发请求。Ollama 需要被告知允许这个来源。
什么时候需要? 较新版本的 Ollama(0.5+)默认处理扩展请求。只有 PageGrok 显示“连接失败”或“CORS 错误”时才需要设置。
macOS / Linux
启动 Ollama 前设置环境变量:
OLLAMA_ORIGINS="chrome-extension://*" ollama serve
永久生效,加到 shell 配置文件(~/.zshrc 或 ~/.bashrc):
export OLLAMA_ORIGINS="chrome-extension://*"
如果 Ollama 在 Linux 上以 systemd 服务运行:
sudo systemctl edit ollama
在 [Service] 下添加:
Environment="OLLAMA_ORIGINS=chrome-extension://*"
然后重启:
sudo systemctl restart ollama
Windows
在系统设置 → 环境变量中设置,或在 PowerShell 里:
$env:OLLAMA_ORIGINS = "chrome-extension://*"
ollama serve
验证 CORS 是否生效
设置 OLLAMA_ORIGINS 后重启 Ollama,检查:
curl -I -H "Origin: chrome-extension://test" http://127.0.0.1:11434/api/tags
响应应包含 Access-Control-Allow-Origin。如果有,PageGrok 就能连接了。
常见问题排查
| 症状 | 原因 | 解决 |
|---|---|---|
| “连接被拒绝” | Ollama 没在运行 | 执行 ollama serve 或启动桌面版 |
| “CORS 错误”或“获取失败” | 扩展来源被拦截 | 设置 OLLAMA_ORIGINS=chrome-extension://* 并重启 |
| 模型列表为空 | 没有拉取模型 | 执行 ollama pull <model> |
| 第一次回复非常慢 | 模型正在加载到内存 | 暂停后首次提问等 10-30 秒 |
| “模型未找到” | 模型名拼错或未拉取 | 用 ollama list 查看准确名称 |
使用远程 Ollama 服务器
如果你在另一台机器(GPU 工作站、家庭服务器)上运行 Ollama,可以让 PageGrok 指向它:
- 在远程机器上启动 Ollama:
OLLAMA_HOST=0.0.0.0 OLLAMA_ORIGINS="chrome-extension://*" ollama serve
- 在 PageGrok 设置里,把端点改为
http://<远程IP>:11434
确保远程机器防火墙放行 11434 端口。数据在你的本地网络内传输——如果远程机器在不同网络,建议用 VPN 或 SSH 隧道确保安全。
常见问题
PageGrok 提示「连接被拒绝」怎么办?
Ollama 没在运行。打开终端执行 `ollama serve`,然后重试。如果你在 macOS 上安装的是桌面版,确认菜单栏出现了 Ollama 图标——那表示服务已启动。
OLLAMA_ORIGINS 是什么,为什么需要它?
OLLAMA_ORIGINS 是一个环境变量,告诉 Ollama 哪些来源可以发起跨域请求。Chrome 扩展从 chrome-extension:// 地址发请求,Ollama 默认会拦截。设置 OLLAMA_ORIGINS=chrome-extension://* 就能允许 PageGrok 等扩展连接。
用 PageGrok 还需要设 OLLAMA_ORIGINS 吗?
大多数情况下不用。Ollama 0.5 以上版本默认允许浏览器扩展的 localhost 请求。只有在 PageGrok 面板里看到 CORS 错误时才需要设置。
能用远程 Ollama 服务器吗?
可以。在 PageGrok 设置里把 API 地址从 http://127.0.0.1:11434 改成远程服务器地址。远程 Ollama 需要设置 OLLAMA_HOST=0.0.0.0 和相应的 OLLAMA_ORIGINS。
相关指南
- 浏览器里的本地 AI:用 Ollama 跟任意网页对话 — 把 Ollama、LM Studio 或 oMLX 里的本地模型接到你正在看的网页。安装、推荐模型、使用场景和真实局限。
- 用 LM Studio 搭配浏览器扩展:配置指南 — 把 LM Studio 的本地 AI 服务器接到 Chrome 扩展。如何启动本地服务、配置端点、以及在 LM Studio 和 Ollama 之间切换。