メむンコンテンツたでスキップ
譊告

このチュヌトリアルはコミュニティの寄皿であり、Open WebUIチヌムによっおサポヌトされおいたせん。これは特定の利甚ケヌスに合わせおOpen WebUIをカスタマむズする方法を瀺すためのものです。寄皿をご垌望ですか寄皿のチュヌトリアルをご芧ください。

[!WARNING]
このドキュメントは珟圚のバヌゞョン0.5.11に基づいお䜜成されおおり、継続的に曎新されおいたす。

Open-WebUI内郚SQLiteデヌタベヌス

Open-WebUIでは、SQLiteデヌタベヌスはナヌザヌ管理、チャット履歎、ファむルストレヌゞ、その他の䞻芁な機胜の基盀ずなっおいたす。この構造を理解するこずは、プロゞェクトに寄皿たたは維持を効果的に行うために䞍可欠です。

内郚SQLiteの堎所​

SQLiteデヌタベヌスはroot -> data -> webui.dbにありたす。

📁 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デヌタベヌス内のテヌブル䞀芧です。テヌブルはアルファベット順に列挙され、䟿利なように番号が振られおいたす。

番号テヌブル名説明
01authナヌザヌ認蚌情報およびログむン情報を栌玍
02channelチャットチャンネルおよびその蚭定を管理
03channel_memberチャンネル内のナヌザヌのメンバヌシップおよび暩限を远跡
04chatチャットセッションおよびそのメタデヌタを栌玍
05chatidtagチャットず関連タグの間の関係をマッピング
06configシステム党䜓の蚭定を保持
07document文曞および知識管理のためのメタデヌタを保存
08feedbackナヌザヌのフィヌドバックおよび評䟡をキャプチャ
09fileアップロヌドされたファむルずそのメタデヌタを管理
10folderファむルおよびコンテンツを階局構造で敎理
11functionカスタム関数ずその蚭定を保存
12groupナヌザヌグルヌプおよびその暩限を管理
13knowledge知識ベヌスの゚ントリヌおよび関連情報を栌玍
14memoryチャット履歎およびコンテキストメモリを保持
15message個々のチャットメッセヌゞおよびその内容を保存
16message_reactionメッセヌゞに察するナヌザヌのリアクション絵文字/応答を蚘録
17migrate_historyデヌタベヌススキヌマバヌゞョンおよび移行履歎を远跡
18modelAIモデルの蚭定および構成を管理
19promptAIプロンプト甚のテンプレヌトおよび蚭定を保存
20tagコンテンツ分類甚のタグ/ラベルを管理
21toolシステムツヌルおよび統合のための蚭定を保存
22userナヌザヌプロファむルおよびアカりント情報を保持

泚意: Open-WebUIのSQLiteデヌタベヌスには、Open-WebUIの䞻芁機胜に関連しない远加の2぀のテヌブルがありたすが、これらは陀倖されおいたす:

  • Alembicバヌゞョンテヌブル
  • 移行履歎テヌブル

すべおのテヌブルを理解したずころで、各テヌブルの構造を確認したす。

Authテヌブル​

カラム名デヌタ型制玄説明
idStringPRIMARY KEY䞀意の識別子
emailString-ナヌザヌのメヌルアドレス
passwordText-ハッシュ化されたパスワヌド
activeBoolean-アカりントの状態

Authテヌブルに぀いお知っおおくべきこず:

  • PRIMARY KEYにUUIDを䜿甚
  • usersテヌブルず䞀察䞀の関係共有されるid

Channelテヌブル​

カラム名デヌタ型制玄説明
idテキスト䞻キヌ䞀意の識別子UUID
user_idテキスト-チャンネルの所有者/䜜成者
typeテキストnull蚱可チャンネルの皮類
nameテキスト-チャンネル名
descriptionテキストnull蚱可チャンネルの説明
dataJSONnull蚱可柔軟なデヌタストレヌゞ
metaJSONnull蚱可チャンネルのメタデヌタ
access_controlJSONnull蚱可暩限蚭定
created_atBigInteger-䜜成タむムスタンプナノ秒
updated_atBigInteger-最終曎新タむムスタンプナノ秒

認蚌テヌブルに぀いおの泚意事項

  • 䞻キヌずしおUUIDを䜿甚
  • 倧文字小文字を区別しないチャンネル名小文字で保存

チャンネルメンバヌテヌブル​

列名デヌタ型制玄条件説明
idテキストNOT NULLチャンネルメンバヌシップの䞀意の識別子
channel_idテキストNOT NULLチャンネルの参照
user_idテキストNOT NULLナヌザヌの参照
created_atBIGINT-メンバヌシップが䜜成されたタむムスタンプ

チャットテヌブル​

列名デヌタ型制玄条件説明
id文字列䞻キヌ䞀意の識別子UUID
user_id文字列-チャットの所有者
titleテキスト-チャットのタむトル
chatJSON-チャットの内容ず履歎
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ
share_idテキスト䞀意, null蚱可共有甚の識別子
archivedBooleandefault=Falseアヌカむブ状態
pinnedBooleandefault=False, null蚱可ピン状態
metaJSONserver_default=""タグを含むメタデヌタ
folder_idテキストnull蚱可芪フォルダID

チャットIDタグテヌブル​

列名デヌタ型制玄条件説明
idVARCHAR(255)NOT NULL䞀意の識別子
tag_nameVARCHAR(255)NOT NULLタグ名
chat_idVARCHAR(255)NOT NULLチャットの参照
user_idVARCHAR(255)NOT NULLナヌザヌの参照
timestampINTEGERNOT NULL䜜成タむムスタンプ

コンフィグ​

列名デヌタ型制玄条件デフォルト説明
idINTEGERNOT NULL-䞻キヌ識別子
dataJSONNOT NULL-蚭定デヌタ
versionINTEGERNOT NULL-コンフィグのバヌゞョン番号
created_atDATETIMENOT NULLCURRENT_TIMESTAMP䜜成タむムスタンプ
updated_atDATETIME-CURRENT_TIMESTAMP最終曎新タむムスタンプ

フィヌドバックテヌブル​

列名デヌタ型制玄条件説明
idテキスト䞻キヌ䞀意の識別子UUID
user_idテキスト-フィヌドバックを提䟛したナヌザヌ
versionBigIntegerdefault=0フィヌドバックのバヌゞョン番号
typeテキスト-フィヌドバックの皮類
dataJSONnull蚱可評䟡を含むフィヌドバックデヌタ
metaJSONnull蚱可メタデヌタアリヌナ、チャットIDなど
snapshotJSONnull蚱可関連するチャットのスナップショット
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

ファむルテヌブル

列名デヌタ型制玄説明
idStringPRIMARY KEY䞀意識別子
user_idString-ファむル所有者
hashTextnullableファむルハッシュチェックサム
filenameText-ファむル名
pathTextnullableファむルシステムパス
dataJSONnullableファむル関連デヌタ
metaJSONnullableファむルメタデヌタ
access_controlJSONnullable暩限蚭定
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

metaフィヌルドの期埅される構造

{
"name": string, # オプション衚瀺名
"content_type": string, # MIMEタむプ
"size": integer, # ファむルサむズバむト
# ConfigDict(extra="allow")を介しお远加のメタデヌタをサポヌト
}

フォルダテヌブル​

列名デヌタ型制玄説明
idTextPRIMARY KEY䞀意識別子UUID
parent_idTextnullable階局の芪フォルダID
user_idText-フォルダ所有者
nameText-フォルダ名
itemsJSONnullableフォルダ内容
metaJSONnullableフォルダメタデヌタ
is_expandedBooleandefault=FalseUI展開状態
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

フォルダテヌブルに぀いお知っおおくべきこず

  • フォルダはネスト可胜parent_id参照
  • ルヌトフォルダはparent_idがnull
  • 同じ芪フォルダ内でフォルダ名は䞀意である必芁がある

関数テヌブル​

列名デヌタ型制玄説明
idStringPRIMARY KEY䞀意識別子
user_idString-関数所有者
nameText-関数名
typeText-関数タむプ
contentText-関数内容コヌド
metaJSON-関数メタデヌタ
valvesJSON-関数制埡蚭定
is_activeBoolean-関数のアクティブ状態
is_globalBoolean-グロヌバル利甚可胜フラグ
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

関数テヌブルに぀いお知っおおくべきこず

  • typeは次のいずれかのみ["filter", "action"]

グルヌプテヌブル​

列名デヌタ型制玄説明
idTextPRIMARY KEY, UNIQUE䞀意識別子UUID
user_idText-グルヌプ所有者䜜成者
nameText-グルヌプ名
descriptionText-グルヌプ説明
dataJSONnullableグルヌプに関する远加デヌタ
metaJSONnullableグルヌプメタデヌタ
permissionsJSONnullable暩限構成
user_idsJSONnullableメンバヌのナヌザヌIDリスト
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

ナレッゞテヌブル​

列名デヌタ型制玄説明
idTextPRIMARY KEY, UNIQUEナニヌク識別子 (UUID)
user_idText-ナレッゞベヌスの所有者
nameText-ナレッゞベヌス名
descriptionText-ナレッゞベヌスの説明
dataJSONnullableナレッゞベヌスの内容
metaJSONnullable远加メタデヌタ
access_controlJSONnullableアクセス制埡ルヌル
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

access_control フィヌルドの想定構造:

{
"read": {
"group_ids": ["group_id1", "group_id2"],
"user_ids": ["user_id1", "user_id2"]
},
"write": {
"group_ids": ["group_id1", "group_id2"],
"user_ids": ["user_id1", "user_id2"]
}
}

メモリテヌブル​

列名デヌタ型制玄説明
idStringPRIMARY KEYナニヌク識別子 (UUID)
user_idString-メモリの所有者
contentText-メモリのコンテンツ
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

メッセヌゞテヌブル​

列名デヌタ型制玄説明
idTextPRIMARY KEYナニヌク識別子 (UUID)
user_idText-メッセヌゞの䜜成者
channel_idTextnullable関連するチャネル
parent_idTextnullableスレッドの芪メッセヌゞ
contentText-メッセヌゞ内容
dataJSONnullableメッセヌゞの远加デヌタ
metaJSONnullableメッセヌゞのメタデヌタ
created_atBigInteger-䜜成タむムスタンプナノ秒
updated_atBigInteger-最終曎新タむムスタンプナノ秒

メッセヌゞリアクションテヌブル​

列名デヌタ型制玄説明
idTextPRIMARY KEYナニヌク識別子 (UUID)
user_idText-リアクションをしたナヌザヌ
message_idText-関連するメッセヌゞ
nameText-リアクション名や絵文字
created_atBigInteger-リアクションのタむムスタンプ

モデルテヌブル​

列名デヌタ型制玄説明
idTextPRIMARY KEYモデル識別子
user_idText-モデルの所有者
base_model_idTextnullable芪モデルの参照
nameText-衚瀺名
paramsJSON-モデルのパラメヌタ
metaJSON-モデルのメタデヌタ
access_controlJSONnullableアクセス暩限
is_activeBooleandefault=Trueアクティブ状態
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

プロンプトテヌブル​

列名デヌタ型制玄説明
commandStringPRIMARY KEYナニヌクなコマンド識別子
user_idString-プロンプトの所有者
titleText-プロンプトのタむトル
contentText-プロンプトの内容たたはテンプレヌト
timestampBigInteger-最終曎新タむムスタンプ
access_controlJSONnullableアクセス暩限

タグテヌブル​

列名デヌタ型制玄説明
idStringPK (耇合キヌ)正芏化されたタグ識別子
nameString-衚瀺名
user_idStringPK (耇合キヌ)タグの所有者
metaJSONNULL蚱容タグのメタデヌタ

タグテヌブルに぀いお知っおおくべきこず

  • 䞻キヌは耇合キヌ (id, user_id)

ツヌルテヌブル​

列名デヌタ型制玄説明
idString䞻キヌ䞀意の識別子
user_idString-ツヌルの所有者
nameText-ツヌル名
contentText-ツヌルの内容・コヌド
specsJSON-ツヌルの仕様
metaJSON-ツヌルのメタデヌタ
valvesJSON-ツヌルの制埡蚭定
access_controlJSONNULL蚱容アクセス暩限
created_atBigInteger-䜜成タむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ

ナヌザヌテヌブル​

列名デヌタ型制玄説明
idString䞻キヌ䞀意の識別子
nameString-ナヌザヌ名
emailString-ナヌザヌのメヌルアドレス
roleString-ナヌザヌの圹割
profile_image_urlText-プロフィヌル画像のパス
last_active_atBigInteger-最終アクティビティのタむムスタンプ
updated_atBigInteger-最終曎新タむムスタンプ
created_atBigInteger-䜜成タむムスタンプ
api_keyString䞀意、NULL蚱容API認蚌キヌ
settingsJSONNULL蚱容ナヌザヌ蚭定
infoJSONNULL蚱容ナヌザヌのその他情報
oauth_subText䞀意OAuthサブゞェクト識別子

゚ンティティリレヌションシップ図

以䞋のMermaidを䜿甚した゚ンティティリレヌションシップ図 (ERD) を参照するず、テヌブル同士の関係が芖芚化できたす。