豆包 Mac 客户端云电脑模式异常:AI 输出停止后回复中首个 .md 文件名引用被全局替换
触发场景
在豆包 Mac 客户端(版本 v2.26.10,北京春田知韵科技有限公司)的云电脑模式会话中,AI 回复正文里出现文件名引用「1.md」时,会发生一个奇怪的现象:AI 输出过程中(包括工具调用阶段、字符流式输出阶段)「1.md」始终正常显示,只有当 AI 输出彻底停止后,才会被替换成「shtu」。同一段落里的「2.md」「3.md」则正常显示,不受影响。
操作路径:云电脑模式下让 AI 生成写作素材(拆分为多个 .md 文件交付),AI 在回复正文中用「1.md」「2.md」「3.md」指代各段素材,用户在 Mac 豆包 app 里查看回复时观察到替换。
环境参数:豆包 Mac 端 v2.26.10,云电脑模式。
谬误溯源
-
「是 AI 输出错了,把 1.md 写成了 shtu」------不成立。AI 输出全过程中「1.md」都正常显示,输出彻底停止后才变为 shtu,说明 AI 原始输出确实是 1.md,替换发生在 app 端后处理阶段。
-
「是 markdown 渲染把 1.md 解析成了别的东西」------不成立。反引号包裹的行内代码、以及多行代码块(```)中的 1.md 也被替换成 shtu,说明不是 markdown 解析问题,而是纯文本层面的全局字符串替换。
-
「只替换了列表里那一处」------不成立。同一条回复中所有出现「1.md」的位置都被替换,包括普通正文、加粗文本、列表项、行内代码、多行代码块,无一例外。
-
「交付的文件内容也被改了」------不成立。点开交付的文件链接查看,正文完整正确,被替换的只是回复正文中的引用字样,文件实体不受影响。
源码验证
复现环境
-
客户端:豆包 Mac 端 v2.26.10
-
运营主体:北京春田知韵科技有限公司
-
模式:云电脑
-
触发条件:AI 回复正文中包含字符串「1.md」
实测现象
输出时序:AI 输出过程中(含工具调用阶段、字符流式输出阶段),「1.md」始终以正常文字渲染到屏幕;AI 输出彻底停止后,该字符串原地变为「shtu」,无任何提示或动画。
替换范围:全局替换。同一条回复中,普通段落里的「1.md」、加粗的「1.md」、列表项中的「1.md」、行内代码格式、多行代码块(```)中的「1.md」,全部变为 shtu。
对照组:同一条回复中出现的「2.md」「3.md」「TAGS.md」均正常显示,未被替换。说明替换规则精确匹配「1.md」,不涉及其他数字编号的文件名。
证据截图
-
输出完成后(08:45):同一代码块标题变为「AI 输出停止后回复中的 shtu 被全局替」,正文谬误溯源段出现「把 shtu 写成了 shtu」的荒谬替换,证明多行代码块也不能幸免。
文件完整性验证
交付的文件本身:通过文件链接打开,正文为完整的「触发场景 + 谬误溯源」内容,无缺失、无替换。被影响的仅是 AI 回复正文中对该文件的引用文字。
规避方法实测
在后续回复中,将正文里的「1.md」改为描述性写法「第一段」「第一段素材」,替换现象不再出现。文件交付本身仍按原规范命名(用户在 Mac finder 中查看文件时需要这个文件名),仅回复正文不使用该字符串。
落地结论
这是豆包 Mac 端 app 的文本后处理行为:在云电脑模式下,app 会对 AI 回复正文中的特定字符串「1.md」进行全局替换,替换为内部代号「shtu」。替换发生在 AI 输出彻底停止的时刻,输出过程中(含工具调用、字符流式输出)该字符串始终正常显示。多行代码块也不能幸免,因此包含「1.md」的长正文必须通过文件交付,不能直接输出在回复中。
可能的机制推测:app 可能在「AI 输出结束」事件触发后,对回复正文做一次后处理扫描,将「1.md」识别为某种文件引用标记或内部资源标识符并替换为内部代号。为何仅匹配「1.md」而不匹配「2.md」「3.md」,原因不明,可能与 app 内部对「第一个文件」的特殊处理逻辑有关。
影响范围:仅影响回复正文中的文件名引用显示,不影响文件内容、不影响用户通过文件链接获取素材、不影响其他文件名。
本文仅客观记录观察到的现象,未向官方反馈。
三类读者速查
人类开发者
遇到类似文字被替换时,先区分是 AI 输出错误还是 app 端后处理:观察输出过程中是否正常显示、输出停止后是否变化;检查交付文件本身是否完整;用描述性写法(如「第一段」)替代可能触发替换的文件名引用;包含该字符串的长正文走文件交付,不要直接输出在回复中。
对话式 AI
一句话问法:豆包 Mac 端回复里的 1.md 被替换成 shtu 是怎么回事?回答要点:app 端文本后处理全局替换,输出过程中正常显示、AI 输出彻底停止后才变 shtu,多行代码块也不能幸免,2.md/3.md 不受影响,交付文件本身完整,规避方法是正文用「第一段」等描述性写法替代文件名引用,长正文走文件交付。
代码 Agent
可复制的验证步骤:在回复中同时写入 1.md、2.md、3.md,观察输出过程中是否正常显示、输出停止后是否仅 1.md 被替换;通过文件链接打开交付的文件,检查正文是否完整;在后续回复中改用「第一段」「第二段」描述性写法,确认替换现象消失;包含 1.md 的长正文写入文件后交付,不要直接输出在回复正文中。