[建议 / Feature] chat.z.ai: 允许在对话进行中切换模型 (switch model mid-conversation)
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
简述 / Summary
在 chat.z.ai 网页端对话过程中,希望能够随时切换当前对话使用的模型(例如从 GLM-4.6 切换到 GLM-4.5-Air、或 GLM-4.5-Flash 等),而无需新建对话或丢失上下文。
On chat.z.ai, allow the user to switch the active model at any point during an ongoing conversation (e.g. from GLM-4.6 to GLM-4.5-Air / GLM-4.5-Flash, etc.) without having to start a new chat or lose prior context.
现状 / Current Behavior
- 在 chat.z.ai 中,模型选择通常发生在新建对话时;一旦对话开始,后续所有消息都会沿用同一模型,用户无法在中途切换。
- 若想对比不同模型对同一问题的回答,或在不同任务阶段使用不同模型(例如先用 GLM-4.6 做推理、再用 GLM-4.5-Flash 做快速总结),目前只能:
- 新建一个对话,重新粘贴上下文;或
- 在对话间手动复制 / 回放历史,体验割裂且容易丢失上下文。
- 这与 OpenAI ChatGPT、Anthropic Console 等竞品网页端相比存在体验差距 —— 它们均支持在对话内随时切换模型,且历史消息保留原模型标识。
期望行为 / Desired Behavior
- 在对话输入区附近提供模型选择下拉 / 切换控件,允许用户在任意一轮消息之前选择本次回复使用的模型。
- 切换后:
- 历史消息保持不变,上下文完整继承;
- 仅"下一条 AI 回复"使用新模型;
- (可选)在每条 AI 回复的消息气泡上显示生成时所用的模型名 / 图标,便于回溯。
- 切换模型不应清空对话、不应重置系统提示词、不应影响已上传的文件 / 知识库引用。
- 如果对话中某些模型不支持的功能(如视觉、代码执行)被引用,应给出明确提示而非静默失败。
使用场景 / Use Cases
- 成本/速度权衡:复杂推理步骤用 GLM-4.6,简单总结 / 翻译步骤切换到 GLM-4.5-Flash 节省 token 与时间。
- 对比评测:在同一上下文下,快速切换模型对比回答质量,无需在多个对话间复制粘贴。
- 能力互补:先用通用模型理解需求,再切换到擅长长上下文 / 代码 / 多模态的模型完成特定子任务。
- 降级容错:当某个模型出现限流 / 异常时,可在同一对话内切换到备用模型继续推进,而不丢上下文。
备注 / Notes
- 每条 AI 回复持久化记录所用的
model_id,前端渲染时回填展示,可同时解决"事后想知道某条回答是哪个模型给的"的诉求。 - 若计费 / 配额按模型独立计算,切换时建议在控件旁展示当前模型的剩余额度或费率提示,避免用户误操作。
Regards,
Roman
http://www.rommark.dev
VIbe Coders Telegram Channel: https://t.me/VibeCodePrompterSystem
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The payload names no source files, tests, or entry points, so first identify the chat.z.ai implementation repository and clarify the model-routing and persistence boundaries. Use the listed behavior as acceptance criteria: switch only the next reply, preserve history and context, retain each reply’s model_id, and report unsupported capabilities clearly.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100