Open-WebUI—开箱即用的AI对话可视化神器

Open-WebUI—开箱即用的AI对话可视化神器

你是否曾兴奋地在本地部署了Ollama,却很快被冰冷的命令行和繁琐的指令劝退?是否羡慕ChatGPT那样优雅的聊天界面,却又希望数据能牢牢掌握在自己手中?OpenWebUI。这个在GitHub上狂揽 110,000 Stars 的明星项目,完美地解决了所有痛点

github地址: https://github.com/open-webui/open-webui

1.什么是Open WebUI?

Open WebUI 是一款专为大型语言模型(LLM)设计的 开源可视化交互框架,它通过简洁的Web界面,让用户无需编写代码即可与本地部署的AI模型/各大服务商提供大模型API(如DeepSeek、Llama、ChatGLM等)进行自然对话。其核心使命是 “让LLM私有化部署像打开浏览器一样简单” ,尤其适合需要快速搭建企业级AI平台或追求数据隐私的开发者。

2. 核心价值

  • 开箱即用:无需复杂的前端开发,快速搭建 AI 交互界面。完全开源,可自由部署、修改和二次开发,无商业使用限制。
  • 多模型支持:兼容 Ollama、OpenAI API(包括百炼、DeepSeek 等)。
  • 功能丰富:支持 RAG(检索增强生成)、多模态输入(文本、图片)、网络搜索等高级功能。支持对话历史管理、提示词模板、上下文连续对话、Markdown 渲染、代码高亮等实用功能。
  • 本地部署:数据完全存储在本地,保障隐私安全。

3. 功能概览

模块能力价值
模型管理多后端支持、模型下载/切换/加载、参数实时调整统一管理入口,灵活适配不同场景
交互体验类 ChatGPT 界面、代码高亮、Markdown 渲染、多会话管理降低使用门槛,提供流畅体验
知识管理文档上传、知识库构建、语义搜索、上下文增强利用私有数据提升回答准确性
高级功能工具调用、Web 搜索集成、提示词工作流、多模态支持扩展模型能力边界,实现任务自动化
用户管理多用户系统、角色权限控制、团队协作满足企业级部署需求,保障数据安全
部署隐私全离线、自托管、Docker 容器化、数据本地存储彻底掌控数据,保障隐私安全

4. 安装Ollama(Linux)

本次实验环境为 Rocky Linux , IP 地址配置为 192.168.31.254

打开终端,通过官方脚本安装 Ollama

curl -fsSL https://ollama.com/install.sh |sh

但是这个下载太慢,是因为国内访问 https://ollama.com/download 太慢,这里使用加速的方法:

# 下载安装脚本curl -fsSL https://ollama.com/install.sh -o ollama_install.sh # 给脚本添加执行权限chmod +x ollama_install.sh # 替换下载地址sed -i 's|https://github.com|https://gh-proxy.ygxz.in/https://github.com|g' ollama_install.sh # 开始安装sh ollama_install.sh 

也可以手动安装:

下载地址为: https://ollama.com/download/ollama-linux-amd64.tgz

这里使用手动安装的方式,先试用迅雷等下载工具,下载安装包,下载完毕后,上传到 Linux 系统 /usr/local/src目录下备用,完整文件为 : /usr/local/src/ollama-linux-amd64.tgz

# 进入目录cd /usr/local/src # 创建目录mkdir /usr/local/ollama # 解压到创建的目录tar -xzvf ollama-linux-amd64.tgz -C /usr/local/ollama # 创建运行用户和用户组sudouseradd -r -s /bin/false -U -m -d /usr/share/ollama ollama sudousermod -a -G ollama $(whoami)# 添加环境变量echo"PATH=$PATH:/usr/local/ollama/bin">> etc/profile # 环境变量生效source ect/profile 

配置Linux服务:

vim /etc/systemd/system/ollama.service 内容如下:

[Unit]Description=Ollama Service After=network-online.target [Service]ExecStart=/usr/local/ollama/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3Environment="OLLAMA_HOST=0.0.0.0"# 关键配置:允许外部访问[Install]WantedBy=multi-user.target 
# 重新载入配置sudo systemctl daemon-reload # 启动服务sudo systemctl start ollama # 查看状态sudo systemctl status ollama # 开机启动sudo systemctl enable ollama 

下载模型:

# 查看已安装的模型 ollama list # 拉取模型,这里作为演示,拉取的0.6b qw3模型,大概 523MB 左右 ollama pull qwen3:0.6b # 查看模型详情 ollama show qwen3:0.6b # 测试 curl http://localhost:11434/api/generate -d '{ "model": "qwen3:0.6b", "prompt":"介绍一下React,20字以内" }'

5. Open WebUI安装

Open WebUI 支持多种安装方式,推荐使用 Docker 部署(最简单高效),也可通过源码编译安装(适合需要定制开发的场景)。
执行命令:(假设服务器IP地址为192.168.31.254 在本机上运行), 服务器防火墙开放 3000端口。如果是做实验用,直接关闭防火墙

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main 
  • -p 3000:8080:将容器内 8080 端口映射到本地 3000 端口(本地端口可修改,如 -p 80:8080)。
  • -v open-webui:/app/backend/data:使用数据卷持久化对话历史、配置等数据,避免容器删除后数据丢失。
  • --restart always:设置容器开机自启。

浏览器打开: http://192.168.31.254:3000

6. Open WebUI基本使用

6.1 初次登录

首次访问 Open WebUI 时,需注册管理员账号(输入用户名、密码即可)。

创建完账号后,使用账号登录

6.2 配置

  • 禁用官方链接,如果不进行这一步,很有可能响应会非常慢,因为国内网络无法直接连上,所以系统会多次尝试, 操作路径: 管理员面板/设置/外部连接

修改本地Ollama 服务地址:

6.3 开始聊天

选择下载好的模型 :

Read more

【前端】前端面试题

【前端】前端面试题

前端面试题 闭包 1. 定义: 闭包(Closure) 是指一个函数能够访问并记住其外部作用域中的变量,即使外部函数已经执行完毕。闭包由两部分组成: * 一个函数(通常是内部函数)。 * 该函数被创建时所在的作用域(即外部函数的变量环境) functionouter(){let count =0;// 外部函数的变量functioninner(){ count++;// 内部函数访问外部变量 console.log(count);}return inner;}const counter =outer();counter();// 输出 1counter();// 输出 2 2. 闭包的核心原理 * 作用域链:函数在定义时,会记住自己的词法环境(即外部作用域)。当内部函数访问变量时,会沿着作用域链向上查找。 * 变量持久化:闭包使得外部函数的变量不会被垃圾回收,因为内部函数仍持有对它们的引用 3. 闭包的常见用途 3.1 私有变量封装 通过闭包隐藏内部变量,

【技术干货】用 Claude 4.6 直接“写”出可上线的前端 UI:从画布工具到代码工作流的升级思路

【技术干货】用 Claude 4.6 直接“写”出可上线的前端 UI:从画布工具到代码工作流的升级思路

摘要 本文从 Google Stitch 热度切入,对比“AI 画布式 UI 生成”与“代码内 UI 生成”两种路径,系统拆解如何用 Claude 4.6 + 前端设计规则,在真实代码库中迭代出可上线的 UI。附完整 Python API 调用示例与提示词模板,并结合多模型平台薛定猫 AI 的接入方式,帮助前端/全栈开发者把 AI UI 生成直接融入开发流水线。 一、背景:从“好看截图”到“可上线 UI” 当前 AI UI 方向大致两类路径: 1. 画布式设计工具 代表:Google Stitch

别再用 Electron 了!教你用 WebView2 实现 3MB 极致轻量化 Web 打包方案(附神器)

别再用 Electron 了!教你用 WebView2 实现 3MB 极致轻量化 Web 打包方案(附神器)

文章摘要:         你还在忍受 Electron 打包后动辄 100MB+ 的体积吗?你还在为本地 HTML 跨域(CORS)、源码保护、机器码授权而头秃吗?本文将带你体验微软新一代 WebView2 技术,并分享一款支持实时预览、全全局拖拽交互的打包神器。3MB 体积,1.5GB 大文件秒开,彻底解放前端生产力! 😱 为什么 2026 年了,我们还要逃离 Electron? 做前端桌面化开发,Electron 确实是老大哥,但它的缺点和优点一样明显: * 太胖了: 一个最简单的 Hello World,打包出来都要 150MB 起步。 * 太吃内存: 每个窗口都是一个 Chrome 进程,老爷机直接卡死。 * 开发繁琐: 想要实现“老板键”、“机器码授权”、“关机重启”,需要写大量的

基于.Net的Web API 控制器及方法相关注解属性

文章目录 * 1. 路由与 HTTP 方法 (`Microsoft.AspNetCore.Mvc` 命名空间) * 2. 参数绑定源 (`Microsoft.AspNetCore.Mvc` 命名空间) * 3. 响应类型与格式 (`Microsoft.AspNetCore.Mvc` 命名空间) * 4. 授权与认证 (`Microsoft.AspNetCore.Authorization` 命名空间) * 5. Swagger/OpenAPI 文档增强 (`Swashbuckle.AspNetCore.Annotations` 或 `Microsoft.AspNetCore.Mvc`) 这些属性主要用于定义 API 的路由、HTTP 方法、参数绑定、响应类型、授权、Swagger 文档等,通常位于控制器类或 Action