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

Root大虾 2026-01-14 00:48 1

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


先聊 CherryStudio



  • 优点:UI 设计确实审美在线,比 ChatBox 精致不少,而且多服务商、多模型的接入和切换非常方便,主打一个方便快捷,打开软件就能用。

  • 硬伤:对话历史的堆积,个人目前体验变得非常卡;最可惜的是缺乏原生多端同步


再说 OpenWebUI




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




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






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








^-^ 重点优化功能:



自定义上下文条数:可以设置发送给模型的历史消息上下文的数量,有效节省Token








增加清除上下文功能,对齐cherrystudio,实现当前对话中隔离上下文






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







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











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







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






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







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











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










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













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











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







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









使用方式:






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深度优化重新排列,修复原版杂乱的设置选项

  • 优化使用体验,使小白更加易上手使用

  • 深度优化内存占用,避免不必要的资源浪费









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






  1. OpenWebUI指南 ↩︎



最新回复 (19)
  • MidFlowers 01-14 00:50
    1

    大佬厉害!

  • Root大虾 楼主 01-14 00:51
    2

    终于写完了,睡觉睡觉 ^-^

  • 空气动力学 01-14 00:57
    3

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

  • 左兔君 01-14 01:03
    4

    太有用了

  • briysed 01-14 01:11
    5

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

  • Galaxyous 01-14 01:11
    6

    支持支持 ^-^

  • dddyyytttt 01-14 01:11
    7

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

  • 我不是娜美 01-14 01:12
    8

    太强了吧

  • Root大虾 楼主 01-14 01:15
    9



    以我的绿联NAS上的docker环境为例,刚测试一轮对话,占用基本在660M左右

  • takatorury🛡 01-14 01:19
    10

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

  • luos 01-14 01:20
    11

    CherryStudio确实很卡

  • Root大虾 楼主 01-14 01:21
    12

    好提议!已增加一键开启和关闭的开关,直接一键设置模型

  • Soff Chen 01-14 01:21
    13

    太强大了

  • Cry 01-14 01:26
    14

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

  • Schrödinger 01-14 01:30
    15

    关注下了

  • Misaka9981 01-14 01:32
    16

    有没有保留数据库模式

  • Wit_Cheng 01-14 01:34
    17

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

  • blacksein 01-14 01:35
    18

    题外话:

    佬用cherry卡的可以检查一下有没有自定义css搞了复杂动画。。。

    比如前几天我的:

    https://linux.do/t/topic/1421521

    一个css动画吃了大量cpu​^-^


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

  • Root大虾 楼主 01-14 01:59
    19

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

* 帖子来源Linux.do
返回