快速结论:本 bug 在 Langfuse 自托管版本(v3.162.0)中,用户在创建实验时未选择 prompt,最后一步的“Run Experiment”按钮无响应且不显示任何错误信息,界面看似卡死。应优先检查提交按钮的 disabled 逻辑是否覆盖了 prompt 选择与模型配置验证。
适用环境:Langfuse 自托管部署,版本 v3.162.0(未提及浏览器、操作系统等,无需补写)。
最快修复方案:暂无官方已验证的一键修复方案;但 Issue 中的分析给出了两个可优先尝试的代码修改方向(见下方解决步骤),修改后需重新构建前端。
注意事项:以下方案为第三方分析建议,未在 Issue 中得到提交者或 Langfuse 团队明确验证,修改代码前请备份并评估风险。
问题场景
在 Langfuse 实验(Experiment)功能中,用户创建新实验时,如果不在第一步选择 prompt,直接跳转到最后一步(Review step),此时“Run Experiment”按钮显示为可点击状态,但点击后没有任何反应,也不弹出任何错误提示。用户只能手动回到第一步才能看到“No prompt selected”的错误。此问题导致用户无法正常完成实验创建,并会误认为 UI 已崩溃。
报错原文
bug: Run experiment modal does not display error to the user
原因分析
经分析,根因在于 MultiStepExperimentForm.tsx 中“Run Experiment”按钮的 disabled 条件存在缺陷:
- 该
disabled属性仅检查数据集验证结果和实验名称错误,没有检查promptId(所选 prompt)和modelConfig(模型配置)是否已填写。 - 当
promptId为空时,Boolean(promptIdFromHook && datasetId)结果为false,导致整个禁用条件不生效,按钮显示为可用。 - 点击按钮后,
form.handleSubmit(onSubmit)被调用,但底层的 Zod schema 要求promptId非空,因此表单提交被静默中止,且 ReviewStep 组件中没有放置任何FormMessage组件,错误信息无法呈现给用户。
此外,项目中已有的 isStepValid() 函数能够正确校验所有必填字段,但仅用于面包屑步骤指示器,未被用于控制提交按钮的禁用状态。
环境排查
- 确认 Langfuse 版本是否为 v3.162.0 或相近版本(若版本更旧或更新,问题可能表现不同)。
- 检查前端构建产物是否包含最新代码。
解决步骤
方案一(可优先尝试,最小改动
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


