快速结论:当笔记内容以 Markdown 形式(包含脚注引用 [^1])进入 Notes 编辑器时,marked.parse() 找不到自定义 footnote 类型的 renderer 而抛错,导致笔记无法渲染。优先排查 footnote-extension.ts 是否缺少 renderer,以及该笔记是否为 Notes 工具生成的 Markdown 内容。
适用环境:Open WebUI v0.13.3(release)及 dev 分支(commit ad646fc);Docker 部署;Ubuntu 24.04;Chromium 156.0.8078.47。Issue 未提供 Python、CUDA、PyTorch 或显卡信息。
最快修复方案:暂无确认的一步修复方案。Issue 中仅给出未经验证的本地 diff 参考(为 footnote 扩展补一个 renderer),报告者本人未在构建中验证,属可优先尝试方向。
注意事项:报错完全发生在客户端,服务端/容器日志中不会有记录;手动把同样文本粘贴进新笔记不会复现,因为粘贴走富文本插入而非 Markdown 解析,不能据此判断问题已修复。补 renderer 的 diff 未经构建验证,实际输出效果需自行确认。
问题场景
在 Open WebUI(v0.13.3 或 dev,Docker 运行)中,启用 Notes 内置工具的模型在聊天里创建了一条内容含脚注引用与定义的笔记(如 Test[^1] 加 [^1]: A definition.)。打开该笔记时,Notes 编辑器在客户端渲染失败,内容不显示;同样 Markdown 在聊天回复中可正常渲染。手动把相同文本粘贴进新笔记不会触发,因为粘贴内容作为富文本插入,不经过 Markdown 解析。
报错原文
Uncaught Error: Token with "footnote" type was not found.
Please report this to https://github.com/markedjs/marked.
at Ue.parseInline (marked.esm.js:2015:31)
at Ue.parse (marked.esm.js:1915:57)
at parse (marked.esm.js:1801:23)
at du.parse (marked.esm.js:2297:28)
at ee [as parse] (marked.esm.js:2330:27)
at NoteEditor.svelte:409:37
原因分析
根据 Issue 报告者的分析:footnote token 来自 Open WebUI 的自定义 marked 扩展。聊天回复使用 Open WebUI 自带的 Svelte 组件渲染 token,其中存在 footnote 分支,所以同样 Markdown 在聊天里正常。而 NoteEditor.svelte:409 直接调用 marked.parse(),marked 对自定义 token 类型要求提供 renderer:src/lib/utils/marked/footnote-extension.ts 定义了 start 和 tokenizer,但没有定义 renderer;同目录的 citation-extension.ts 则定义了 renderer。这可能就是崩溃的直接原因,但 Issue 未附官方修复提交,结论以维护者/实际验证为准。
环境排查
- 确认 Open WebUI 版本:v0.13.3 release 或 dev(commit ad646fc),Issue 在两个版本上均复现。
- 确认部署方式为 Docker,以及 Notes 内置工具是否已启用(复现需要模型具备该工具)。
- 确认笔记内容是否为含
[^1]的 Markdown 字符串,且经 Notes 工具写入(而非手动粘贴的富文本)。 - 浏览器使用 Chromium 156.0.8078.47,直接查看 DevTools 控制台中的客户端报错。
- Issue 未涉及 Python、CUDA、PyTorch、显卡,无需排查这些项。
解决步骤
- 在浏览器控制台确认报错堆栈中出现
Token with "footnote" type was not found且来源为NoteEditor.svelte:409,与其他笔记渲染问题区分。 - 检查
src/lib/utils/marked/footnote-extension.ts:若只有start与tokenizer而没有renderer,与你环境中的现象吻合。 - 可优先尝试:参照 Issue 中的参考 diff,为该扩展补一个 renderer(报告者示例为返回
<sup class="footnote-ref footnote-ref-text">...</sup>),注意该 diff 未经构建验证,需自行确认输出结构与样式。 - 修复后重建并重新部署(Docker 场景需重新构建镜像),再打开含脚注的笔记验证。
- 若不便改代码,可临时移除笔记中的
[^1]脚注标记使内容恢复渲染(Issue 已验证移除后可立即渲染,属绕过而非修复)。
验证方法
重新打开由 Notes 工具生成、含 [^1] 及脚注定义的笔记:编辑器不再抛错,笔记内容正常显示,脚注渲染或至少保留为字面文本;同时浏览器控制台不再出现 Token with "footnote" type was not found。可顺带在聊天中发送相同 Markdown,确认原有渲染未受影响。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


