---
title: LobeHub 环境变量配置指南
description: 了解如何使用环境变量自定义设置 LobeHub 部署，包括访问密码、单点登录、basePath 设置等。
tags:
  - LobeHub
  - 环境变量
  - 配置指南
  - 单点登录
  - 插件服务
  - 助手市场
---

# 环境变量

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

## 通用变量

### `KEY_VAULTS_SECRET`

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

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

<GenerateSecret envName="KEY_VAULTS_SECRET" />

### `API_KEY_SELECT_MODE`

- 类型：可选
- 描述：用于控制多个 API Keys 时，选择 Key 的模式，当前支持 `random` 和 `turn`
- 默认值：`random`
- 示例：`random` 或 `turn`

使用 `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-engine` 和 `lobe-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.enableHistoryCount=true`,`chatConfig.enableCompressThreshold=true`, `chatConfig.enableStreaming=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`。 |

相关阅读：

- [\[RFC\] 022 - 环境变量配置默认助手参数](https://github.com/lobehub/lobehub/discussions/913)

### `SYSTEM_AGENT`

- 类型：可选
- 描述：用于配置 LobeHub 系统助手（如主题生成、翻译等功能）的模型和供应商。
- 默认值：`-`
- 示例：`default=ollama/deepseek-v3` 或 `topic=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"`

具体的内容可以参见 [特性标志](/zh/docs/self-hosting/advanced/feature-flags) 中的说明。

### `PROXY_URL`

- 类型：可选
- 描述：用于指定连接到外部服务的代理 URL。该变量的值在不同的部署环境中应该有所不同。
- 默认值：-
- 示例：`http://127.0.0.1:7890` 或 `socks5://localhost:7891`

<Callout type="info">
  `Docker Desktop` 在 `Windows `和 `macOS `上走的是虚拟机方案，如果是 `localhost` / `127.0.0.1`
  是走到自身容器的 `localhost`，此时请尝试用 `host.docker.internal` 替代 `localhost`。 使用
  `http://user:password@127.0.0.1:7890` 来连接到带认证的代理服务器。
</Callout>

### `ENABLE_PROXY_DNS`

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

### `SSRF_ALLOW_PRIVATE_IP_ADDRESS`

- 类型：可选
- 描述：控制是否允许连接私有 IP 地址。设置为 `1` 时将关闭 SSRF 防护并允许所有私有 IP 地址。在可信环境（如内网部署）中，可以启用此选项以访问内部资源。
- 默认值：`0`
- 示例：`1` 或 `0`

<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_ADDRESS` 为 `0` 时生效。使用此选项可以在保持 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://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix)
- 默认值：-
- 示例：`https://cdn.example.com`

## 视觉理解

### `VISUAL_UNDERSTANDING_PROVIDER`

- 类型：可选
- 描述：兜底视觉理解模型的服务商 ID。与 `VISUAL_UNDERSTANDING_MODEL` 一起配置后，不具备原生图片或视频理解能力的模型可以通过内置视觉理解工具分析上传的视觉媒体。
- 默认值：-
- 示例：`openai`、`google` 或 `ollama`

### `VISUAL_UNDERSTANDING_MODEL`

- 类型：可选
- 描述：内置视觉理解工具使用的模型 ID。该模型应支持你希望分析的视觉媒体类型。仅当 `VISUAL_UNDERSTANDING_PROVIDER` 与 `VISUAL_UNDERSTANDING_MODEL` 同时配置时，此功能才会启用。
- 默认值：-
- 示例：`gpt-4o`、`gemini-2.5-flash` 或你的本地视觉模型 ID

配置示例：

```bash
VISUAL_UNDERSTANDING_PROVIDER=google
VISUAL_UNDERSTANDING_MODEL=gemini-2.5-flash
```

启用后，当当前模型没有原生视觉能力但支持工具调用时，用户仍可上传图片或视频，并由兜底视觉理解模型进行分析。文件上传本身仍需要部署中正常配置文件存储能力。

## 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_KEY` 为 `xxxxx`，设置 `plugin-2` 的 `key1` 为 `value1`，`key2` 为 `value2`。生成的插件设置配置如下：

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

## 助手市场

### `AGENTS_INDEX_URL`

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