ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Page Assist 与 Ollama 深度集成指南:模型管理、免终端拉取与下载进度追踪全攻略

Page Assist 与 Ollama 深度集成指南:模型管理、免终端拉取与下载进度追踪全攻略 Page Assist 与 Ollama 深度集成指南模型管理、免终端拉取与下载进度追踪全攻略【免费下载链接】page-assistUse your locally running AI models to assist you in your web browsing项目地址: https://gitcode.com/GitHub_Trending/pa/page-assistPage Assist 是一套以本地 AI 模型为核心、运行在浏览器中的 AI 助手Web UI 与侧边栏面板而 Ollama 正是它的默认推理后端——你可以在浏览器里完成 Ollama 模型的查看、删除、重新拉取与取消下载甚至无需打开终端直接从 Ollama.com 或 Hugging Face 页面一键拉取模型到本地。本文将以docs/features/ollama.md为骨架结合仓库源码完整讲解 Page Assist 与 Ollama 的集成方式、三种免终端拉取模型的路径、下载进度的底层实现以及多实例连接的配置细节帮助你把这套本地 AI 工作流真正用起来。Ollama 在 Page Assist 中的定位开箱即用的默认后端Page Assist 被设计为与 Ollama 深度协作。其官方文档 docs/providers/ollama.md 明确指出只要你的 Ollama 运行在localhost:11434Page Assist 会自动检测到它无需任何配置。这一点在源码中有直接印证。src/services/ollama.ts中定义了默认地址常量const DEFAULT_OLLAMA_URL http://127.0.0.1:11434getOllamaURL()会在用户尚未自定义地址时自动回落到该默认值并在isOllamaRunning()中通过对该地址发起一次 HTTP 请求来探测 Ollama 服务是否存活src/services/ollama.ts的isOllamaRunning实现。整个 Web UI 的模型列表、聊天请求、拉取模型都会经由这一层服务封装访问 Ollama 的 REST API/api/tags、/api/delete、/api/pull等这也是后面所有功能的地基。提示如果你在连接 Ollama 时遇到问题请参考仓库内的 docs/connection-issue.md 连接问题排查指南。管理已拉取的 Ollama 模型原文档提供了最基础的管理入口操作步骤实际页面中还隐藏着更丰富的管理能力下面逐一展开。入口与操作步骤点击浏览器工具栏上的 Page Assist 图标进入 Web UI进入Settings设置进入Manage Models管理模型页面会列出你当前已经 pull 到本地的所有 Ollama 模型你可以直接在此处删除模型也可以执行重新拉取、启用/禁用、编辑设置、设置昵称等操作。模型表格包含哪些信息管理页面由 src/components/Option/Models/OllamaModelsTable.tsx 实现模型数据通过getAllModels()内部调用 Ollama 的GET /api/tags获取src/services/ollama.ts。表格中每一行展示列含义Nickname模型的显示昵称默认与模型名一致可点击铅笔图标修改通过ModelNicknameModalModel ID模型标识符例如qwen2.5:3b、llama3.1:8bDigest模型镜像摘要表格中做了截断显示前 5 位 ... 后 4 位鼠标悬停可查看完整值Modified At模型最近修改时间以相对时间展示如 2 days ago由 dayjs 计算Size模型占用磁盘大小经bytePerSecondFormatter格式化为人性化的容量文本点击任意一行的展开箭头还能看到该模型的底层细节来自/api/tags返回的details字段包括父模型parent_model、格式format如gguf、模型家族family、参数量parameter_size以及量化级别quantization_level——这对于判断一个 GGUF 模型的量化和架构非常直观。可执行的操作每行末尾的操作区提供 4 个按钮源码见OllamaModelsTable.tsx的 actions 列启用/禁用开关通过setModelState(modelId, isEnabled)写入本地 IndexedDBsrc/db/dexie/modelState.ts。被禁用的模型默认不会出现在聊天模型列表中除非显式设置includeDisabled: true。设置打开AddUpdateModelSettings可针对单个模型做细粒度参数调整。删除调用deleteModel()底层即DELETE /api/delete见 src/services/ollama.ts。删除成功后自动刷新模型列表如果删除的恰好是当前选中的模型还会把selectedModel置空避免后续引用一个不存在的模型。重新拉取Repull一键重新触发pull_model消息相当于在终端重新执行ollama pull 模型名。在原文档的基础操作之上这些表格信息与管理动作都来自真实源码实现你可以放心按上文操作。三种免终端拉取 Ollama 模型的方式原文档给出了三种完全不需要打开终端就能ollama pull的途径全部围绕同一个消息通道pull_model展开——UI 只要向扩展的 background 发送{ type: pull_model, modelName }后台服务就会代为完成下载见 src/entries/background.ts 的消息监听分支。方式一从 Page Assist Web UI 拉取这是最直接的方式操作路径与原文档一致进入Settings进入Manage Models点击Add New Model按钮在输入框中填入模型名输入框占位符默认为qwen2.5:3b可作为命名规范参考点击Pull Model开始下载。该弹窗由 src/components/Option/Models/AddOllamaModelModal.tsx 实现。源码中有一个体贴的细节提交前会自动清洗输入把误粘贴的ollama pull/ollama run命令前缀剥离只保留纯模型名再发给后台。例如你从别处复制了ollama run qwen2.5:3b粘贴进去也能正确识别为qwen2.5:3b。下载进行时弹窗内会显示CancelPullingModel组件src/components/Option/Models/CancelPullingModel.tsx展示当前正在下载的模型名与一个红色Cancel按钮点击后向后台发送cancel_download消息即可中止下载。方式二从 Ollama.com 一键拉取当你在浏览器中浏览 Ollama.com 的模型详情页时Page Assist 会注入一个专属的下载按钮打开 Ollama.com进入任意模型页面在模型使用方式区域复制按钮旁边会出现一个下载Pull图标按钮点击后浏览器会弹出确认框询问是否确实要在本地拉取该模型确认后下载进度会实时显示在浏览器工具栏的 Page Assist 扩展图标上badge。这一能力由内容脚本 src/entries/ollama-pull.content.ts 提供它声明只在*://ollama.com/*域名下生效allFrames: true。按钮注入逻辑在 src/utils/ollama-pull-inject.ts 中实现在模型页的section[data-usage-section]的 CLI 使用面板中紧挨复制按钮插入下载按钮同时遍历页面中所有input.command命令输入框为每个模型命令追加下载按钮点击按钮后先confirm()二次确认再通过browser.runtime.sendMessage({ type: pull_model, modelName })触发后台下载按钮注入前会检查document.getElementById(pa-download-cli)之类的标记避免重复插入。方式三从 Hugging Face 拉取 GGUF 模型对于在 Hugging Face 上以 GGUF 格式发布的模型Page Assist 也提供了直接拉取能力打开 huggingface.co进入任意模型页面在页面右侧点击Use this model并在弹层中选择Ollama选项在 Hugging Face 的弹窗中会出现一个Pull from Page Assist按钮点击它后续流程与方式二完全一致确认 → 下载 → 扩展图标显示进度。其实现位于 src/entries/hf-pull.content.ts内容脚本同样只在*://huggingface.co/*下运行。它的注入策略更激进通过MutationObserver监听 DOM 变化凡是新增节点中出现包含ollama run/ollama pull命令的pre代码块就在其附近注入下载按钮按钮点击后会从代码块文本中解析出ollama run/ollama pull之后的模型名兼容带select下拉选择的多行命令片段再发起pull_model消息。按钮文案 Pull from Page Assist 会明确提示该操作与 Hugging Face 网站本身无关模型将被拉取到你的本地 Ollama。下载进度的底层实现扩展图标上的实时状态机三种方式殊途同归最终都会汇聚到后台脚本的streamDownload()src/utils/pull-ollama.ts它直接向 Ollama 的/api/pull接口发送{ model, stream: true }的流式请求然后逐行解析 NDJSON 响应并把进度实时绘制在扩展图标上。这就是原文档所说下载进度可以在 Page Assist 图标上看到的完整原理场景图标显示底色下载中有 total/completed百分比如42%蓝色#0000FF下载中尚未进入传输阶段️白色#FFFFFF拉取成功✅绿色#00FF00拉取失败❌红色#FF0000用户取消⭕橙色#FFA500Ollama 未运行E红色#FF0000其中Ollama 未运行的E标识来自 src/entries/background.ts 的pull_model处理分支收到拉取请求后先调用isOllamaRunning()探测服务若未运行则直接显示红色E徽标并提示 Ollama is not running5 秒后自动清除。进度徽标会在任务结束后 5 秒自动消失clearBadge()不会一直霸占工具栏。取消下载的实现同样值得注意streamDownload内部用AbortController管理请求每读取一块数据都会检查cancelDownload标志位一旦发现用户点击取消cancel_download消息 →cancelDownload()立即abortController.abort()中断流式请求并切换图标为 ⭕。连接配置默认地址、URL 规范化与多 Ollama 实例默认地址与自动替换如开篇所述未配置时 Page Assist 使用http://127.0.0.1:11434作为 Ollama 地址src/services/ollama.ts中的DEFAULT_OLLAMA_URL。当你通过设置页保存自定义地址时setOllamaURL()还会做一个实用转换把http://localhost:前缀自动改写为http://127.0.0.1:规避部分环境下localhost解析如 IPv6导致连接失败的问题。配置多个 Ollama 实例原文档 docs/providers/ollama.md 补充了多实例接入方式——Page Assist 通过「OpenAI 兼容 API」通道来管理多个自定义后端点击浏览器工具栏上的 Page Assist 图标点击Settings图标进入设置切换到OpenAI Compatible API选项卡点击Add Provider添加提供方按钮在下拉列表中选择Ollama填入该实例的Ollama URL点击Save保存。关键点你不需要手动添加模型——Page Assist 会自动从该 Ollama 实例拉取全部模型列表即走getAllModels()的/api/tags逻辑并合并展示到模型选择器中。这也解释了为什么Manage Models页面底部分页还带有跳转 Ollama 模型搜索页的链接Get more models from Ollama方便你发现新模型后直接回来拉取。常见问题速查扩展图标显示红色EOllama 服务未启动或地址不可达请先在本机启动 Ollamaollama serve或启动桌面应用确认http://127.0.0.1:11434可访问。列表为空检查Manage Models页的模型开关是否全部被禁用getAllModels默认只返回启用模型或参考 docs/connection-issue.md 排查。下载一直停在 ️模型较大或网络较慢时Ollama 需要先解析 manifest 并分配存储属于正常状态若长时间无进展可点击取消后重试。相关源码与文档索引如果你想进一步深入这套集成的实现细节仓库内可直接查阅功能文档docs/features/ollama.md、提供方接入说明 docs/providers/ollama.md、连接排障 docs/connection-issue.md模型管理 UIsrc/components/Option/Models/OllamaModelsTable.tsx、src/components/Option/Models/AddOllamaModelModal.tsx、src/components/Option/Models/index.tsxOllama 服务封装src/services/ollama.ts/api/tags、/api/delete、URL 管理、默认地址下载与进度src/utils/pull-ollama.tsstreamDownload、badge 状态机、取消、src/entries/background.tspull_model/cancel_download消息处理网页注入脚本src/entries/ollama-pull.content.ts src/utils/ollama-pull-inject.tsOllama.com 按钮、src/entries/hf-pull.content.tsHugging Face 按钮至此你已经掌握了 Page Assist 管理本地 Ollama 模型、通过三种免终端途径拉取模型、实时追踪下载进度以及接入多个 Ollama 实例的完整方案。从 Web UI 到模型详情页所有操作都围绕本地推理展开既保留了 Ollama 的隐私与离线优势又把模型生命周期管理收敛到了浏览器里。【免费下载链接】page-assistUse your locally running AI models to assist you in your web browsing项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表