快速结论:在 router 模式下,模型名称包含斜杠(如 ggml-org/...::model)会导致对话 ID 在路径参数中被截断,进而使“停止生成”失效、页面刷新后文本丢失、侧边栏状态消失。优先检查模型名称是否包含斜杠,并应用对应修复补丁(commit 8bc2246)。
适用环境:仅确认在 Windows 系统、llama-server 版本 10106(Git 1425386fd,Clang 20.1.8 编译)的 router 模式下触发;单个模型模式或自定义 GGUF 集合模式不受影响。
最快修复方案:应用 commit 8bc2246,该修复可解决停止生成、刷新后恢复会话的主要问题。
注意事项:“停止生成”在模型加载阶段(weight loading / prefill)仍可能偶发异常,需额外应用 PR #26137 以及其上方的 commit b8c0ffa、7c271ad 才能完全修复。
问题场景
用户在 Windows 上启动 llama-server 并使用 WebUI 与多个模型交互。典型启动命令:llama-server -lv 3 --port 8080 --models-autoload。当在 WebUI 中开始生成后,点击 prompt 输入框旁的“stop”按钮、或刷新页面(F5),出现以下症状:停止操作无效(生成继续)、页面刷新后之前生成的文本消失、侧边栏状态指示器和停止按钮不恢复(或显示警告 router stop for unknown conv_id=...)。该问题仅在 router 模式下复现,单个模型模式 SSE 行为正常。
报错原文
router stop for unknown conv_id=..., no owning child in the conv map
原因分析
根本原因是模型名称中包含斜杠(例如 ggml-org/Qwen3.5-0.8B-GGUF:Q4_0)。在 router 模式下,WebUI 会将 ::model 附加到对话 ID 上,形成的 ID 形如 4a09c75b-...::ggml-org/Qwen3.5-0.8B-GGUF:Q4_0。该 ID 被用于 /v1/stream/:conv_id 路径,当服务器解析路径参数时,conv_id 中的斜杠会导致参数在解码时被截断,使得“停止”和“恢复”请求无法匹配正确的会话。单个模型模式下对话 ID 没有 ::model 后缀,因此不受影响。
环境排查
- llama-server 版本 ≥ b9994 且 ≤ b9910(或包含 SSE replay 的 commit
1a87dcdc452de056a66796b679e4ba7071488cf7之后的版本) - 必须启用 router 模式(–models-autoload 或显式指定多个模型)
- 模型名称必须包含斜杠(如
author/model格式的 Hugging Face 模型 ID) - 操作系统:仅确认 Windows
解决步骤
- 备份原有 llama-server 二进制文件或源代码。
- 应用修复 commit 8bc2246(直接包含对
conv_id路径参数截断问题的处理)。 - 如果需要在模型加载阶段也能正确停止,请同时应用以下三个 commit(按顺序):
- 重新编译 llama-server(参考官方构建指南),或等待包含这些修复的官方发布版本。
验证方法
在 WebUI 中执行以下步骤确认修复效果:
1. 使用包含斜杠的模型(如 ggml-org/Qwen3.5-0.8B-GGUF:Q4_0)。
2. 开始生成一段文本。
3. 点击 prompt 输入框旁的“stop”按钮,观察生成是否立即停止。
4. 刷新页面(F5),确认之前生成的文本完整恢复,侧边栏状态指示器显示正确。
5. 若已应用加载阶段修复补丁,则在模型加载过程中点击“stop”,确认不会出现 router stop for unknown conv_id 错误。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


