OpenWebUI(1)源码学习构建
1. 前言
通过docker镜像拉取安装就不介绍了,官方的命令很多。本节主要撸一撸源码,所以,本地构建
2. 技术框架和启动环境
后端python,前端svelte
环境要求:python > = 3.11 ,Node.js > = 20.10
3. 源码目录
3.1 根目录
目录说明
- backend目录:后端代码目录,包含API服务、数据库操作等
- cypress 目录:包含Cypress测试框架的配置和测试脚本,用于端到端测试
- docs 目录:文档目录,包含项目说明、安全指南等。
- kubernetes : 包含Kubernetes部署配置文件。
- scripts : 包含各种脚本文件,用于自动化部署、测试或其他任务的脚本。
- src :前端代码目录,存放Svelte组件和相关资源的地方。
- static : 静态文件目录,如图片、CSS、客户端JavaScript等。
- test/test_files/image_gen : 测试目录下的子目录,包含用于测试的图像生成器。
3.2. 后端目录
- data文件夹:用于存储后端服务需要的数据文件,如数据库、文档等
- open-webui文件夹:包含后端服务的主要代码和配置文件
- dev.sh:用于本地开发环境的启动脚本
- start.sh 和 start_windows.bat - 用于启动后端服务的脚本,分别适用于类Unix系统和Windows系统。
3.3 前端目录
- lib:包含可重用的JavaScript或Svelte组件、工具函数、实用程序等
- routes:包含Svelte路由文件,用于定义应用程序的页面路由。
- app.css:包含全局样式表,定义了样式重置、通用样式或主题。
- app.d.ts:TypeScript的声明文件,用于为项目提供类型定义。
- app.html:项目的HTML模板文件,通常是应用程序的入口点。
- tailwind.css:使用Tailwind CSS时的全局样式文件
待续:
Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)_openwebui二次开发-CSDN博客