快速结论:当 Open WebUI 的 Function(函数/过滤器)在加载执行时抛错,系统会自动把该 Function 的 is_active 置为 False(切换为停用),这是官方设计行为而非 Bug。优先排查:修复 Function 代码中的依赖或语法错误后,前往“管理面板 → Functions”手动重新开启开关。
适用环境:Open WebUI(问题验证于 2a960a5 提交版本);涉及全局安全过滤器(is_global=True)、Python 环境及 Function 导入的第三方依赖。未提供具体的操作系统、CUDA、显卡等硬件环境证据。
最快修复方案:暂无“不修改代码即可恢复”的一步方案;修复代码错误后需手动重新启用:在管理面板 Functions 页面将对应开关拨回开启状态(对应 API:POST /api/v1/functions/id/{id}/toggle)。
注意事项:触发错误的请求会失败(fail closed),但后续请求会因过滤器被自动停用而不再被拦截——对于全局安全过滤器,这相当于静默绕过,需及时修复并重新启用。该自动停用机制是官方有意设计(2024 年 9 月引入),并非缺陷。
问题场景
在 Open WebUI 中,用户配置了自定义 Function(典型场景为全局安全检查过滤器)。当该 Function 的存储代码在加载执行时抛出异常(例如:所依赖的第三方库被移除/升级、Python 版本变化导致可选导入失败、代码编辑保存不完整等),系统会触发自动停用逻辑。此后该 Function 对所有模型、所有用户均不再生效,且管理界面无自动恢复机制。
报错原文
Error loading module: <function_id>: <the error>
# Functions.update_function_by_id(function_id, {'is_active': False})
原因分析
这是官方设计行为。核心逻辑位于 backend/open_webui/utils/plugin.py 的 load_function_module_by_id:当执行 Function 存储代码抛出异常时,系统会捕获异常、从 sys.modules 中移除模块,并将数据库中该 Function 的 is_active 置为 False 后重新抛出异常。该设计的目的是避免一个已损坏的 Function 在每次请求时反复报错。仅返回 is_active=True 的过滤器(get_active_filter_ids),因此自动停用后 Function 不再参与任何后续请求。此行为在官方文档“When a Function Fails to Load”一节中有明确描述。
环境排查
- 确认 Open WebUI 版本(问题报告于
2a960a5,自动停用机制自 2024 年 9 月cf86ba778起引入)。 - 检查 Function 代码中导入的所有第三方依赖是否仍可用、版本是否兼容。
- 确认 Python 版本变动是否导致某些可选导入失败。
- 查看 Open WebUI 服务端日志,定位
Error loading module: <function_id>的完整堆栈。
解决步骤
- 查看 Open WebUI 服务端日志,找到
Error loading module对应的 Function ID 及具体 Python 异常堆栈。 - 根据堆栈信息修复 Function 代码:恢复缺失的依赖、调整 import 语句或修正语法错误。
- 进入“管理面板(Admin Panel)→ Functions”页面,找到对应条目。
- 手动将开关拨回“开启”状态(或调用
POST /api/v1/functions/id/{id}/toggle)。 - 发起测试请求,确认 Function 恢复正常工作。
验证方法
修复代码并重新启用后,发送一个会触发该 Function 逻辑的测试请求,观察:1) 服务端不再出现 Error loading module 日志;2) Function 的预期行为(如安全过滤器拦截特定内容)恢复正常;3) 管理面板中该 Function 开关保持“开启”状态。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug] Service API / console segment update clears attachments when attachment_ids is omitted](https://www.chat-gpts.plus/wp-content/uploads/2026/09/41774-dd68358e-768x403.jpg)
