ollama-client
Shishir435/ollama-client加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的场景:深夜写代码,需要向 AI 请教一个架构问题,但不想把代码片段上传到云端 API。你的显卡跑着满血的 Llama 3,正在本地嘶吼着推理。这时你掏出手机 App 或打开一个网页,对接远程服务器……等等,为什么不直接在浏览器里和本地模型对话?
Ollama Client 就是来解决这个问题的。它是一个轻量级浏览器扩展,让你在 Chrome 或 Firefox 的侧边栏里直接与本地运行的 LLM 对话——不需要云端,不需要数据外传,所有对话历史、文件、设置都留在本地硬盘上。
Ollama Client 由独立开发者 Shishir435 构建和维护,仓库托管于 GitHub,已获得 61 颗星、11 个 Fork、MIT 许可证授权。项目主要标签涵盖 ollama、ollama-chatbot、chrome-extension、rag、react 等,瞄准的是本地化 AI 聊天加浏览器扩展这一细分赛道。
2024 年下半年开始,本地大模型推理工具(Ollama、LM Studio、llama.cpp)快速普及,但现有客户端要么是命令行界面不够直观,要么是 Electron 桌面应用太重。Ollama Client 填补了轻量浏览器侧边栏的空白。项目官方主页为 ollamaclient.in,提供详尽的配置指南和架构文档。
扩展安装在浏览器后,在任意页面都可以呼出侧边栏与本地模型对话。核心能力包括:
项目最令人眼前一亮的特性是浏览器上下文感知工具。具备工具调用能力(Function Calling)的模型可以:
这意味着,你可以一边看 GitHub Issue,一边让本地模型帮你分析代码、撰写回复——整个过程无需打开额外的 AI 聊天窗口,更不需要把页面内容粘贴到远程 API。
数据控制权完全在用户手中:对话历史、文件、向量索引默认存储在浏览器 IndexedDB 中;独立的隐私面板可查看所有存储数据;支持一键导出完整备份(JSON 格式);支持一键清除所有本地数据;对话可按标签分组管理,支持原地编辑消息,或分支出一条平行对话线。
内置支持 10 种语言界面(英语、中文简体、德语、法语、西班牙语、意大利语、日语、俄语、印地语),i18n 资源通过 public/_locales/ 目录管理,社区可轻松贡献翻译。
项目使用 TypeScript 作为主要开发语言,前端框架为 React 18,状态管理采用 Zustand(轻量级、极简 API)。本地存储层使用 Dexie(IndexedDB 封装),向量检索使用 MiniSearch 结合 HNSW(近似最近邻算法),Markdown 渲染基于 markdown-it 插件全家桶。
包管理器为 pnpm,使用 WXT(新一代浏览器扩展开发框架)替代传统 webpack/vite 配置,支持 Chrome 和 Firefox 双平台打包。
关键依赖:
@tanstack/react-query:服务端状态管理,处理 API 请求缓存和自动重试webextension-polyfill:跨浏览器扩展 API 兼容层sql.js:在浏览器中运行 SQLite,可存储结构化数据pdfjs-dist + mammoth:PDF / Word 文档解析@mozilla/readability:提取网页正文源码按功能模块划分在 src/ 目录下:
src/background/:Service Worker,处理所有后台任务(模型请求、文件拉取、上下文菜单、通知、调度任务等)src/background/handlers/:按功能拆分的事件处理器,如 handle-chat-with-model.ts(对话核心)、handle-embedding-download.ts(向量索引构建)、handle-model-pull.ts(模型拉取)src/background/lib/:工具函数库(内存管理、超时控制、错误处理、工具授权等)public/_locales/:多语言资源文件测试覆盖率高,单元测试、集成测试均有对应的 __tests__ 目录,测试框架使用 Vitest,端到端测试使用 Playwright。
这不是一个传统意义上的 Web 应用,而是浏览器扩展(Chrome Extension / Firefox Add-on)。用户从 Chrome Web Store 或 Firefox Add-ons 安装后,扩展自动注册为浏览器侧边栏工具。项目提供了 npm run package 和 npm run package:firefox 一键打包脚本,分别输出两个平台的发布包。
Chrome 用户直接访问 Chrome Web Store 一键安装;Firefox 用户从 Firefox Add-ons 获取。
http://localhost:11434)llama3、mistral)扩展运行在浏览器沙箱内,对话通过 HTTP 请求与本地 Ollama 通信。如果 Ollama 配置在远程服务器而非本机,延迟会受网络质量影响。本地推理本身也需要 GPU 显存或足够内存,Ollama Client 本身不解决模型运行效率问题。
虽然项目使用 webextension-polyfill 兼容多浏览器,但部分功能(如 Side Panel API)在 Firefox 上需要 Firefox 121+ 才能原生支持,旧版本浏览器可能无法使用侧边栏功能。
目前备份导出格式为 JSON,导入时需要手动操作,缺乏图形化的数据迁移引导。对重度用户而言,换设备时的数据迁移是一个需要手动处理的过程。
Ollama Client 的出现,反映了 2024-2025 年 AI 应用领域的一个核心趋势:隐私优先 + 本地化推理。随着 Llama、Mistral、Gemma 等开源模型质量接近 GPT-4 水平,用户越来越不愿意把敏感代码、商业文档发给远程 API。Ollama Client 用一个浏览器扩展的形态,将本地模型加 RAG 加浏览器上下文三者合一,给了一个轻量但完整的解决方案。
从工程角度看,项目代码质量可圈可点:TypeScript 严格模式、Vitest 测试覆盖、WXT 现代化构建、多平台发布管线、完整的 i18n 支持——这是一套可以长期维护的工程架构,而非临时凑数的脚本。