主人 2026-10-07:「她在聊天消息中插入了 html/md 标签,能否增加网页前端 对此类标签的基本渲染支持?」 实测现场(最近 12 条 assistant 消息):<p> 96 次、<action> 34 次 (这两个前端已支持),<b> 6 次(未支持 => 裸标签直接显示给用户); Markdown 记号 0 个 => 她不用 Markdown,所以不引 Markdown 引擎。 - 新增 inlineMarkup.ts(纯逻辑,111 行):把文本切成「文本 / br / 行内元素」 的节点树;渲染与解析分离,不拼 HTML - renderContent.tsx 沿用既有出入口,把节点树映射成 React 元素; 既有 <p> / <action> 机制原样不动 - 白名单:b / strong / i / em / code / u / s(成对)+ br(void), 标签名大小写不敏感;不做块级、不做 a(独立安全面)、不做 Markdown - 安全:全程无 dangerouslySetInnerHTML(文本走 React 子节点,默认转义); 属性一律丢弃(节点类型里没有属性位);白名单外 => 纯文本字面量; 结构不平衡(未闭合/交错)=> 整段降级为原文,字符一个不丢 - 测试 76 条断言(esbuild + node,零新依赖);含 3 条安全性质 - 无回归:改动前后 11 个消息样例过真实 SplitChatBubble 链路逐字节对照, 7 个 SAME,4 个 DIFF 恰是含白名单标签的样例