数据库 Schema
注意
本教程是社区贡献,不受 Open WebUI 团队支持。它仅作为如何针对特定用例定制 Open WebUI 的演示。想做出贡献?请查看贡献教程。
[!WARNING] 本文档反映了截至 Open WebUI v0.9.6 的 schema 更改。
Open-WebUI 内部 SQLite 数据库
对于 Open-WebUI,SQLite 数据库充当用户管理、聊天历史、文件存储和各种其他核心功能的骨干。了解此结构对于任何希望有效地做出贡献或维护该项目的人来说都是必不可少的。
内部 SQLite 位置
你可以在 root -> data -> webui.db 找到 SQLite 数据库
📁 Root (/)
├── 📁 data
│ ├── 📁 cache
│ ├── 📁 uploads
│ ├── 📁 vector_db
│ └── 📄 webui.db
├── 📄 dev.sh
├── 📁 open_webui
├── 📄 requirements.txt
├── 📄 start.sh
└── 📄 start_windows.bat本地复制数据库
如果你想将容器中运行的 Open-WebUI SQLite 数据库复制到本地机器,可以使用 :
docker cp open-webui:/app/backend/data/webui.db ./webui.db或者,你可以使用以下命令在容器内访问数据库:
docker exec -it open-webui /bin/sh表概览
以下是 Open-WebUI SQLite 数据库中所有表的完整列表。为方便起见,各表按字母顺序排列并编号。
| 编号 | 表名 | 描述 |
|---|---|---|
| 01 | access_grant | 存储所有资源的标准化访问控制授权 |
| 02 | auth | 存储用户认证凭据和登录信息 |
| 03 | calendar | 存储用户拥有的带访问控制的日历 |
| 04 | calendar_event | 存储支持重复 (RRULE) 的日历事件 |
| 05 | calendar_event_attendee | 跟踪共享日历事件的参与者 RSVP 状态 |
| 06 | channel | 管理聊天频道及其配置 |
| 07 | channel_file | 将文件链接到频道和消息 |
| 08 | channel_member | 跟踪频道内的用户成员资格和权限 |
| 09 | chat | 存储聊天会话及其元数据 |
| 10 | chat_file | 将文件链接到聊天和消息 |
| 11 | chatidtag | 映射聊天与其关联标签之间的关系 |
| 12 | config | 维护系统范围的配置设置 |
| 13 | document | 存储文档及其元数据以进行知识管理 |
| 14 | feedback | 捕获用户反馈和评分 |
| 15 | file | 管理上传的文件及其元数据 |
| 16 | folder | 将文件和内容组织成分层结构 |
| 17 | function | 存储自定义 Function 及其配置 |
| 18 | group | 管理用户组及其权限 |
| 19 | group_member | 跟踪组内的用户成员资格 |
| 20 | knowledge | 存储知识库条目及相关信息 |
| 21 | knowledge_file | 将文件链接到知识库 |
| 22 | memory | 维护聊天历史和上下文记忆 |
| 23 | message | 存储单个聊天消息及其内容 |
| 24 | message_reaction | 记录用户对消息的反应(表情/响应) |
| 25 | migrate_history | 跟踪数据库 schema 版本和迁移记录 |
| 26 | model | 管理 AI 模型配置和设置 |
| 27 | note | 存储用户创建的笔记和注释 |
| 28 | oauth_session | 管理用户的活动 OAuth 会话 |
| 29 | prompt | 存储 AI 提示词的模板和配置 |
| 30 | prompt_history |