Back to Lobehub

LobeHub 环境变量配置指南

docs/self-hosting/environment-variables/basic.zh-CN.mdx

2.1.5611.3 KB
Original Source

环境变量

LobeHub 在部署时提供了一些额外的配置项,你可以使用环境变量进行自定义设置。

通用变量

KEY_VAULTS_SECRET

  • 类型:可选
  • 描述:添加访问 LobeHub 服务的密码,你可以设置一个长密码以防被爆破
  • 默认值:-
  • 示例:Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=

<Callout type={'warning'}> 此密钥用于加密敏感数据,一旦设置后请勿更改,否则已加密的数据将无法解密。 </Callout>

<GenerateSecret envName="KEY_VAULTS_SECRET" />

API_KEY_SELECT_MODE

  • 类型:可选
  • 描述:用于控制多个 API Keys 时,选择 Key 的模式,当前支持 randomturn
  • 默认值:random
  • 示例:randomturn

使用 random 模式下,将在多个 API Keys 中随机获取一个 API Key。

使用 turn 模式下,将按照填写的顺序,轮询获取得到 API Key。

DEFAULT_AGENT_CONFIG

  • 类型:可选
  • 描述:用于配置 LobeHub 默认助理的默认配置。它支持多种数据类型和结构,包括键值对、嵌套字段、数组值等。
  • 默认值:-
  • 示例:'model=gpt-4-1106-preview;params.max_tokens=300;plugins=search-engine,lobe-image-designer'

DEFAULT_AGENT_CONFIG 用于配置 LobeHub 默认助理的默认配置。它支持多种数据类型和结构,包括键值对、嵌套字段、数组值等。下表详细说明了 DEFAULT_AGENT_CONFIG 环境变量的配置项、示例以及相应解释:

配置项类型示例解释
基本键值对model=gpt-4设置模型为 gpt-4
嵌套字段tts.sttLocale=en-US设置文本到语音服务的语言区域为 en-US
数组plugins=search-engine,lobe-image-designer启用 search-enginelobe-image-designer 插件。
中文逗号plugins=search-engine,lobe-image-designer同上,演示支持中文逗号分隔。
多个配置项model=glm-4;provider=zhipu设置模型为 glm-4 且模型服务商为 zhipu
数字值params.max_tokens=300, chatConfig.historyCount=5设置最大令牌数为 300,设置历史消息条数为 5。
布尔值chatConfig.enableAutoCreateTopic=true,chatConfig.enableCompressThreshold=true, chatConfig.enableHistoryCount=true启用自动创建主题,历史长度压缩阈值,历史记录条数。
特殊字符inputTemplate="Hello; I am a bot;"设置输入模板为 Hello; I am a bot;
错误处理model=gpt-4;maxToken忽略无效条目 maxToken,仅解析出 model=gpt-4
值覆盖model=gpt-4;model=gpt-4-1106-preview如果键重复,使用最后一次出现的值,此处 model 的值为 gpt-4-1106-preview

相关阅读:

SYSTEM_AGENT

  • 类型:可选
  • 描述:用于配置 LobeHub 系统助手(如主题生成、翻译等功能)的模型和供应商。
  • 默认值:-
  • 示例:default=ollama/deepseek-v3topic=openai/gpt-4,translation=anthropic/claude-1

SYSTEM_AGENT 环境变量支持两种配置方式:

  1. 使用 default=供应商/模型 为所有系统助手设置相同的默认配置
  2. 针对特定的系统助手进行单独配置,格式为 助手名称=供应商/模型

配置项说明:

配置项格式解释
默认设置default=ollama/deepseek-v3为所有系统助手设置默认模型为 ollama 的 deepseek-v3
特定设置topic=openai/gpt-4为主题生成设置特定的供应商和模型
混合配置default=ollama/deepseek-v3,topic=openai/gpt-4先为所有助手设置默认值,然后针对特定助手进行覆盖

可配置的系统助手及其作用:

系统助手键名作用描述
主题生成topic根据聊天内容自动生成主题名称和摘要
翻译translation文本翻译使用的助手
元数据生成agentMeta为助手生成描述性信息和元数据
历史记录压缩historyCompress压缩和整理长对话的历史记录,优化上下文管理
分支对话thread自定生成分支对话的标题

FEATURE_FLAGS

  • 类型:可选
  • 描述:用于控制 LobeHub 的特性功能,支持多个功能标志,使用 + 增加一个功能,使用 - 来关闭一个功能,多个功能标志之间使用英文逗号 , 隔开,最外层建议添加引号 " 以避免解析错误。
  • 默认值:-
  • 示例:"-welcome_suggest"

具体的内容可以参见 特性标志 中的说明。

PROXY_URL

  • 类型:可选
  • 描述:用于指定连接到外部服务的代理 URL。该变量的值在不同的部署环境中应该有所不同。
  • 默认值:-
  • 示例:http://127.0.0.1:7890socks5://localhost:7891
<Callout type="info"> `Docker Desktop` 在 `Windows `和 `macOS `上走的是虚拟机方案,如果是 `localhost` / `127.0.0.1` 是走到自身容器的 `localhost`,此时请尝试用 `host.docker.internal` 替代 `localhost`。 使用 `http://user:[email protected]:7890` 来连接到带认证的代理服务器。 </Callout>

ENABLE_PROXY_DNS

  • 类型:可选
  • 描述:用于控制是否将 DNS 发送到代理服务器,配置为 0 时所有 DNS 查询在本地完成,当你的网络环境无法访问 API 或访问超时,请尝试将该项配置为 1
  • 默认值:0
  • 示例:1 or 0

SSRF_ALLOW_PRIVATE_IP_ADDRESS

  • 类型:可选
  • 描述:控制是否允许连接私有 IP 地址。设置为 1 时将关闭 SSRF 防护并允许所有私有 IP 地址。在可信环境(如内网部署)中,可以启用此选项以访问内部资源。
  • 默认值:0
  • 示例:10
<Callout type="warning"> **安全提示**:启用此选项将关闭 SSRF 防护,允许连接私有 IP 地址段(127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 等)。仅在需要访问内网资源的可信环境中启用。 </Callout>

应用场景

LobeHub 会在以下场景执行 SSRF 安全检查:

  1. 图片 / 视频 URL 转 Base64:在处理媒体消息时(例如视觉模型、多模态模型),LobeHub 会将图片和视频 URL 转换为 base64 格式。此检查可防止恶意用户通过媒体 URL 访问内网资源。

    举例:

    • 图片:用户发送图片消息,URL 为 http://192.168.1.100/admin/secrets.png
    • 视频:用户发送视频消息,URL 为 http://10.0.0.50/internal/meeting.mp4

    若无 SSRF 防护,这些请求可能导致内网资源泄露。

  2. 网页爬取:使用网页爬取功能获取外部内容时。

  3. 代理请求:代理外部 API 请求时。

配置示例

bash
# 场景 1:公网部署(推荐)
# 阻止所有私有 IP 访问,保证安全
SSRF_ALLOW_PRIVATE_IP_ADDRESS=0

# 场景 2:内网部署
# 允许所有私有 IP,可访问内网图片服务器等资源
SSRF_ALLOW_PRIVATE_IP_ADDRESS=1

# 场景 3:混合部署(最常见)
# 默认阻止私有 IP,但允许特定可信的内网服务器
SSRF_ALLOW_PRIVATE_IP_ADDRESS=0
SSRF_ALLOW_IP_ADDRESS_LIST=192.168.1.100,10.0.0.50

SSRF_ALLOW_IP_ADDRESS_LIST

  • 类型:可选
  • 描述:允许访问的 IP 地址白名单,多个 IP 地址用逗号分隔。仅在 SSRF_ALLOW_PRIVATE_IP_ADDRESS0 时生效。使用此选项可以在保持 SSRF 防护的同时,允许访问特定的内网 IP 地址。
  • 默认值:-
  • 示例:192.168.1.100,10.0.0.50,172.16.0.10

常见使用场景

  • 允许访问内网图片存储服务器:192.168.1.100
  • 允许访问内网 API 网关:10.0.0.50
  • 允许访问内网文档服务器:172.16.0.10

NEXT_PUBLIC_ASSET_PREFIX

  • 类型:可选
  • 描述:静态资源的路径访问前缀,你可以设置为 CDN 访问的 URL,具体可参考: assetPrefix
  • 默认值:-
  • 示例:https://cdn.example.com

AI 图像

AI_IMAGE_DEFAULT_IMAGE_NUM

  • 类型:可选
  • 描述:设置 AI 图像生成的默认图片数量。用户仍可在个人设置中覆盖此值。
  • 默认值:4
  • 示例:6
  • 范围:1-20

此环境变量允许管理员为其部署自定义默认图片生成数量。值必须在 1 到 20 之间。如果未设置,默认为 4。用户仍可在个人设置中调整此值。

插件服务

PLUGINS_INDEX_URL

  • 类型:可选
  • 描述:LobeHub 插件市场的索引地址,如果你自行部署了插件市场的服务,可以使用该变量来覆盖默认的插件市场地址
  • 默认值:https://chat-plugins.lobehub.com

PLUGIN_SETTINGS

  • 类型:可选
  • 描述:用于配置插件的设置,使用 插件名:设置字段=设置值 的格式来配置插件的设置,多个设置字段用英文分号 ; 隔开,多个插件设置使用英文逗号,隔开。
  • 默认值:-
  • 示例:search-engine:SERPAPI_API_KEY=xxxxx,plugin-2:key1=value1;key2=value2

上述示例表示设置 search-engine 插件的 SERPAPI_API_KEYxxxxx,设置 plugin-2key1value1key2value2。生成的插件设置配置如下:

json
{
  "plugin-2": {
    "key1": "value1",
    "key2": "value2"
  },
  "search-engine": {
    "SERPAPI_API_KEY": "xxxxx"
  }
}

助手市场

AGENTS_INDEX_URL

  • 类型:可选
  • 描述:LobeHub 助手市场的索引地址,如果你自行部署了助手市场的服务,可以使用该变量来覆盖默认的市场地址
  • 默认值:https://chat-agents.lobehub.com