纠结 CherryStudio 和 OpenWebUI?我全都要!HaloWebUI开启测试

2026-04-11 08:101阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

现在的 AI 客户端简直是百花齐放,讨论相对较多的应该就属 CherryStudioOpenWebUI

先聊 CherryStudio

  • 优点:UI 设计确实审美在线,比 ChatBox 精致不少,而且多服务商、多模型的接入和切换非常方便,主打一个方便快捷,打开软件就能用。
  • 硬伤:对话历史的堆积,个人目前体验变得非常卡;最可惜的是缺乏原生多端同步

再说 OpenWebUI

  • 优点:走的是 Web 架构路线,界面复刻了 ChatGPT 的极简风格,上手几乎是零门槛。函数调用、知识库,还有高度可定制化的设置非常优秀,比如模型参数、权限、检索策略这类设置,很多客户端只是给个开关意思一下,它是给你一整套可控面板,当然还有我最需要的多端同步

  • 缺点:模型太多的时候就很不方便管理,而且不支持 Gemini 接口的原生接入。高度可自定义化也意味着默认体验未必最佳——你得自己调,调好了很爽,没调好就容易变成功能太多太杂,懒得去动的状态


但我想要是能把二者相结合岂不是绝杀?能的佬友,能的!

github.com

GitHub - ztx888/HaloWebUI: 基于官方OpenWebUI,汉化界面提高中文使用体验,增加了模型计费和用量统计

基于官方OpenWebUI,汉化界面提高中文使用体验,增加了模型计费和用量统计



重点优化功能:

自定义上下文条数:可以设置发送给模型的历史消息上下文的数量,有效节省Token
image1301×512 35.4 KB
image1334×384 21 KB


增加清除上下文功能,对齐cherrystudio,实现当前对话中隔离上下文
PixPin_2026-01-14_20-00-441424×971 52.9 KB


增加了 Responses API 传递支持,XHigh展示思维链,ChatGPT开启模型自带内置搜索

PixPin_2026-01-21_13-29-511025×801 88.7 KB


新增模型一键设置公开: 模型设置页增加一键切换公开私有,方便管理

PixPin_2026-01-15_13-49-30299×133 5.7 KB
image326×138 6.16 KB


模型管理: 外部连接页增加标签分类和模型管理功能,和cherrystudio一样方便添加模型

PixPin_2026-01-22_00-13-56885×882 66.3 KB


新增对话分支功能: 支持当前对话直接创建新分支到新窗口继续对话


Gemini 原生端口支持:不依赖 OpenAI 兼容层,直接走 Gemini 原生接口

PixPin_2026-01-21_02-26-33578×654 27.9 KB


外部连接显示优化:改成双列显示,管理效率直接拉满,标签排序方便分类收纳

PixPin_2026-01-20_12-30-071361×947 78.5 KB
PixPin_2026-01-23_22-40-25691×684 41.4 KB


图标 + 思考强度可选: 更加直观方便可选,增加常见图标

PixPin_2026-01-22_00-20-28374×458 20 KB

PixPin_2026-01-20_13-25-14310×341 17.4 KB


模型计费 + 用量统计前端同步info黑框:支持免费/按次/按量三种模式,实时计算对话成本

PixPin_2026-01-19_17-45-06402×269 4.93 KB
PixPin_2026-01-20_13-28-11296×220 5.66 KB



优化代码块展示:仿Mac风格,并优化原版字体和颜色,更加美化易读

PixPin_2026-01-21_21-04-21969×858 95.8 KB
image925×854 93.2 KB


新增图片连续编辑功能: 可以在对话中连续编辑图片,不会丢失原画面

PixPin_2026-01-20_00-48-22875×966 210 KB


设置优化:添加备注功能方便区分,列表中点击名称直接跳转到设置,再也不怕点错小齿轮,适合链接多的佬

PixPin_2026-01-21_02-27-23568×689 27.1 KB

PixPin_2026-01-14_12-57-30639×453 42.1 KB


使用方式:


Docker 一键部署【点击展开】

docker run -d \ --name open-webui \ --restart always \ -p 3000:8080 \ -v open-webui:/app/backend/data \ ghcr.io/ztx888/openwebui:latest

  • 浏览器访问:http://你的服务器IP:3000
  • 数据持久化在 Docker 卷:open-webui(用于重启或者更新的时候不丢配置和对话)

如果你本机没有 Docker 卷习惯,也可以改成本地目录挂载:

mkdir -p ./open-webui-data docker run -d \ --name open-webui \ --restart always \ -p 3000:8080 \ -v $(pwd)/open-webui-data:/app/backend/data \ ghcr.io/ztx888/openwebui:latest


pip + PM2部署【点击展开】

适合:不想用 Docker、不想折腾前端构建、就想稳定跑起来的佬。
优势:步骤少、更新方便、跟管理 Node 项目一样用 PM2 守护

注意:本包同时提供 open-webuiopen-webui-leon 两个命令。
为避免与官方包冲突,建议使用独立 venv 并优先用 open-webui-leon 命令

1、准备环境

  • Python:建议 3.11 或 3.12(不支持 3.13)
  • Node:仅用于装 PM2(装过的佬忽略)

2、创建目录 + venv + 安装

mkdir -p /opt/open-webui cd /opt/open-webui python3.11 -m venv venv source venv/bin/activate # 从 GitHub Release 安装(务必替换版本号!!!)⚠️ pip install https://github.com/ztx888/open-webui/releases/download/v0.7.3-7/open_webui_leon-0.7.3.post7-py3-none-any.whl

3、准备数据目录

mkdir -p /opt/open-webui/data

4、先手动跑一次确认

source /opt/open-webui/venv/bin/activate export DATA_DIR=/opt/open-webui/data open-webui-leon serve --host 0.0.0.0 --port 8080

浏览器访问:http://你的服务器IP:8080
确认能访问后按 Ctrl+C 停止,继续下一步

5、用 PM2 守护自动重启 + 日志

# 安装 PM2 npm i -g pm2 # 创建启动脚本(推荐方式) cat > /opt/open-webui/start.sh << 'EOF' #!/bin/bash cd /opt/open-webui source venv/bin/activate export DATA_DIR=/opt/open-webui/data export RAG_EMBEDDING_ENGINE=openai export ENABLE_MEMORIES=false exec open-webui-leon serve --host 0.0.0.0 --port 8080 EOF chmod +x /opt/open-webui/start.sh # 用 PM2 启动 pm2 start /opt/open-webui/start.sh --name open-webui --interpreter bash pm2 list pm2 logs open-webui pm2 save pm2 startup

环境变量说明

  • RAG_EMBEDDING_ENGINE=openai:节省 200-400MB 内存
  • ENABLE_MEMORIES=false:加快启动速度

更新方式(pip 版)

cd /opt/open-webui source venv/bin/activate pm2 stop open-webui # 从 GitHub Release 更新(务必替换版本号!!!) pip install https://github.com/ztx888/open-webui/releases/download/v0.7.3-7/open_webui_leon-0.7.3.post7-py3-none-any.whl pm2 restart open-webui pm2 logs open-webui

常用命令

pm2 status # 查看状态 pm2 logs open-webui # 查看日志 pm2 restart open-webui # 重启服务 pm2 stop open-webui # 停止服务


ARM 设备部署【点击展开】

本镜像针对 ARM64 架构设备(如 Raspberry Pi 4/5、NVIDIA Jetson、Apple M1/M2/M3、部分 Android 盒子)提供了独立构建版本。

提醒:树莓派请尽量使用 64 位系统(aarch64),否则无法运行 arm64 镜像。


1、拉取镜像

ARM 架构使用独立构建标签,请使用带 -arm64 后缀的镜像标签:

docker pull ghcr.io/ztx888/openwebui:latest-arm64


2、启动容器(Docker CLI)

最简单的启动方式:

docker run -d \ --name open-webui \ --restart always \ -p 3000:8080 \ -v open-webui:/app/backend/data \ ghcr.io/ztx888/openwebui:latest-arm64

启动后访问:

http://<你的设备IP>:3000

数据保存在 Docker Volume:

open-webui


3、使用 Docker Compose

如果你习惯用 docker-compose.yml 管理:

services: open-webui: image: ghcr.io/ztx888/openwebui:latest-arm64 container_name: open-webui ports: - "3000:8080" volumes: - open-webui:/app/backend/data restart: always volumes: open-webui:

启动命令:

docker compose up -d


常见问题

  • 为什么必须加 -arm64
    本项目的 latest 标签仅包含 amd64 架构。ARM 设备(树莓派、Mac M 系列等)必须使用 latest-arm64 标签,否则会出现 no matching manifest for linux/arm64 等错误。
  • Apple Silicon (M1/M2/M3) 用户说明:
    虽然 Docker Desktop 可能通过 Rosetta 模拟运行 amd64 镜像(通常更慢、占用更高),但建议使用 latest-arm64 以获得更好的原生性能与稳定性。
  • 内存要求:
    建议至少 4GB RAM。2GB 内存设备可能遇到 OOM导致容器启动失败或运行缓慢
  • 更新镜像:
    重新拉取并重启即可,命令如下:

docker pull ghcr.io/ztx888/openwebui:latest-arm64 docker restart open-webui


最后必须说一句

非常感谢各位公益站站长的付出和维护,真的帮各位佬省了太多折腾和成本。提供节点、反代、还是日常兜底运维,都很不容易,向各位站长致敬


遇到问题欢迎反馈

当前已知问题与佬友功能建议【持续更新】:目前最新镜像 v0.7.3-7版本

  • 深度优化启动速度,增加缓存机制,修复原版频繁请求模型列表、加载各种模型等不必要操作

  • 如在使用中遇到问题,欢迎佬友反馈复现条件与日志片段,便于我快速定位并持续优化

  • 如遇对话报错,建议优先查看报错信息,查阅相关帮助文档 [1] 或留言求助

  • 原版的OpenWebUI对话的兼容性过于严格,可能会出现不支持某些代理中转,项目初期,希望佬们多多反馈报错内容或使用感受,感谢佬们的支持和理解

下个版本更新预告:【欢迎佬们多多建议】

  • 对话输入框增加思考强度快捷调节,方便快捷
  • UI深度优化重新排列,修复原版杂乱的设置选项
  • 优化使用体验,使小白更加易上手使用
  • 深度优化内存占用,避免不必要的资源浪费

PixPin_2026-01-25_16-04-10368×184 4.88 KB
PixPin_2026-01-25_22-24-10346×279 11.4 KB


我会持续迭代同步官方上游更新,如果你装了之后遇到问题、或者有更想要的功能点,又或者是UI方面的建议,都非常欢迎反馈,i人可以私信交流。 什么?你问我为何如此上心?
image354×121 13.6 KB


  1. OpenWebUI指南 ↩︎

网友解答:
--【壹】--:

CherryStudio确实很卡


--【贰】--:

想了解一下内存占用情况如何


--【叁】--:

题外话:
佬用cherry卡的可以检查一下有没有自定义css搞了复杂动画。。。
比如前几天我的:
https://linux.do/t/topic/1421521
一个css动画吃了大量cpu​

画图的有些返回base64 非常巨大 那个窗口也会卡了


--【肆】--:

大佬厉害!


--【伍】--:

哦?这个我还真没注意哎!反正最近用的真的有点卡


--【陆】--:

支持支持


--【柒】--:

这个不错啊,!大晚上不睡看到好东西了


--【捌】--:

哇哦 大家快来看,这有个好东西


--【玖】--:

owui现在的问题就是模型管理太复杂了,权限还得一个个开


--【拾】--:

太强大了


--【拾壹】--:

终于写完了,睡觉睡觉


--【拾贰】--:

好提议!已增加一键开启和关闭的开关,直接一键设置模型
PixPin_2026-01-15_18-52-471052×221 52.2 KB


--【拾叁】--:

有没有保留数据库模式


--【拾肆】--:

先占个位置。看上去很有东西呀。


--【拾伍】--:

太强了吧


--【拾陆】--:

太有用了


--【拾柒】--:

star了,之前都是使用Cherrystudio的,不同设备用起来同步是个大问题,这个应该能解决吧(还没试过openwebui)


--【拾捌】--:

关注下了


--【拾玖】--:

PixPin_2026-01-14_01-15-03870×769 40.1 KB
以我的绿联NAS上的docker环境为例,刚测试一轮对话,占用基本在660M左右