环境变量配置
概览
Open WebUI 提供了大量的环境变量,允许您自定义和配置应用程序的各个方面。本页面作为所有可用环境变量的详尽参考,提供了它们的类型、默认值和描述。 随着新变量的引入,本页面将持续更新以反映不断增长的配置选项。
本页面内容与 Open WebUI v0.6.42 版本保持同步。我们仍在持续完善中,后续将提供更准确的描述、列出环境变量的可用选项、默认值,并优化描述。
关于持久化配置 (PersistentConfig) 环境变量的重要说明
首次启动 Open WebUI 时,所有环境变量都会被读取并用于初始化应用程序。但是,对于标记为 PersistentConfig 的环境变量,它们的值会被持久化并存储在内部数据库中。
在初始启动后,如果您重启容器,标记为 PersistentConfig 的变量将优先使用数据库中存储的值,而忽略外部环境变量的更改。
相比之下,普通环境变量在每次重启时仍会继续应用外部环境中的最新值。
您可以直接在 Open WebUI 的管理员界面中更新 PersistentConfig 变量的值,这些更改将实时存储在数据库中。这允许您在不重启容器的情况下独立管理这些配置。
请注意,在下文的文档中,PersistentConfig 环 境变量已被明确标记,以便您了解它们的行为差异。
如果您希望禁用此行为,强制 Open WebUI 始终使用环境变量(忽略数据库中的存储值),请将 ENABLE_PERSISTENT_CONFIG 设置为 False。
关键警告: 当 ENABLE_PERSISTENT_CONFIG 为 False 时,您仍能在管理员 UI 中修改设置。但是,这些更改不会被持久化。它们仅在当前运行会话中有效,一旦重启容器,系统将恢复为环境变量中定义的值,之前的 UI 更改将全部丢失。
应用/后端 (App/Backend)
以下环境变量由 backend/open_webui/config.py 使用,提供 Open WebUI 的启动配置。请注意,某些变量的默认值可能会根据您是直接运行 Open WebUI 还是通过 Docker 运行而有所不同。有关日志记录环境变量的更多信息,请参阅我们的 日志文档。
通用设置
WEBUI_URL
- 类型:
str - 默认值:
http://localhost:3000 - 描述: 指定您的 Open WebUI 安装的可访问 URL。搜索引擎支持和 OAuth/SSO 需要此设置。
- 持久化: 此环境变量是一个
PersistentConfig变量。
在开始使用 OAuth/SSO 进行身份验证之前,必须设置此变量。 由于这是一个持久化配置环境变量,您只能通过以下选项之一对其进行更改:
- 使用
ENABLE_PERSISTENT_CONFIG临时禁用持久化配置 - 在 管理员面板 > 设置 中更改 "WebUI URL"。
在使用 OAuth/SSO 之前未能正确设置 WEBUI_URL 将导致登录失败。
ENABLE_SIGNUP
- 类型:
bool - 默认值:
True - 描述: 开启或关闭用户注册功能。
- 持久化: 此环境变量是一个
PersistentConfig变量。
ENABLE_SIGNUP_PASSWORD_CONFIRMATION
- 类型:
bool - 默认值:
False - 描述: 如果设置为 True,注册页面将增加“确认密码”字段,帮助用户避免创建密码时的拼写错误。
ENABLE_LOGIN_FORM
- 类型:
bool - 默认值:
True - 描述: 开启或关闭邮箱、密码、登录按钮以及“或”分隔符(仅当
ENABLE_OAUTH_SIGNUP设置为 True 时显示)。 - 持久化: 此环境变量是一个
PersistentConfig变量。
ENABLE_PASSWORD_AUTH
- 类型:
bool - 默认值:
True - 描述: 启用或禁用基于密码的身份验证。
True(默认): 允许用户使用邮箱和密码登录。如果同时配置了 OAuth/SSO,则两者可以共存。False: 禁用所有基于密码的登录尝试(包括/signin和/ldap端点),强制执行严格的仅 SSO 登录。
- 建议: 在完全配置并测试好 SSO 的生产环境中,建议将其设置为
False以防止撞库攻击或凭据泄露风险。
只有在 ENABLE_OAUTH_SIGNUP 已启用并设置为 True 时,才应将此项设置为 False。如果未配置或未启用 OAUTH/SSO,切勿禁用此项,否则将导致所有用户(包括管理员)无法登录。
DEFAULT_LOCALE
- 类型:
str - 默认值:
en - 描述: 设置应用程序的默认语言区域。
- 持久化: 此环境变量是一个
PersistentConfig变量。
DEFAULT_MODELS
- 类型:
str - 默认值: 空字符串 (' '),即
None。 - 描述: 设置默认的语言模型。
- 持久化: 此环境变量是一个
PersistentConfig变量。
DEFAULT_PINNED_MODELS
- 类型:
str - 默认值: 空字符串 (' ')
- 描述: 以逗号分隔的模型 ID 列表,作为未自定义固定模型的用户的默认固定模型。这为新账户在模型选择器中提供了一组预选的常用模型。
- 示例:
gpt-4,claude-3-opus,llama-3-70b - 持久化: 此环境变量是一个
PersistentConfig变量。
DEFAULT_USER_ROLE
- 类型:
str - 可选值:
pending- 新用户处于待定状态,直到管理员手动激活。user- 新用户自动激活并拥有普通用户权限。admin- 新用户自动激活并拥有管理员权限。
- 默认值:
pending - 描述: 设置分配给新用户的默认角色。
- 持久化: 此环境变量是一个
PersistentConfig变量。
DEFAULT_GROUP_ID
- 类型:
str - 默认值: 空字符串 (' ')
- 描述: 设置新用户注册时分配的默认组 ID。
- 持久化: 此环境变量是一个
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 - 描述: 控制管理员是否可以在管理员面板中导出数据、聊天记录和数据库。目前数据库导出仅适用于 SQLite 数据库。
ENABLE_ADMIN_CHAT_ACCESS
- 类型:
bool - 默认值:
True - 描述: 允许管理员直接访问其他用户的聊天记录。禁用后,管理员无法再在管理员面板中访问用户的聊天。如果您禁用了此项,且正在使用 SQLite,请考虑同时也禁用
ENABLE_ADMIN_EXPORT,因为导出的数据也包含用户聊天。
BYPASS_ADMIN_ACCESS_CONTROL
- 类型:
bool - 默认值:
True - 描述: 禁用后,管理员在工作区访问(模型、知识、提示词和工具)方面被视为普通用户,仅能看到他们通过现有访问控制系统拥有显式访问权限的 项目。这也适用于模型选择器中模型的可见性——管理员将被视为普通用户:他们没有显式访问权限的基础模型和自定义模型将被隐藏。如果设置为
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以防止阻塞。
如果您运行的是大型实例,您需要将此值设置为更高的值,如几百甚至上千(例如 1000),否则当默认线程池(40 个线程)占满时,您的应用可能会卡死且不再响应。
ENABLE_CUSTOM_MODEL_FALLBACK
- 类型:
bool - 默认值:
False - 描述: 控制当自定义模型分配的基础模型缺失时,是否应回退到默认模型。当设置为
True时,如果找不到自定义模型的基础模型,系统将使用配置的DEFAULT_MODELS列表中的第一个模型,而不是返回错误。
MODELS_CACHE_TTL
- 类型:
int - 默认值:
1 - 描述: 为来自 OpenAI 和 Ollama 端点的模型列表响应设置缓存生存时间(秒)。这通过在指定时间内缓存可用模型列表来减少 API 调用。设置为空字符串可完全禁用缓存。
此项缓存的是从配置的 OpenAI 兼容和 Ollama API 端点检索到的外部模型列表(而非 Open WebUI 的内部模型配置)。较高的值通过减少对外部提供商的冗余 API 请求来提高性能,但可能会延迟这些端点上新添加或移除模型的显示。值为 0 会禁用缓存并强制每次都进行新的 API 调用。在高流量场景中,增加此值(例如设置为 300 秒)可以显著减轻外部 API 端点的负载,同时仍能提供较为及时的模型数据。
SHOW_ADMIN_DETAILS
- 类型:
bool - 默认值:
True - 描述: 切换是否在界面中显示管理员详细信息。
- 持久化: 此环境变量是一个
PersistentConfig变量。
ENABLE_PUBLIC_ACTIVE_USERS_COUNT
- 类型:
bool - 默认值:
True - 描述: 控制活跃用户计数是对所有用户可见,还是仅限于管理员。当设置为
False时,只有管理员可以看到当前活跃的用户数,从而减轻后端负载并在大型部署中解决隐私疑虑。 - 持久化: 此环境变量是一个
PersistentConfig变量。
ADMIN_EMAIL
- 类型:
str - 描述: 设置由
SHOW_ADMIN_DETAILS显示的管理员邮箱。 - 持久化: 此环境变量是一个
PersistentConfig变量。
ENV
- 类型:
str - 可选值:
dev- 在/docs路径开启 FastAPI API 文档。prod- 自动配置多个环境变量。
- 默认值:
- 后端默认:
dev - Docker 默认:
prod
- 后端默认:
- 描述: 环境设置。
ENABLE_PERSISTENT_CONFIG
- 类型:
bool - 默认值:
True - 描述: 控制系统是否优先使用保存在数据库中的配置,而非环境变量。
True(默认): 保存在数据库中(通过管理员 UI)的值具有更高优先级。如果在 UI 中设置了某个值,该设置对应的环境变量将被忽略。False: 环境变量具有更高优先级。如果存在环境变量,系统在启动时将不会从数据库加载配置(或者将使用默认值)。- 关键警告: 当设置为
False时,您似乎仍能在管理员 UI 中“更改”设置。这些更改将应用于当前运行的会话,但在重启后将丢失。每次启动时,系统都会恢复为环境变量(或默认值)中定义的值。 - 使用场景: 如果您希望严格通过
docker-compose.yaml或.env文件管理配置,并防止 UI 更改在重启后持久存在,请将此项设置为False。
- 关键警告: 当设置为
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 - 描述: 启用后,系统会实时将流式聊天数据的每个分块保存到数据库中,以确保最大程度的数据持久性。此功能提供了强大的数据恢复能力,并允许准确的会话跟踪。然而,代价是延迟增加,因为保存到数据库会引入延迟。禁用此功能可以提高性能并减少延迟,但在系统故障或崩溃时存在潜在的数据丢失风险。请根据您的应用需求和可接受的权衡进行选择。
ENABLE_CHAT_RESPONSE_BASE64_IMAGE_URL_CONVERSION
- 类型:
bool - 默认值:
False - 描述: 设置为 true 时,它会自动上传 markdown 中超过 1KB 的 base64 编码图像,并将其转换为图像文件 URL,以减小响应文本的大小。某些多模态模型直接在 Markdown 内容中输出 Base64 字符串形式的图像。这会导致响应体过大,给 CPU、网络、Redis 和数据库资源带来压力。
CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE
- 类型:
int - 默认值:
1 - 描述: 设置系统级最小值,用于在流式响应期间发送给客户端之 前批量处理的 token 数量。这允许管理员通过防止可能导致高 CPU 负载的过小分块大小,在整个系统中强制执行性能和稳定性的基准水平。响应使用的最终分块大小将是此全局变量、模型的进阶参数或单次聊天设置中的最高值。默认值为 1,表示在全局级别不应用最小批量处理。
CHAT_STREAM_RESPONSE_CHUNK_MAX_BUFFER_SIZE
- 类型:
int - 默认值: 空字符串 (' '),即禁用限制(相当于 None)。
- 描述: 设置处理流式响应分块的最大缓冲区大小(字节)。当单个分块超过此限制时,系统会返回一个空 JSON 对象并跳过随后的超大数据,直到遇到大小正常的分块。这可以防止在处理来自某些提供商(例如 gemini-2.5-flash-image 等模型或返回大量网页搜索数据的服务)的超大响应时出现内存问题。设置为空字符串或负值可完全禁用分块大小限制。建议值为 16-20 MB (
16777216),或根据图像生成模型的图像大小设置更大值(4K 图像可能需要更大)。
如果您在高并发、多用户且使用极快流式 模型的情况下运行 Open WebUI,建议将此值设置为高个位数或低两位数(MB)。
BYPASS_MODEL_ACCESS_CONTROL
- 类型:
bool - 默认值:
False - 描述: 绕过模型访问控制。设置为
true时,所有用户(包括管理员)都可以访问所有模型,无论模型的隐私设置如何(私有、公开、与特定组共享)。这对于不需要模型访问限制的小型或个人 Open WebUI 安装非常有用。
WEBUI_BUILD_HASH
- 类型:
str - 默认值:
dev-build - 描述: 用于标识发布版本的 Git SHA。
WEBUI_BANNERS
- 类型:
listofdict - 默认值:
[] - 描述: 要向用户显示的横幅列表。横幅的格式为:
[{"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\": \"您的消息已被存储,并可能由人工审核。LLM 容易产生幻觉,请检查来源。\", \"dismissible\": true, \"timestamp\": 1000}]"
USE_CUDA_DOCKER
- 类型:
bool - 默认值:
False - 描述: 构建支持 NVIDIA CUDA 的 Docker 镜像。为本地 Whisper 和嵌入(Embeddings)启用 GPU 加速。
DOCKER
- 类型:
bool - 默认值:
False - 描述: 指示 Open WebUI 是否在 Docker 容器内运行。内部用于环境检测。
USE_CUDA
- 类型:
bool - 默认值:
False - 描述: 控制是否为本地模型使用 CUDA 加速。设置为
true时,尝试检测并使用可用的 NVIDIA GPU。代码通过读取环境变量USE_CUDA_DOCKER来设置此内部布尔变量。
DEVICE_TYPE
- 类型:
str - 默认值:
cpu - 描述: 指定模型执行的设备类型。如果 CUDA 可用并已启用,则自动设置为
cuda;对于 Apple Silicon 则设置为mps。
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变量。
ENABLE_COMPRESSION_MIDDLEWARE
- 类型:
bool - 默认值:
True - 描述: 为 HTTP 响应启用 gzip 压缩中间件,减少带宽使用并提高加载速度。
DEFAULT_PROMPT_SUGGESTIONS
- 类型:
listofdict - 默认值:
[](表示使用内置的默认提示词建议) - 描述: 提示词建议列表。格式为:
[{"title": ["标题第 1 部分", "标题第 2 部分"], "content": "提示词内容"}]
- 持久化: 此环境变量是一个
PersistentConfig变量。
在生产环境中,切勿将此环境变量设置为 debug。
AIOHTTP 客户端 (AIOHTTP Client)
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 - 描述: 设置获取 OpenAI 模型列表的超时时间(秒)。当网络延迟需要更长的超时时间才能成功检索模型列表时,这很有用。
AIOHTTP_CLIENT_SESSION_SSL
- 类型:
bool - 默认值:
True - 描述: 控制 AIOHTTP 客户端会话在连接到外部 API 时的 SSL/TLS 验证。
AIOHTTP_CLIENT_TIMEOUT_TOOL_SERVER_DATA
- 类型:
int - 默认值:
10 - 描述: 设置通过 AIOHTTP 客户端从工具服务器检索数据的超时时间(秒)。
AIOHTTP_CLIENT_SESSION_TOOL_SERVER_SSL
- 类型:
bool - 默认值:
True - 描述: 专门控制通过 AIOHTTP 客户端连接工具服务器时的 SSL/TLS 验证。
目录 (Directories)
DATA_DIR
- 类型:
str - 默认值:
./data - 描述: 指定数据存储的根目录,包括上传文件、缓存、向量数据库等。
FONTS_DIR
- 类型:
str - 描述: 指定字体目录。
FRONTEND_BUILD_DIR
- 类型:
str - 默认值:
../build - 描述: 指定构建后的前端文件所在位置。
STATIC_DIR
- 类型:
str - 默认值:
./static - 描述: 指定静态文件目录,例如 favicon 图标。
日志 (Logging)
GLOBAL_LOG_LEVEL
- 类型:
str - 默认值:
INFO - 描述: 设置所有 Open WebUI 组件的全局日志级别。有效值:
DEBUG、INFO、WARNING、ERROR、CRITICAL。
AUDIT_LOGS_FILE_PATH
- 类型:
str - 默认值:
${DATA_DIR}/audit.log - 描述: 配置审计日志文件的存储位置。支持将日志存储在独立的卷或自定义位置,以便更好地管理和持久化。
- 示例:
/var/log/openwebui/audit.log,/mnt/logs/audit.log
AUDIT_LOG_FILE_ROTATION_SIZE
- 类型:
str - 默认值:
10MB - 描述: 指定审计日志文件在轮转前的最大大小(例如
10MB、100MB、1GB)。
AUDIT_UVICORN_LOGGER_NAMES
- 类型:
str - 默认值:
uvicorn.access - 描述: 以逗号分隔的日志记录器名称列表,用于捕获审计日志。默认为 Uvicorn 的访问日志记录器。
AUDIT_LOG_LEVEL
- 类型:
str - 默认值:
NONE - 可选值:
NONE,METADATA,REQUEST,REQUEST_RESPONSE - 描述: 控制审计日志的详细程度。
METADATA记录基本请求信息,REQUEST包含请求体,REQUEST_RESPONSE包含请求和响应体。
MAX_BODY_LOG_SIZE
- 类型:
int - 默认值:
2048 - 描述: 设置审计日志中请求/响应体的最大字节数。超过此大小的内容将被截断。
AUDIT_EXCLUDED_PATHS
- 类型:
str - 默认值:
/chats,/chat,/folders - 描述: 以逗号分隔的 URL 路径列表,用于从审计日志中排除。路径匹配时不带前导斜杠。
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 - 描述: 在构建 Docker 镜像时捆绑 Ollama 实例。
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变量。
任务 (Tasks)
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变量。
ENABLE_FOLLOW_UP_GENERATION
- 类型:
bool - 默认值:
True - 描述: 启用或禁用后续问题生成。
- 持久化: 此环境变量是一个
PersistentConfig变量。
FOLLOW_UP_GENERATION_PROMPT_TEMPLATE
- 类型:
str - 描述: 用于生成几个相关后续问题的提示词。
- 默认值: 环境变量
DEFAULT_FOLLOW_UP_GENERATION_PROMPT_TEMPLATE的值。
DEFAULT_FOLLOW_UP_GENERATION_PROMPT_TEMPLATE:
### 任务:
根据聊天记录,以**用户**的角度建议 3-5 个用户可能自然会问到的相关后续问题或提示,以帮助继续或深入讨论。
### 指南:
- 从用户的视角出发编写所有后续问题,并指向助手。
- 问题应简洁、清晰,并与讨论的主题直接相关。
- 仅建议符合聊天内容逻辑且不重复已涉及内容的后续问题。
- 如果对话非常简短或不具体,建议一些用户可能会问的更通用的(但相关的)后续问题。
- 使用对话的主要语言;如果是多语言,则默认为英语。
- 响应必须是字符串的 JSON 数组,不含额外的文本或格式。
### 输出:
JSON 格式:{ "follow_ups": ["问题 1?", "问题 2?", "问题 3?"] }
### 聊天记录:
<chat_history>
{{MESSAGES:END:6}}
</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": []
}
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
### 代码执行 (Code Execution)
#### `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 身份验证令牌。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_EXECUTION_JUPYTER_AUTH_PASSWORD`
- 类型: `str`
- 默认值: `None`
- 描述: 指定用于代码执行的 Jupyter 身份验证密码。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_EXECUTION_JUPYTER_TIMEOUT`
- 类型: `str`
- 默认值: 空字符串 (' '),因为默认设置为 `None`。
- 描述: 指定 Jupyter 代码执行的超时时间。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
### 代码解释器 (Code Interpreter)
#### `ENABLE_CODE_INTERPRETER`
- 类型: `bool`
- 默认值: `True`
- 描述: 启用或禁用代码解释器。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_INTERPRETER_ENGINE`
- 类型: `str`
- 默认值: `pyodide`
- 描述: 指定要使用的代码解释器引擎。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_INTERPRETER_BLACKLISTED_MODULES`
- 类型: `str` (以逗号分隔的模块名称列表)
- 默认值: None
- 描述: 指定 Python 模块的黑名单(逗号分隔),这些模块不能在代码解释器中导入或使用。这通过防止访问潜在敏感或系统级功能来增强安全性。
#### `CODE_INTERPRETER_PROMPT_TEMPLATE`
- 类型: `str`
- 默认值: `None`
- 描述: 指定用于代码解释器的提示词模板。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_INTERPRETER_JUPYTER_URL`
- 类型: `str`
- 默认值: 空字符串 (' '),因为默认设置为 `None`。
- 描述: 指定用于代码解释器的 Jupyter URL。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_INTERPRETER_JUPYTER_AUTH`
- 类型: `str`
- 默认值: 空字符串 (' '),因为默认设置为 `None`。
- 描述: 指定用于代码解释器的 Jupyter 身份验证方法。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_INTERPRETER_JUPYTER_AUTH_TOKEN`
- 类型: `str`
- 默认值: 空字符串 (' '),因为默认设置为 `None`。
- 描述: 指定用于代码解释器的 Jupyter 身份验证令牌。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_INTERPRETER_JUPYTER_AUTH_PASSWORD`
- 类型: `str`
- 默认值: 空字符串 (' '),因为默认设置为 `None`。
- 描述: 指定用于代码解释器的 Jupyter 身份验证密码。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `CODE_INTERPRETER_JUPYTER_TIMEOUT`
- 类型: `str`
- 默认值: 空字符串 (' ') ,因为默认设置为 `None`。
- 描述: 指定 Jupyter 代码解释器的超时时间。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
### 直接连接 (Direct Connections) (OpenAPI/MCPO 工具服务器)
#### `ENABLE_DIRECT_CONNECTIONS`
- 类型: `bool`
- 默认值: `True`
- 描述: 启用或禁用直接连接。
- 持久化: 此环境变量是一个 `PersistentConfig` 变量。
#### `TOOL_SERVER_CONNECTIONS`
- 类型: `str` (JSON 数组)
- 默认值: `[]`
- 描述: 指定工具服务器连接配置的 JSON 数组。每个连接应定义连接到实现 OpenAPI/MCPO 协议的外部工具服务器所需的参数。JSON 必须格式正确,否则将回退到空数组。
- 示例:
```json
[
{
"type": "openapi",
"url": "example-url",
"spec_type": "url",
"spec": "",
"path": "openapi.json",
"auth_type": "none",
"key": "",
"config": { "enable": true },
"info": {
"id": "",
"name": "example-server",
"description": "MCP 服务器描述。"
}
}
]
- 持久化: 此环境变量是一个
PersistentConfig变量。
TOOL_SERVER_CONNECTIONS 的 JSON 数据结构可能会随着新功能的添加而演变。