HelgeSverre/ollama-gui

A Web Interface for chatting with your local LLMs via the ollama API

Ollama GUI – 本地运行 LLM 的浏览器端聊天前端

是什么 – 一个单页 Web 应用,可与 Ollama 引擎提供的任意模型进行对话。UI 完全在浏览器中运行,不托管自己的后端。所有聊天记录都本地存储在浏览器的 IndexedDB 中,除非你将应用指向远程 Ollama 服务器,否则数据不会离开你的设备。

核心功能

  • 聊天体验 – 支持流式回复、停止生成、重新生成、编辑消息。每次编辑都会生成一个可回退的版本,任何回复都可以分支为新的对话。
  • “思考”模型 – 对于支持推理追踪的模型(如 qwen3、deepseek-r1、gpt-oss),UI 会显示一个可折叠的区块,展示模型内部的思维链。你可以开启/关闭该功能,或为 gpt-oss 调整努力程度。
  • 附件 – 可拖入图像供视觉模型(llava、gemma3)使用,或附加文本/代码文件;它们会与提示一起发送。
  • 模型管理 – 搜索 Ollama 模型库,选择大小,带进度下载,删除,检查功能,查看上下文长度,并从内存中卸载模型。
  • 精细设置 – 系统提示、温度、num_ctx、top_p、种子等,可全局、按模型或按聊天配置。
  • 历史记录 UI – 聊天按日期分组,可固定、归档、重命名、自动命名、全文搜索(⌘K)。
  • 丰富 Markdown – 支持语法高亮代码块、KaTeX 数学公式渲染。
  • 外观 – 支持浅色/深色主题,本地化日期与数字格式。
  • 导入/导出 – 将所有聊天导出为 JSON,或将单个聊天导出为 Markdown。

如何运行

  1. 本地安装 Ollama 并确保其正在监听(默认 http://localhost:11434)。
  2. 安装 Bun(或 Node 20)并克隆仓库。
  3. bun install && bun run dev – 开发服务器会将 /api 代理到 Ollama,无需修改 CORS 设置。
  4. 打开 http://localhost:5173。

部署选项

  • 静态构建 – bun run build 生成 dist/ 文件夹,可由任意 Web 服务器提供服务(提供 nginx 示例)。UI 仍直接与 Ollama 通信,可通过同源代理或跨源 URL 实现。
  • Docker – 预构建镜像使用 nginx 提供 UI,并将 /api 代理到 Ollama 实例。可使用提供的 docker-compose.yml 同时运行 Ollama 和 GUI,或仅运行 GUI 并指向外部 Ollama。
  • 托管演示 – Vercel 托管版本(https://ollama-gui.vercel.app)在将源添加到 OLLAMA_ORIGINS 后,可与本地 Ollama 实例配合使用。

开发与测试

  • 代码检查(bun run lint)、单元/集成测试(bun run test)、覆盖率、Playwright 端到端测试。特殊标志(OLLAMA_REAL=1)可在真实 Ollama 服务器上运行端到端测试。
  • 模型目录由独立爬虫从公开 Ollama 库生成;使用 bun run catalog:update 更新。

技术栈 – Vue 3 + Vite,Tailwind CSS,VueUse,Dexie(IndexedDB 封装),markdown-it,highlight.js,KaTeX,Tabler Icons。

许可证 – MIT。


简而言之,Ollama GUI 是一个经过打磨的、本地托管的 Web 前端,用于与任何由 Ollama 提供服务的 LLM 对话,支持版本化编辑、推理可视化、文件附件和完整的模型管理,无需额外服务器。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目