新增: 截断标记事件契约字段(953 后端配套)

AiChatEvent 补 truncated_by_max_tokens, 与前端提示条消费配套
This commit is contained in:
lxy
2026-10-11 07:38:04 +08:00
parent f894196924
commit 3dcb3c6fea
+7
View File
@@ -198,6 +198,13 @@ pub enum AiChatEvent {
/// (provider 未报,前端 MessageList 据此标「估算」),false=真实值。仅影响展示,
/// 不参与 TokenAccumulator/save 累加路径。
is_estimated: bool,
/// 看板 953:最终收敛回复是否因 provider max_tokens 上限被截断(finish_reason=length)。
/// true=正常收敛路径文本被腰斩,前端主对话末条 assistant 气泡渲染截断提示条 + 继续输出;
/// false=完整。仅 agentic loop 正常收敛出口可传 true,停止/错误/保文/达轮次上限等
/// 退出点及零 token 收敛信号恒 false(截断语义与 incomplete 正交,不冒充不完整)。
/// #[serde(default)]:旧事件缺字段时前端按 false 兜底,向后兼容。
#[serde(default)]
truncated_by_max_tokens: bool,
/// 不完整标记(可选):Some(true)=网络中断保文,None 或 Some(false)=完整回复
incomplete: Option<bool>,
/// 不完整原因(与 incomplete 配合):Some("max_rounds")=达最大轮次自动收尾,