deepseek默认显示,无法通过环境变量控制

用户在 LobeChat v2.2.3 Docker 自托管版本中,尝试通过设置后端环境变量 ENABLED_DEEPSEEK=0 来关闭 DeepSeek 供应商显示,但该设置无效,DeepSeek 依然默认显示在供应商列表中。

deepseek默认显示,无法通过环境变量控制

deepseek默认显示,无法通过环境变量控制

快速结论:在 LobeChat 自托管 Docker 部署中,DeepSeek 供应商默认显示且无法通过 ENABLED_DEEPSEEK=0 环境变量隐藏。这是因为 DeepSeek 的启用逻辑被硬编码为 enabled: true,且其可见性依赖于 API Key 是否存在,而非独立的启用/禁用开关。

问题场景

用户在 LobeChat v2.2.3 Docker 自托管版本中,尝试通过设置后端环境变量 ENABLED_DEEPSEEK=0 来关闭 DeepSeek 供应商显示,但该设置无效,DeepSeek 依然默认显示在供应商列表中。

报错原文

ENABLED_DEEPSEEK=0 没有效果,设置后仍然默认显示该供应商

原因分析

根据 Issue 讨论和代码引用,这是 LobeChat OSS 版本的一个已知行为。DeepSeek 被硬编码为 enabled: true(参考 apps/server/src/globalConfig/index.ts 第 49-51 行),因此 ENABLED_DEEPSEEK=0 环境变量不生效。DeepSeek 的启用逻辑直接依赖于 !!process.env.DEEPSEEK_API_KEY(参考 packages/env/src/llm.ts 第 24-25 行),只要未配置 API Key,系统会默认将其设为显示状态。此外,由于 DeepSeek 在 OSS 构建中被设为默认供应商(PR #14555),即使不配置 API Key,它也会出现在列表中。

环境排查

  • LobeChat 版本:v2.2.3
  • 部署方式:Self hosting Docker
  • 运行环境:Web (Desktop Browser),Windows,Chrome
  • 尝试检查的环境变量:ENABLED_DEEPSEEKDEEPSEEK_API_KEY

解决步骤

  1. 确认当前版本和代码行为:检查代码中的 DeepSeek 启用逻辑。如果希望隐藏 DeepSeek,需要先确认是否受 OSS 模式下硬编码 enabled: true 的影响。
  2. 尝试全局开关(可优先尝试):设置 ENABLE_BUSINESS_FEATURES=true 环境变量。这会将除 LobeHub 外的所有供应商禁用,是一个“全有或全无”的开关,而非针对单个供应商的控制。请注意:此方法会禁用所有非 LobeHub 的供应商,可能不符合仅禁用 DeepSeek 的需求。
  3. 临时替代方案:目前 OSS 模式下没有针对 DeepSeek 的单供应商禁用机制。如需彻底隐藏 DeepSeek,可以考虑修改源码重新构建 Docker 镜像,或等待官方后续版本支持。
  4. 反馈和跟进:在 Issue 中标记这是一个环境变量配置支持的缺口,建议关注官方更新。

验证方法

重新部署 LobeChat Docker 容器后,刷新浏览器页面,检查供应商列表中是否不再显示 DeepSeek。如果使用 ENABLE_BUSINESS_FEATURES=true,确认 DeepSeek 及其他非 LobeHub 供应商均被隐藏。

参考来源

lobehub/lobe-chat #15721

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 7989

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注