# 环境变量 LobeChat 在部署时提供了一些额外的配置项,你可以使用环境变量进行自定义设置。 ## 通用变量 ### `ACCESS_CODE` - 类型:可选 - 描述:添加访问 LobeChat 服务的密码,你可以设置一个长密码以防被爆破 - 默认值:- - 示例:`awCTe)re_r74` or `rtrt_ewee3@09!` ### `ENABLE_OAUTH_SSO` - 类型:可选 - 描述:为 LobeChat 启用单点登录 (SSO)。设置为 `1` 以启用单点登录。有关详细信息,请参阅[身份验证服务](#身份验证服务)。 - 默认值: `-` - 示例: `1` ### `NEXT_PUBLIC_BASE_PATH` - 类型:可选 - 描述:为 LobeChat 添加 `basePath` - 默认值: `-` - 示例: `/test` ### `DEFAULT_AGENT_CONFIG` - 类型:可选 - 描述:用于配置 LobeChat 默认助理的默认配置。它支持多种数据类型和结构,包括键值对、嵌套字段、数组值等。 - 默认值:`-` - 示例:`'model=gpt-4-1106-preview;params.max_tokens=300;plugins=search-engine,lobe-image-designer` `DEFAULT_AGENT_CONFIG` 用于配置 LobeChat 默认助理的默认配置。它支持多种数据类型和结构,包括键值对、嵌套字段、数组值等。下表详细说明了 `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` | 设置最大令牌数为 `300`。 | | 布尔值 | `enableAutoCreateTopic=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/lobe-chat/discussions/913) ## 身份验证服务 ### 通用设置 #### `ENABLE_OAUTH_SSO` - 类型:必选 - 描述:为 LobeChat 启用单点登录 (SSO)。设置为 `1` 以启用单点登录。 - 默认值: `-` - 示例: `1` #### `SSO_PROVIDERS` - Type: 必需 - 描述:选择 LoboChat 的单点登录提供商。如果有多个单点登录提供商,请用逗号分隔,例如 `auth0,azure-ad,authentik` - 默认值: `auth0` - 示例: `auth0,azure-ad,authentik` #### `NEXTAUTH_SECRET` - 类型:必选 - 描述:用于加密 Auth.js 会话令牌的密钥。您可以使用以下命令生成秘钥: `openssl rand -base64 32`. - 默认值: `-` - 示例: `Tfhi2t2pelSMEA8eaV61KaqPNEndFFdMIxDaJnS1CUI=` #### `NEXTAUTH_URL` - 类型:可选 - 描述:该 URL 用于指定 Auth.js 在执行 OAuth 验证时的回调地址,在 Vercel 上部署时无需设置。 - 默认值:`-` - 示例:`https://example.com/api/auth` ### Auth0 目前,我们仅支持 Auth0,Microsoft Entra ID,Authentik 作为身份验证服务提供商。 如果您需要使用其他身份验证服务提供商,可以提交 [功能请求](https://github.com/lobehub/lobe-chat/issues/new/choose) 或 Pull Request。 #### `AUTH0_CLIENT_ID` - 类型:必选 - 描述: Auth0 应用程序的 Client ID,您可以访问[这里][auth0-client-page]并导航至应用程序设置来查看 - 默认值: `-` - 示例: `evCnOJP1UX8FMnXR9Xkj5t0NyFn5p70P` #### `AUTH0_CLIENT_SECRET` - 类型:必选 - 描述: Auth0 应用程序的 Client Secret - 默认值: `-` - 示例: `wnX7UbZg85ZUzF6ioxPLnJVEQa1Elbs7aqBUSF16xleBS5AdkVfASS49-fQIC8Rm` #### `AUTH0_ISSUER` - 类型:必选 - 描述: Auth0 应用程序的签发人 / 域 - 默认值: `-` - 示例: `https://example.auth0.com` ### Microsoft Entra ID 目前,我们仅支持 Auth0,Microsoft Entra ID,Authentik 作为身份验证服务提供商。 如果您需要使用其他身份验证服务提供商,可以提交 [功能请求](https://github.com/lobehub/lobe-chat/issues/new/choose) 或 Pull Request。 #### `AZURE_AD_CLIENT_ID` - 类型:必需 - 描述:Microsoft Entra ID 应用程序的客户端 ID。 - 默认值:`-` - 示例:`be8f6da1-58c3-4f16-ff1b-78f5148e10df` #### `AZURE_AD_CLIENT_SECRET` - 类型:必需 - 描述:Microsoft Entra ID 应用程序的客户端密钥。 - 默认值:`-` - 示例:`~gI8Q.pTiN1vwB6Gl.E1yFT1ojcXABkdACfJXaNj` #### `AZURE_AD_TENANT_ID` - 类型:必需 - 描述:Microsoft Entra ID 应用程序的租户 ID。 - 默认值:`-` - 示例:`c8ae2f36-edf6-4cda-96b9-d3e198a47cba` ### Authentik 目前,我们仅支持 Auth0,Microsoft Entra ID,Authentik 作为身份验证服务提供商。如果您需要使用其他身份验证服务提供商,可以提交 [功能请求](https://github.com/lobehub/lobe-chat/issues/new/choose) 或 Pull Request。 #### `AUTHENTIK_CLIENT_ID` - 类型:必选 - 描述: Authentik 提供程序的 Client ID - 默认值: `-` - 示例: `YNtbIRlYF8Kj66mTLue59nsGLlb7HNyx1qjPH6VS` #### `AUTHENTIK_CLIENT_SECRET` - 类型:必选 - 描述: Authentik 提供程序的 Client Secret - 默认值: `-` - 示例: `h3lMI1vPUzqyqqeIDUbH5UNNOxyQLXk35h89yETeaAwHk7qVXBG3sJQWeqHBU5pyggwhP9u0eaZ1eq6DHUddVPLoS4gncqD37yuCr8jI8dY66WAt45MStDsDcQm0Ygze` #### `AUTHENTIK_ISSUER` - 类型:必选 - 描述: Authentik 提供程序的 OpenID Connect 颁发者 - 默认值: `-` - 示例: `https://your-authentik-domain.com/application/o/slug/` ### Github 目前,我们仅支持 Auth0,Microsoft Entra ID,Authentik,Github 作为身份验证服务提供商。如果您需要使用其他身份验证服务提供商,可以提交 [功能请求](https://github.com/lobehub/lobe-chat/issues/new/choose) 或 Pull Request。 #### `GITHUB_CLIENT_ID` - Type: Required - Description: Github应用的客户端ID。您可以在[这里][github-client-page]访问,并导航到应用程序设置以查看。 - Default: `-` - Example: `abd94200333283550508` #### `GITHUB_CLIENT_SECRET` - Type: Required - Description: Github应用的客户端密钥。 - Default: `-` - Example: `dd262976ac0931d947e104891586a053f3d3750b` ## 插件服务 ### `PLUGINS_INDEX_URL` - 类型:可选 - 描述:LobeChat 插件市场的索引地址,如果你自行部署了插件市场的服务,可以使用该变量来覆盖默认的插件市场地址 - 默认值:`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` - 类型:可选 - 描述:LobeChat 助手市场的索引地址,如果你自行部署了助手市场的服务,可以使用该变量来覆盖默认的市场地址 - 默认值:`https://chat-agents.lobehub.com` [auth0-client-page]: https://manage.auth0.com/dashboard [github-client-page]: https://github.com/settings/apps