快速结论:当开启 “Paste Large Text as File” 后,长文本会被自动上传为 Pasted_Text_<timestamp>.txt 并挂到整个对话(chat)而不是当时那条消息上,此后每一轮对话都会把这份全文重新注入模型上下文,表现为后续消息也显示 “Found N sources” 且模型一直围绕粘贴内容回答。
适用环境:Open WebUI 0.11.4,Docker 部署;开启 “Paste Large Text as File”,并关闭 “Bypass Embedding and Retrieval” 与 “Full Context”。
最快修复方案:暂无确认的一步修复方案。Issue 中唯一被验证有效的处理方式是:在不再需要该粘贴内容时,从对话历史(chat history)中删除这个粘贴生成的 Pasted_Text_<timestamp>.txt 文件。
注意事项:该 Issue 最终被维护者标记为 “Intended”(预期行为)关闭,即当前的对话级文件续传可能是设计取舍,而非计划修复的缺陷;因此下述步骤属于规避手段。删除文件会同时移除该粘贴内容的引用,无法只针对某一轮关闭注入;关闭 “Paste Large Text as File” 可以避免产生这类文件,但长文本会留在消息里,界面滚动体验会变差。
问题场景
在 Open WebUI 会话界面(网页前端)中开启 “Paste Large Text as File” 后,粘贴超过 PASTED_TEXT_CHARACTER_LIMIT(1000 字符)的文本,会折叠为 Pasted_Text_<timestamp>.txt 文件。该文件以 context: "full" 上传并存到 chat.files(对话级文件列表)。之后在同一对话里再发送任意新消息,即使没有附件,前端请求的 files 数组仍由“对话级文件列表 + 父消息文件”组成,把该 paste 文件一路带上;后端 chat_completion_files_handler 读出 context == "full" 的整段内容并注入 RAG 模板,于是每条后续回复都显示 “Found N sources” 并围绕粘贴文本作答。此问题与浏览器重传文件字节导致的 413 问题(#15846)不同,字节始终留在服务端,重复的是前端重复提交文件引用、后端重复读取存储内容。
报错原文
issue: pasted large text stays attached to the chat and is re-injected as a source on every later message
Found N sources
原因分析
核心原因是文件作用域不对:paste 生成的文本文件被绑定在对话(chat)上,而不是它粘贴进去的那条用户消息上。可能原因链条如下:
- 前端
MessageInput的粘贴处理:超过 1000 字符的粘贴走普通文件上传路径,并带上{context: "full"}。 - 前端提交:请求的
files数组由对话级文件列表加上父消息的文件共同构成,因此 paste 文件会出现在每一轮后续消息中。 - 后端
chat_completion_files_handler:只要条目的context == "full",就从存储中读取完整内容并通过 RAG 模板注入,这也就是 UI 上 “Found N sources” 的来源。
Issue 中的 trace 显示,紧跟 “hello” 的后续问题 “how is your mood?” 没有任何自己的文件,却仍显示 2 个来源,且 prompt_tokens 基本一致(44619 对 44672),说明整段粘贴内容被第二次发送。多个 paste 还共享同一个内容哈希,导致同一段文本被注入两次。
环境排查
- 确认 Open WebUI 版本与部署方式(Issue 为 0.11.4,Docker)。
- 确认界面设置中 “Paste Large Text as File” 是否开启。
- 确认 “Bypass Embedding and Retrieval” 与 “Full Context” 的状态(本例均为关闭)。
- 检查对话历史里是否存在
Pasted_Text_<timestamp>.txt这类对话级文件(chat.files),以及其是否带"context": "full"。 - 对比连续两轮的
prompt_tokens:若后续轮次没有自带文件却与首轮相近,基本可判定粘贴内容被重复注入。
解决步骤
- 定位问题文件:打开该对话的文件/历史记录,找到由粘贴自动生成的
Pasted_Text_<timestamp>.txt。 - 从对话历史中删除该粘贴文件,这是 Issue 中唯一确认能停止重复注入的操作。
- 若不想每次手动删除,可在界面设置中关闭 “Paste Large Text as File”(Issue 作者采用的做法)。关闭后长文本会保留在消息正文中并影响滚动,但不会再作为对话级文件被反复注入。
- (可优先尝试,但 Issue 未验证)关注社区中关于把粘贴内容改为“文件引用 + 按需读取”的方案,Open WebUI 已有
query_chat_files工具,但当前粘贴路径未使用它;该改进是否落地请以官方后续版本为准。
验证方法
删除粘贴文件或关闭该设置后,发送一条与粘贴内容无关的新消息,检查其助手回复下方是否仍显示 “Found N sources”,并对比该轮的 prompt_tokens 是否明显低于首轮。若后续消息不再出现粘贴来源、token 数回落且模型按新问题作答,说明重复注入已停止。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug]: Qwen3-Reranker: Process Hang with `/score` Endpoint for Specific Data](https://www.chat-gpts.plus/wp-content/uploads/2026/10/24704-b0c5e643-768x403.jpg)
![[Bug]: /v1/embeddings deadlocks when a truncated input follows a short one in the same request](https://www.chat-gpts.plus/wp-content/uploads/2026/10/55427-1df4d760-768x403.jpg)