diff --git a/.github/README.md b/.github/README.md index 4456f246d..754d82343 100644 --- a/.github/README.md +++ b/.github/README.md @@ -114,7 +114,9 @@ | 🟢 | | Nginx UI | https://nginxui.com/ | 全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置 | | | 🟢 | | NocoDB | https://nocodb.com/ | 无代码数据库平台 | | | 🟢 | | NodeBB | https://nodebb.org/ | 一个更适合现代网络的社会平台 | | +| 🟢 | | Ollama | https://ollama.com/ | 一站式大模型部署平台 | | | 🟢 | | OneDev | https://onedev.io/ | DevOps 平台、带有 CI/CD、看板和软件包的 Git 服务器 | | +| 🟢 | | Open Webui | https://openwebui.com/ | 用户友好的 AI 界面 | | | 🟢 | | OutLine | https://www.getoutline.com/ | 快速、协作的团队知识库 | | | 🟢 | | overseerr | https://docs.overseerr.dev/ | 管理您的媒体库请求 | | | 🟢 | | PageSpy | https://www.pagespy.org/ | 开源调试平台 | | diff --git a/README.md b/README.md index 5294cee47..e30712b4f 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,9 @@ | 🟢 | | Nginx UI | https://nginxui.com/ | 全新的 Nginx 网络管理界面,旨在简化 Nginx 服务器的管理和配置 | | | 🟢 | | NocoDB | https://nocodb.com/ | 无代码数据库平台 | | | 🟢 | | NodeBB | https://nodebb.org/ | 一个更适合现代网络的社会平台 | | +| 🟢 | | Ollama | https://ollama.com/ | 一站式大模型部署平台 | | | 🟢 | | OneDev | https://onedev.io/ | DevOps 平台、带有 CI/CD、看板和软件包的 Git 服务器 | | +| 🟢 | | Open Webui | https://openwebui.com/ | 用户友好的 AI 界面 | | | 🟢 | | OutLine | https://www.getoutline.com/ | 快速、协作的团队知识库 | | | 🟢 | | overseerr | https://docs.overseerr.dev/ | 管理您的媒体库请求 | | | 🟢 | | PageSpy | https://www.pagespy.org/ | 开源调试平台 | | diff --git a/apps/ollama/0.5.7/data.yml b/apps/ollama/0.5.7/data.yml new file mode 100644 index 000000000..954c732e9 --- /dev/null +++ b/apps/ollama/0.5.7/data.yml @@ -0,0 +1,71 @@ +additionalProperties: + formFields: + - default: "/home/ollama" + edit: true + envKey: OLLAMA_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 11434 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 1 + edit: true + envKey: OLLAMA_MAX_LOADED_MODELS + labelZh: 最大加载模型数量 + labelEn: Maximum number of loaded models + required: true + rule: paramPort + type: number + - default: 512 + edit: true + envKey: OLLAMA_MAX_QUEUE + labelZh: 最大队列长度 + labelEn: Maximum queue length + required: true + rule: paramPort + type: number + - default: "1" + edit: true + envKey: OLLAMA_NUM_PARALLEL + labelZh: 并行推理数量 + labelEn: Number of parallel inferences + required: true + type: select + values: + - label: 1 + value: "1" + - label: 4 + value: "4" + - default: "f16" + edit: true + envKey: OLLAMA_KV_CACHE_TYPE + labelZh: 缓存类型 + labelEn: Cache type + required: true + type: select + values: + - label: f16 + value: "f16" + - label: q8_0 + value: "q8_0" + - label: q4_0 + value: "q4_0" + - default: "0" + edit: true + envKey: OLLAMA_FLASH_ATTENTION + labelZh: 启用 Flash Attention + labelEn: Enable Flash Attention + required: true + type: select + values: + - label: 启用 + value: "1" + - label: 禁用 + value: "0" diff --git a/apps/ollama/0.5.7/docker-compose.yml b/apps/ollama/0.5.7/docker-compose.yml new file mode 100644 index 000000000..0c8d6d8fc --- /dev/null +++ b/apps/ollama/0.5.7/docker-compose.yml @@ -0,0 +1,45 @@ +networks: + 1panel-network: + external: true + +services: + ollama: + image: ollama/ollama:0.5.7 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + deploy: + resources: + reservations: + devices: + - capabilities: + - gpu + devices: + - /dev/dri:/dev/dri + # - /dev/kfd:/dev/kfd + # - /dev/nvidia0:/dev/nvidia0 + # - /dev/nvidiactl:/dev/nvidiactl + # - /dev/nvidia-modeset:/dev/nvidia-modeset + # - /dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl + # - /dev/nvidia-uvm:/dev/nvidia-uvm + # - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools + # - /dev/video11:/dev/video11 + ports: + - ${PANEL_APP_PORT_HTTP}:11434 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${OLLAMA_ROOT_PATH}/data:/root/.ollama + environment: + - TZ=Asia/Shanghai + - OLLAMA_HOST=0.0.0.0 + - OLLAMA_PORT=11434 + - OLLAMA_MAX_LOADED_MODELS=1 + - OLLAMA_NUM_PARALLEL=1 + - OLLAMA_MAX_QUEUE=512 + - OLLAMA_FLASH_ATTENTION=0 + - OLLAMA_KV_CACHE_TYPE=f16 diff --git a/apps/ollama/0.5.7/envs/default.env b/apps/ollama/0.5.7/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/ollama/0.5.7/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/ollama/0.5.7/envs/global.env b/apps/ollama/0.5.7/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/ollama/0.5.7/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/ollama/0.5.7/scripts/init.sh b/apps/ollama/0.5.7/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/ollama/0.5.7/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/ollama/0.5.7/scripts/uninstall.sh b/apps/ollama/0.5.7/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/ollama/0.5.7/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/ollama/0.5.7/scripts/upgrade.sh b/apps/ollama/0.5.7/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/ollama/0.5.7/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/ollama/README.md b/apps/ollama/README.md new file mode 100644 index 000000000..6755732dd --- /dev/null +++ b/apps/ollama/README.md @@ -0,0 +1,96 @@ +# Ollama + +一站式大模型部署平台 + + + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 模型列表 + +Ollama支持可用的型号列表 [ollama.com/library](https://ollama.com/library 'Ollama 模型库) + +下面是一些可以下载的示例模型: + +| Model | Parameters | Size | Download | +|--------------------|------------|-------|----------------------------------| +| DeepSeek-R1 | 7B | 4.7GB | `ollama run deepseek-r1` | +| DeepSeek-R1 | 671B | 404GB | `ollama run deepseek-r1:671b` | +| Llama 3.3 | 70B | 43GB | `ollama run llama3.3` | +| Llama 3.2 | 3B | 2.0GB | `ollama run llama3.2` | +| Llama 3.2 | 1B | 1.3GB | `ollama run llama3.2:1b` | +| Llama 3.2 Vision | 11B | 7.9GB | `ollama run llama3.2-vision` | +| Llama 3.2 Vision | 90B | 55GB | `ollama run llama3.2-vision:90b` | +| Llama 3.1 | 8B | 4.7GB | `ollama run llama3.1` | +| Llama 3.1 | 405B | 231GB | `ollama run llama3.1:405b` | +| Phi 4 | 14B | 9.1GB | `ollama run phi4` | +| Phi 3 Mini | 3.8B | 2.3GB | `ollama run phi3` | +| Gemma 2 | 2B | 1.6GB | `ollama run gemma2:2b` | +| Gemma 2 | 9B | 5.5GB | `ollama run gemma2` | +| Gemma 2 | 27B | 16GB | `ollama run gemma2:27b` | +| Mistral | 7B | 4.1GB | `ollama run mistral` | +| Moondream 2 | 1.4B | 829MB | `ollama run moondream` | +| Neural Chat | 7B | 4.1GB | `ollama run neural-chat` | +| Starling | 7B | 4.1GB | `ollama run starling-lm` | +| Code Llama | 7B | 3.8GB | `ollama run codellama` | +| Llama 2 Uncensored | 7B | 3.8GB | `ollama run llama2-uncensored` | +| LLaVA | 7B | 4.5GB | `ollama run llava` | +| Solar | 10.7B | 6.1GB | `ollama run solar` | + +> 您应该至少有8 GB的RAM来运行7B型号,16 GB来运行13B型号,32 GB来运行33B型号。 + +## 基本命令 + +### 拉取一个模型 + +```sh +ollama pull llama3.2 +``` + +此命令也可用于更新本地模型。仅拉取差异。 + +### 移除一个模型 + +```sh +ollama rm llama3.2 +``` + +### 复制一个模型 + +```sh +ollama cp llama3.2 my-model +``` + +### 显示模型信息 + +```sh +ollama show llama3.2 +``` + +### 列出你电脑上的所有模型 + +```sh +ollama list +``` + +### 列出当前已加载的模型 + +```sh +ollama ps +``` + +### 停止正在运行的模型 + +```sh +ollama stop llama3.2 +``` + +### 启动 Ollama + +```sh +ollama serve +``` + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/ollama/data.yml b/apps/ollama/data.yml new file mode 100644 index 000000000..96a7a5f62 --- /dev/null +++ b/apps/ollama/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: ollama + name: Ollama + tags: + - WebSite + - AI + - Local + shortDescZh: 一站式大模型部署平台 + shortDescEn: Get up and running with large language models + type: website + crossVersionUpdate: true + limit: 0 + website: https://ollama.com/ + github: https://github.com/ollama/ollama/ + document: https://ollama.com/ diff --git a/apps/ollama/logo.png b/apps/ollama/logo.png new file mode 100644 index 000000000..213da6d82 Binary files /dev/null and b/apps/ollama/logo.png differ diff --git a/apps/open-webui/0.5.10/data.yml b/apps/open-webui/0.5.10/data.yml new file mode 100644 index 000000000..3c87483a6 --- /dev/null +++ b/apps/open-webui/0.5.10/data.yml @@ -0,0 +1,78 @@ +additionalProperties: + formFields: + - default: "/home/open-webui" + edit: true + envKey: OPEN_WEBUI_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "http://127.0.0.1:11434" + edit: true + envKey: OLLAMA_BASE_URL + labelZh: Ollama 服务地址 + labelEn: Ollama service address + required: true + type: text + - default: "" + edit: true + envKey: OLLAMA_BASE_URLS + labelZh: Ollama 负载均衡服务列表 + labelEn: Ollama load balancing service list + required: false + type: text + - default: "" + edit: true + envKey: WEBUI_SECRET_KEY + labelZh: 访问令牌密钥 + labelEn: Access token key + required: false + type: text + - default: "Open WebUI" + edit: true + envKey: WEBUI_NAME + labelZh: 应用名称 + labelEn: Application name + required: true + type: text + - default: "http://localhost:8080" + edit: true + envKey: WEBUI_URL + labelZh: 应用服务地址 + labelEn: Application service address + required: true + type: text + - default: "0" + edit: true + envKey: HF_HUB_OFFLINE + labelZh: 离线模式 + labelEn: Offline mode + required: true + type: select + values: + - label: 启用 + value: "1" + - label: 禁用 + value: "0" + - default: "" + edit: true + envKey: http_proxy + labelZh: 网络代理 + labelEn: Network proxy + required: false + type: text + - default: "" + edit: true + envKey: no_proxy + labelZh: 忽略代理 + labelEn: Ignore proxy + required: false + type: text diff --git a/apps/open-webui/0.5.10/docker-compose.yml b/apps/open-webui/0.5.10/docker-compose.yml new file mode 100644 index 000000000..75f14b1fa --- /dev/null +++ b/apps/open-webui/0.5.10/docker-compose.yml @@ -0,0 +1,42 @@ +networks: + 1panel-network: + external: true + +services: + open-webui: + image: ghcr.io/open-webui/open-webui:v0.5.10 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + deploy: + resources: + reservations: + devices: + - capabilities: + - gpu + devices: + - /dev/dri:/dev/dri + # - /dev/kfd:/dev/kfd + # - /dev/nvidia0:/dev/nvidia0 + # - /dev/nvidiactl:/dev/nvidiactl + # - /dev/nvidia-modeset:/dev/nvidia-modeset + # - /dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl + # - /dev/nvidia-uvm:/dev/nvidia-uvm + # - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools + # - /dev/video11:/dev/video11 + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${OPEN_WEBUI_ROOT_PATH}/data:/app/backend/data + environment: + - TZ=Asia/Shanghai + - PORT=8080 + - ENABLE_OLLAMA_API=True + - ENABLE_OPENAI_API=False + - https_proxy=${http_proxy} diff --git a/apps/open-webui/0.5.10/envs/default.env b/apps/open-webui/0.5.10/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/open-webui/0.5.10/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/open-webui/0.5.10/envs/global.env b/apps/open-webui/0.5.10/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/open-webui/0.5.10/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/open-webui/0.5.10/scripts/init.sh b/apps/open-webui/0.5.10/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/open-webui/0.5.10/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/open-webui/0.5.10/scripts/uninstall.sh b/apps/open-webui/0.5.10/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/open-webui/0.5.10/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/open-webui/0.5.10/scripts/upgrade.sh b/apps/open-webui/0.5.10/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/open-webui/0.5.10/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/open-webui/README.md b/apps/open-webui/README.md new file mode 100644 index 000000000..cf6207752 --- /dev/null +++ b/apps/open-webui/README.md @@ -0,0 +1,61 @@ +# Open Webui + +用户友好的 AI 界面 + +![Open Webui](https://file.lifebus.top/imgs/open-webui_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +Open WebUI 是一个可扩展的、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持各种 LLM 运行器,如 Ollama 和兼容 +OpenAI 的 API,内置 RAG 推理引擎,使其成为强大的 AI 部署解决方案。 + +## 特性 + +🚀 轻松设置:使用 Docker 或 Kubernetes(kubectl、kustomize 或 helm)无缝安装,以获得无烦恼的体验,支持带有:ollama和:cuda标签的镜像。 + +🤝 奥拉马/开放 AI API 集成:轻松集成与奥拉马模型兼容的 API,实现多功能的对话。自定义开放 AI API URL,以连接到 +LMStudio、GroqCloud、Mistral、OpenRouter 等。 + +🛡️ 细粒度权限和用户组:通过允许管理员创建详细的用户角色和权限,我们确保了一个安全用户环境。这种细粒度不仅增强了安全性,还允许定制用户体验,培养用户之间的所有权和责任感。 + +手机 响应式设计:在桌面电脑、笔记本电脑和移动设备上享受无缝体验。 + +手机 渐进式 Web 应用(PWA):使用我们的 PWA,在您的移动设备上享受原生应用般的体验,提供本地主机上的离线访问和无缝的用户界面。 + +✒️🔢 全 Markdown 和 LaTeX 支持:通过全面的 Markdown 和 LaTeX 功能提升您的 LLM 体验,丰富您的交互。 + +🎤📹 免提语音/视频通话:体验集成免提语音和视频通话功能的无缝通信,让您享受更加生动和互动的聊天环境。 + +🛠️ 模型构建器:通过 Web 界面轻松创建 Ollama 模型。创建和添加自定义角色/代理,自定义聊天元素,并通过开放 WebUI 社区集成轻松导入模型。 + +🐍 原生 Python 函数调用工具:通过工具工作区内置代码编辑器支持,增强您的 LLMs。通过简单添加您的纯 Python 函数,实现与 LLMs +的无缝集成。 + +📚 本地 RAG 集成:深入了解聊天交互的未来,利用突破性的检索增强生成(RAG)支持。此功能无缝将文档交互集成到您的聊天体验中。 +您可以直接将文档加载到聊天中,或将文件添加到您的文档库中,使用查询前的#命令轻松访问它们。 + +🔍 Web Search for RAG:使用 SearXNG、Google PSE、Brave Search、serpstack、serper、Serply、DuckDuckGo、TavilySearch、SearchApi 和 +Bing 等提供商进行网络搜索,并将结果直接注入到您的聊天体验中。 + +🌐 网页浏览功能:使用#命令后跟 URL,无缝将网站集成到您的聊天体验中。此功能允许您直接将网络内容融入对话中,增强您互动的丰富性和深度。 + +🎨 图像生成集成:无缝集成图像生成功能,使用 AUTOMATIC1111 API 或 ComfyUI(本地)以及 OpenAI 的 +DALL-E(外部)等选项,通过动态视觉内容丰富您的聊天体验。 + +⚙️ 多种模型对话:轻松同时与各种模型互动,利用它们的独特优势以获得最佳响应。通过并行利用多样化的模型集来提升您的体验。 + +基于角色的访问控制(RBAC):通过受限权限确保安全访问;只有授权人员可以访问您的 Ollama,且模型创建/提取的专属权限仅限于管理员。 + +🌐🌍 多语言支持:使用我们的国际化(i18n)支持,用您喜欢的语言体验 Open WebUI。加入我们,扩展我们的支持语言!我们正在积极寻找贡献者! + +🧩 管道,开放 WebUI 插件支持:通过管道插件框架无缝将自定义逻辑和 Python 库集成到 Open WebUI 中。启动您的管道实例,将 OpenAI +URL 设置为管道 URL,探索无限可能。示例包括函数调用、用户速率限制以控制访问、使用 Langfuse 等工具进行使用监控、与 +LibreTranslate 的实时翻译以支持多语言、有毒信息过滤等更多功能。 + +🌟 持续更新:我们致力于通过定期更新、修复和新功能来改进 Open WebUI。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/open-webui/data.yml b/apps/open-webui/data.yml new file mode 100644 index 000000000..a5fd6e98d --- /dev/null +++ b/apps/open-webui/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: open-webui + name: Open Webui + tags: + - WebSite + - AI + - Local + shortDescZh: 用户友好的 AI 界面 + shortDescEn: User-friendly AI interface + type: website + crossVersionUpdate: true + limit: 0 + website: https://openwebui.com/ + github: https://github.com/open-webui/open-webui/ + document: https://docs.openwebui.com/ diff --git a/apps/open-webui/logo.png b/apps/open-webui/logo.png new file mode 100644 index 000000000..63735ad46 Binary files /dev/null and b/apps/open-webui/logo.png differ