docs/RELEASE_NOTES_v0.1.15.md
Rama main · réplica de lectura del repositorio original.
# BailingHub v0.1.15:可信富内容渲染与聊天可靠性
`v0.1.15` 改善聊天入口在真实业务分析场景中的等待体验、结构化展示能力和运行时收敛性。官方 Widget 仍保持零依赖核心;图表等富内容由宿主页面显式注册可信渲染器,模型只输出受限的声明式数据。
## 用户可见结果
- 流式回复可先显示临时进度气泡;权威最终回复到达后自动替换临时内容,不在会话中留下重复消息。
- 官方 Widget 支持宿主页面注册可信渲染器,并可根据表格或图表宽度自适应扩大聊天窗口;用户也可最大化和恢复窗口。
- 支持安全 Markdown 表格。图表使用声明式 fenced payload,未知类型、无效 JSON、超限数据或渲染异常会回退为普通代码块。
- 只有客户端明确声明并实际支持某种渲染器时,中枢才会把该展示能力作为可选提示提供给模型;模型仍可根据真实数据决定只输出文字或表格。
## 自建聊天客户端
没有加载官方 `widget.js` 的业务前端必须自行承担四项职责:
1. 创建任务时通过 `client_capabilities.renderers` 声明本地已安装并信任的渲染类型;
2. 把 `delta` 作为临时文本,收到 `reset` 时清空;
3. 用 `done.reply` 替换临时气泡,并把它视为唯一权威最终文本;
4. 只在 `done` 后通过成熟 Markdown 解析器识别完整代码块,再交给本地白名单渲染器。
`client_capabilities` 只用于展示协商,不改变身份、路由、工具白名单、审批或业务系统最终授权。最小传输范例见 [`examples/custom-streaming-chat-client.mjs`](examples/custom-streaming-chat-client.mjs)。
## 运行时可靠性
- 追加工具检索设置独立上限,并在没有新增工具时提前收口,避免同义改写形成无界模型轮次。
- 工具返回 HTTP 错误页时,只向后续模型轮次提供紧凑错误摘要;完整响应继续按独立上限保留在审计记录中。
- LLM trace 增加请求规模、工具数量、推理字符数、首 token 和总耗时等低敏指标,便于定位慢链路而不记录密钥或业务正文。
## 兼容性与安全边界
- 无数据库迁移。
- 不修改 ACC、Client API 版本、执行器协议、工具签名、审批语义或业务权限。
- 不声明 `client_capabilities` 的旧客户端继续只接收普通 Markdown;未知富内容类型安全降级。
- 核心 Widget 不引入 ECharts、GPT-Vis、Mermaid 等第三方依赖,不执行模型生成的 HTML、JavaScript、事件处理器或远程脚本。
## 验证
```bash
npm run release:check
```
重点验证还包括 Widget 渲染器注册、失败回退、清理生命周期、能力协商、流式临时消息替换和自建客户端范例语法。
## 相关文档
- [可信富内容渲染器](WIDGET_RENDERERS.md)
- [流式聊天契约](STREAMING.md)
- [第三方对接指南](第三方对接指南.md)
- [兼容性与升级](兼容性与升级.md)
- [English release notes](RELEASE_NOTES_v0.1.15.en.md)