Skip to content

[Bug] 桌面版 v3.14.0 图文混发偶发吞正文:带图发送时正文在输入队列准入层被清空(session_input 记录 text:""),模型只收到图 #868

Description

@cs-open1

提交前确认 · Pre-submission checklist

问题类别 · Category

对话 / Agent 交互 · Agent chat(输入框 / 发送链路)

涉及的 Agent 框架 · Agent framework

ZCode Agent(自研)

严重程度 · Severity

影响体验 · Major(用户的一段指令/信息被静默丢弃,模型与用户双方当时都不知情,直接影响任务结果)

复现频率 · Reproducibility

偶现 · Sometimes(同日 8 次带图+文字发送中出现 1 次)

问题描述 · Description

在输入框里同时带图片和正文发送时,偶发把正文清空:只有图片送达模型,正文文字完全消失。静默发生——输入框已清空、无任何报错或提示,用户以为发出去了,模型侧看不到任何文字。

本地会话库(~/.zcode/cli/db/db.sqlite)证据显示:文字在输入队列准入层就已经是空字符串,不是模型侧丢失。

复现步骤 · Steps to reproduce

用户流(偶发):

  1. 会话运行中(agent 正在干活,消息走 queue 排队路径)
  2. 在输入框输入一段正文,并附加一张图片(实测案例:附加的是会话内工具结果截图,zcode-artifact:// 引用)
  3. 发送
  4. 实际送达模型的消息只有一个空字符串 text 部件 + 一个 image file 部件

事后取证(本地 SQLite,可复核):

-- 2026-09-29 17:18:25,队列准入记录:text 为空串
SELECT * FROM session_input WHERE time_created=1790673505000±;
-- → {"text":"" ...}  status: promoted

-- 2026-09-29 17:18:35,落库的用户消息(msg_mumgryzi_476efbd3-11c0-418b-a435-b303d7be5577)
-- parts: {"type":"text","text":""} + {"type":"file","mime":"image/jpeg","url":"zcode-artifact://..."}

期望表现 · Expected behavior

图片和正文一起送达模型;若准入时正文异常为空而用户明显输入过内容,应阻断发送、保留草稿或至少提示,而不是静默丢字。

实际表现 · Actual behavior

  • 模型只收到一张图,正文字段为 ""(空字符串),无任何文字。
  • input_history 表连这条发送的记录都没有(正常发送都有对应行),即输入历史层也丢了痕迹;只有 session_input 里留下 text:"" 的空壳。
  • 用户事后在会话里原话确认(同会话 17:44:00):「我刚刚发的军师的信息,上下文根本看不到」;(17:49:35):「刚刚发给你的就是文字,被吞了」。

对照组(说明是偶发而非必现)

同日其余 7 次带图+文字发送(如 17:16:22、11:44:21、10:41:03,含 queue 与 startNow 两种投递方式)正文均正常送达。怀疑是附图/粘贴与正文快照的并发时序问题(准入时刻取到的 text 快照为空)。

ZCode 版本 · ZCode version

v3.14.0(ZCode.exe 3.14.0.7681,Windows 桌面版)

设备 / 系统 / 浏览器 · Device / OS / Browser

Windows 10 19045 x64 桌面版;模型 GLM-5.3(GLM Coding Plan);事发会话 sess_c403de3c-dff0-4a0e-afce-4dfe0b984789。

截图 / 录屏 / 日志 · Screenshots / Recordings / Logs

  • 事发时间线(本地时间 2026-09-29):17:18:25 session_input 准入 text:"" → 17:18:35 消息落库(text 部件 "" + image/jpeg file 部件)→ 17:18:46 用户重发纯文字补救 → 17:44:00 / 17:49:35 用户在会话内投诉文字被吞。
  • 需要完整取证脚本或 db 导出片段的话我可以补充。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions