🌍 環境變數配置
概述
Open WebUI 提供大量的環境變數,允許您自定義和配置應用程序的各種方面。本頁面作為所有可用環境變數的全面參考,提供其類型、默認值和描述。 隨著新變數的引入,本頁面將更新以反映越來越多的配置選項。
本頁面與 Open WebUI 發布版本 v0.6.9 保持同步,但仍在進行改進以後期包含更準確的描述,列出環境變數的可用選項、默認值並改善描述。
《PersistentConfig》環境變數的重要說明
首次啟動 Open WebUI 時,所有環境變數被平等地對待並可用於配置應用程序。然而,對於標記為《PersistentConfig》的環境變數,其值將被持久化並存儲於內部。
在首次啟動後,如果您重啟容器,《PersistentConfig》環境變數將不再使用外部的環境變數值,而是使用內部存儲的值。
相比之下,普通環境變數在每次重啟後將繼續被更新和應用。
您可以直接從 Open WebUI 中更新《PersistentConfig》環境變數的值,這些更改將存儲於內部。這使您可以獨立於外部環境變數管理這些配置設置。
請注意,《PersistentConfig》環境變數在下面的文檔中有明確標記,以便您了解它們的行為方式。
應用程序/後端
以下環境變數由 backend/open_webui/config.py
使用,以提供 Open WebUI 啟動配置。請注意,某些變數的默認值可能會因您直接運行 Open WebUI 或通過 Docker 運行而有所不同。有關日誌環境變數的 更多信息,請參閱我們的日誌文檔。
通用
WEBUI_URL
- 類型:
str
- 默認值:
http://localhost:3000
- 描述: 指定 Open WebUI 可被訪問的 URL。目前用於搜索引擎支持。
- 持久性: 此環境變數是《PersistentConfig》變數。
ENABLE_SIGNUP
- 類型:
bool
- 默認值:
True
- 描述: 切換用戶賬戶創建功能。
- 持久性: 此環境變數是《PersistentConfig》變數。
ENABLE_LOGIN_FORM
- 類型:
bool
- 默認值:
True
- 描述: 切換電子郵件、密碼、登錄表單以及 "or" 元素 (僅當
ENABLE_OAUTH_SIGNUP
設置為 True 時生效)。 - 持久性: 此環境變數是《PersistentConfig》變數。
只有在 ENABLE_OAUTH_SIGNUP 也被使用且設定為 True
時,才應該設置為 False
。否則可能導致無法登錄。
DEFAULT_LOCALE
- 類型:
str
- 默認值:
en
- 描述: 設置應用程序的默認語言環境。
- 持久性: 此環境變數是《PersistentConfig》變數。
DEFAULT_MODELS
- 類型:
str
- 默認值: 空字符串 ( ),表示
None
。 - 描述: 設置默認語言模型。
- 持久性: 此環境變數是《PersistentConfig》變數。
DEFAULT_USER_ROLE
- 類型:
str
- 選項:
pending
- 新用戶處於待審狀態,直到其賬戶由管理員手動激活。user
- 新用戶將自動激活,並擁有普通用戶權限。admin
- 新用戶將自動激活,並擁有管理員權限。
- 默認值:
pending
- 描述: 設置分配給新用戶的默認角色。
- 持久性: 此環境變數是《PersistentConfig》變數。
PENDING_USER_OVERLAY_TITLE
- 類型:
str
- 默認值: 空字符串 ( )
- 描述: 設置待審用戶界面的自定義標題。
- 持久性: 此環境變數是《PersistentConfig》變數。
PENDING_USER_OVERLAY_CONTENT
- 類型:
str
- 默認值: 空字符串 ( )
- 描述: 設置待審用戶界面的自定義文本內容。
- 持久性: 此環境變數是《PersistentConfig》變數。
ENABLE_CHANNELS
- 類型:
bool
- 默認值:
False
- 描述: 啟用或禁用通道支持。
- 持久性: 此環境變數是《PersistentConfig》變數。
WEBHOOK_URL
-
類型:
str
-
描述: 設定用於與 Discord/Slack/Microsoft Teams 集成的 Webhook。
-
持續性: 此環境變數為
PersistentConfig
變數。
ENABLE_ADMIN_EXPORT
- 類型:
bool
- 預設值:
True
- 描述: 控制管理員用戶是否可以導出資料。
ENABLE_ADMIN_CHAT_ACCESS
- 類型:
bool
- 預設值:
True
- 描述: 允許管理員用戶訪問所有聊天。
ENABLE_USER_WEBHOOKS
- 類型:
bool
- 預設值:
True
- 描述: 啟用或禁用用戶的 webhook 功能。
- 持續性: 此環境變數為
PersistentConfig
變數。
RESPONSE_WATERMARK
- 類型:
str
- 預設值: 空字串 ( )
- 描述: 設置一個自定義文字,當您在聊天中複製消息時將被包含。例:
"此文字為 AI 生成"
-> 將在每次複製消息時添加 "此文字為 AI 生成"。 - 持續性: 此環境變數為
PersistentConfig
變數。
THREAD_POOL_SIZE
- 類型:
int
- 預設值:
0
- 描述: 設置 FastAPI/AnyIO 阻塞調用的線程池大小。默認情況下(設為 0)FastAPI/AnyIO 使用
40
個線程。在大型實例和大量並發用戶的情況下,可能需要增加THREAD_POOL_SIZE
以防止阻塞。
SHOW_ADMIN_DETAILS
- 類型:
bool
- 預設值:
True
- 描述: 切換是否在界面中顯示管理員用戶詳細資訊。
- 持續性: 此環境變數為
PersistentConfig
變數。
ADMIN_EMAIL
- 類型:
str
- 描述: 設置由
SHOW_ADMIN_DETAILS
顯示的管理員電子郵件。 - 持續性: 此環境變數為
PersistentConfig
變數。
ENV
- 類型:
str
- 選項:
dev
- 在/docs
啟用 FastAPI 的 API 文檔prod
- 自動配置多個環境變數
- 預設值:
- 後端默認值:
dev
- Docker 默認值:
prod
- 後端默認值:
- 描述: 環境設置。
ENABLE_PERSISTENT_CONFIG
- 類型:
bool
- 預設值:
True
- 描述: 如果設為
False
,所有PersistentConfig
變數將被視為普通變數。
CUSTOM_NAME
- 類型:
str
- 描述: 設置
WEBUI_NAME
,但從 api.openwebui.com 獲取元數據。
WEBUI_NAME
- 類型:
str
- 預設值:
Open WebUI
- 描述: 設置主要的 WebUI 名稱。如果被覆蓋,則附加
(Open WebUI)
。
PORT
- 類型:
int
- 預設值:
8080
- 描述: 設置運行 Open WebUI 的埠。
如果您通過 Python 運行應用程序並使用 open-webui serve
命令,則無法使用 PORT
配置設置埠。相反,您必須使用命令行參數直接指定埠,方法是使用 --port
標誌。例如:
open-webui serve --port 9999
這將在埠 9999
運行 Open WebUI。在此模式下,PORT
環境變數將被忽略。
ENABLE_REALTIME_CHAT_SAVE
- 類型:
bool
- 預設值:
False
- 描述: 啟用時,系統會將每塊流式聊天數據即時保存到數據庫以確保最大數據持久性。此功能提供了健全的數據恢復能力並允許準確的會話跟蹤。但此功能的副作用是增加延遲,因為保存到數據庫會引入延遲。禁用該功能可以提升性能並減少延遲,但在系統故障或崩潰期間可能會有數據丟失的風險。請根據您的應用需求和可接受的權衡使用。
BYPASS_MODEL_ACCESS_CONTROL
- 類型:
bool
- 預設值:
False
- 描述: 跳過模型訪問控制。
WEBUI_BUILD_HASH
- 類型:
str
- 預設值:
dev-build
- 描述: 用於識別版本的 Git SHA。
WEBUI_BANNERS
- 類型:
list
ofdict
- 預設值:
[]
- 描述: 要向用戶顯示的橫幅列表。橫幅的格式為:
[{"id": "string", "type": "string [info, success, warning, error]", "title": "string", "content": "string", "dismissible": false, "timestamp": 1000}]
- 持續性: 此環境變數為
PersistentConfig
變數。
在 .env
文件中設置此環境變數時,請確保通過使用雙引號包裹整個值並使用轉義引號 (\"
) 對內部引號進行轉義。例如:
WEBUI_BANNERS="[{\"id\": \"1\", \"type\": \"warning\", \"title\": \"您的消息正在存儲。\", \"content\": \"您的消息正在存儲並可能由真人審核。LLMs 容易產生幻想,請檢查來源。\", \"dismissible\": true, \"timestamp\": 1000}]"
USE_CUDA_DOCKER
- 類型:
bool
- 預設值:
False
- 描述: 使用 NVIDIA CUDA 支援構建 Docker 映像。啟用本地 Whisper 和嵌入的 GPU 加速。
EXTERNAL_PWA_MANIFEST_URL
- 類型:
str
- 預設值: 空字串 ( ),因為默認設置為
None
。 - 描述: 當定義為完整的 URL(例如:https://path/to/manifest.webmanifest)時,發送到 /manifest.json 的請求將使用外部清單文件。如果未定義,將使用默認的 manifest.json 文件。
ENABLE_TITLE_GENERATION
- 類型:
bool
- 預設值:
True
- 描述: 啟用或停用聊天標題生成。
- 持久性: 此環境變數是一個
PersistentConfig
變數。
LICENSE_KEY
- 類型:
str
- 預設值:
None
- 描述: 指定要使用的授權密鑰(僅限企業用戶)。
- 持久性: 此環境變數是一個
PersistentConfig
變數。
SSL_ASSERT_FINGERPRINT
- 類型:
str
- 預設值: 空字串 ( ),因為
None
設為預設值。 - 描述: 指定要使用的 SSL 指紋。
- 持久性: 此環境變數是一個
PersistentConfig
變數。
DEFAULT_PROMPT_SUGGESTIONS
- 類型:
list
ofdict
- 預設值:
[]
(這表示使用內建的預設提示建議) - 描述: 提示建議的列表。提示建議的格式為:
[{"title": ["標題部分1", "標題部分2"], "content": "提示"}]
AIOHTTP 客戶端
AIOHTTP_CLIENT_TIMEOUT
- 類型:
int
- 預設值:
300
- 描述: 指定 AIOHTTP 客戶端的超時時間(以秒為單位)。這會影響例如與 Ollama 和 OpenAI 端點的連接。
這是客戶端在超時之前等待回應的最大時間。
如果設為空字串 ( ),超時將被設為 None
,有效地停用超時,使客戶端可以無限期等待。
AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST
- 類型:
int
- 預設值:
10
- 描述: 設置獲取模型列表的超時時間(以秒為單位)。在網路延遲需要更長時間才能成功檢索模型列表時,這可能是有用的。
AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST
預設設為 10 秒,以確保打開 Web UI 時所有必要的連接都可用。此時間允許在網絡延遲較高的情況下檢索模型列表。您可以降低此值以更快的超時,但需注意這可能會根據您的網絡情況導致某些連接被丟棄。
AIOHTTP_CLIENT_TIMEOUT_OPENAI_MODEL_LIST
- 類型:
int
- 描述: 設置獲取模型列表的超時時間(以秒為單位)。在網路延遲需要更長時間才能成功檢索模型列表時,這可能是有用的。
目錄
DATA_DIR
- 類型:
str
- 預設值:
./data
- 描述: 指定數據存儲的基礎目錄,包括上傳文件、快取、向量資料庫等。
FONTS_DIR
- 類型:
str
- 描述: 指定字型目錄。
FRONTEND_BUILD_DIR
- 類型:
str
- 預設值:
../build
- 描述: 指定已構建前端文件的位置。
STATIC_DIR
- 類型:
str
- 預設值:
./static
- 描述: 指定靜態文件的目錄,例如網站圖標。
Ollama
ENABLE_OLLAMA_API
- 類型:
bool
- 預設值:
True
- 描述: 啟用使用 Ollama API。
- 持久性: 此環境變數是一個
PersistentConfig
變數。
OLLAMA_BASE_URL
(OLLAMA_API_BASE_URL
已棄用)
- 類型:
str
- 預設值:
http://localhost:11434
- Docker 預設值:
- 如果設置了
K8S_FLAG
:http://ollama-service.open-webui.svc.cluster.local:11434
- 如果
USE_OLLAMA_DOCKER=True
:http://localhost:11434
- 否則為
http://host.docker.internal:11434
- 如果設置了
- 描述: 配置 Ollama 後端 URL。
OLLAMA_BASE_URLS
- 類型:
str
- 描述: 配置負載平衡的 Ollama 後端主機,以分號
;
分隔。參見OLLAMA_BASE_URL
。優先於OLLAMA_BASE_URL
。 - 示例:
http://host-one:11434;http://host-two:11434
- 持久性: 此環境變數是一個
PersistentConfig
變數。
USE_OLLAMA_DOCKER
- 類型:
bool
- 預設值:
False
- 描述: 使用捆綁的 Ollama 實例生成 Docker 映像。
K8S_FLAG
- 類型:
bool
- 預設值:
False
- 描述: 如果設置,則假定 Helm chart 部署並設置
OLLAMA_BASE_URL
為http://ollama-service.open-webui.svc.cluster.local:11434
。
OpenAI
ENABLE_OPENAI_API
- 類型:
bool
- 預設值:
True
- 描述: 啟用使用 OpenAI API。
- 持久性: 此環境變數是一個
PersistentConfig
變數。
OPENAI_API_BASE_URL
- 類型:
str
- 預設值:
https://api.openai.com/v1
- 描述: 配置 OpenAI 基礎 API URL。
- 持久性: 此環境變數是一個
PersistentConfig
變數。
OPENAI_API_BASE_URLS
- 類型:
str
- 描述: 支持平衡的 OpenAI 基礎 API URL,使用分號分隔。
- 示例:
http://host-one:11434;http://host-two:11434
- 持久性: 此環境變數是一個
PersistentConfig
變數。
OPENAI_API_KEY
- 類型:
str
- 描述: 設定 OpenAI API 密鑰。
- 範例:
sk-124781258123
- 持久性:此環境變數是一個
PersistentConfig
變數。
OPENAI_API_KEYS
- 類型:
str
- 描述:支援多個 OpenAI API 金鑰,以分號分隔。
- 範例:
sk-124781258123;sk-4389759834759834
- 持久性:此環境變數是一個
PersistentConfig
變數。
任務
TASK_MODEL
- 類型:
str
- 描述:預設使用於標題生成和網頁搜尋查詢生成之模型 當使用 Ollama 模型時。
- 持久性:此環境變數是一個
PersistentConfig
變數。
TASK_MODEL_EXTERNAL
- 類型:
str
- 描述:預設使用於標題生成和網頁搜尋查詢生成之模型 當使用 OpenAI 兼容端點時。
- 持久性:此環境變數是一個
PersistentConfig
變數。
TITLE_GENERATION_PROMPT_TEMPLATE
- 類型:
str
- 描述:生成聊天標題時使用的提示。
- 預設值:
DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE
環境變數的值。
DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE
:
### 任務:
生成一個簡潔的,3-5 個字的標題,並帶有表情符號以概括聊天歷史。
### 指南:
- 標題應清楚地代表對話的主要主題或內容。
- 使用增強理解主題的表情符號,但避免使用引號或特殊格式。
- 使用聊天的主要語言撰寫標題;如果是多語言則默認為英語。
- 以準確性優先於過度創造力;保持清晰簡單。
### 輸出:
JSON 格式:{ "title": "在此輸入您的簡潔標題" }
### 範例:
- { "title": "📉 股票市場趨勢" },
- { "title": "🍪 完美巧克力曲奇配方" },
- { "title": "音樂串流演進" },
- { "title": "遠程工作效率技巧" },
- { "title": "人工智慧在醫療中的應用" },
- { "title": "🎮 電子遊戲開發洞察" }
### 聊天歷史:
<chat_history>
{{MESSAGES:END:2}}
</chat_history>
- 持久性:此環境變數是一個
PersistentConfig
變數。
TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE
- 類型:
str
- 描述:呼叫工具時使用的提示。
- 預設值:
DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE
環境變數的值。
DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE
:
可用工具:{{TOOLS}}
您的任務是根據問題從可使用的工具清單中選擇並返回正確的工具。請遵循以下指南:
- 僅返回 JSON 對象,不要包含任何額外文字或說明。
- 如果沒有工具與查詢匹配,返回空數組:
{
"tool_calls": []
}
- 如果一個或多個工具與查詢匹配,構建一個 JSON 響應,其中包含一個 "tool_calls" 陣列,並含有以下對象:
- "name": 工具的名稱。
- "parameters": 一個必需的參數字典及其對應的值。
JSON 響應的格式為:
{
"tool_calls": [
{"name": "toolName1", "parameters": {"key1": "value1"}},
{"name": "toolName2", "parameters": {"key2": "value2"}}
]
}
- 持久性:此環境變數是一個
PersistentConfig
變數。
代碼執行
ENABLE_CODE_EXECUTION
- 類型:
bool
- 預設值:
True
- 描述:啟用或禁用代碼執行。
- 持久性:此環境變數是一個
PersistentConfig
變數。
CODE_EXECUTION_ENGINE
- 類型:
str
- 預設值:
pyodide
- 描述:指定使用的代碼執行引擎。
- 持久性:此環境變數是一個
PersistentConfig
變數。
CODE_EXECUTION_JUPYTER_URL
- 類型:
str
- 預設值:
None
- 描述:指定代碼執行使用的 Jupyter URL。
- 持久性:此環境變數是一個
PersistentConfig
變數。
CODE_EXECUTION_JUPYTER_AUTH
- 類型:
str
- 預設值:
None
- 描述:指定代碼執行使用的 Jupyter 認證方式。
- 持久性:此環境變數是一個
PersistentConfig
變數。
CODE_EXECUTION_JUPYTER_AUTH_TOKEN
- 類型:
str
- 預設值:
None
- 描述:指定代碼執行使用的 Jupyter 認證 Token。
- 持久性:此環境變數是一個
PersistentConfig
變數。
CODE_EXECUTION_JUPYTER_AUTH_PASSWORD
- 類型:
str
- 預設值:
None
- 描述:指定代碼執行使用的 Jupyter 認證密碼。
- 持久性:此環境變數是一個
PersistentConfig
變數。
CODE_EXECUTION_JUPYTER_TIMEOUT
- 類型:
str
- 預設值:空字符串(
' '
),因為預設值為None
。 - 描述:指定 Jupyter 代碼執行的超時時間。
- 持久性:此環境變數是一個
PersistentConfig
變數。
代碼解釋器
ENABLE_CODE_INTERPRETER
- 類型:
bool
- 預設值:
True
- 描述:啟用或禁用代碼解釋器。
- 持久性:此環境變數是一個
PersistentConfig
變數。
CODE_INTERPRETER_ENGINE
- 類型:
str
- 預設值:
pyodide
- 描述: 指定使用的程式碼解釋器引擎。
- 持久性: 此環境變數是
PersistentConfig
變數。