新增: spawn_agent 子代理派发与级联取消
- 纯内存子会话隔离上下文,一轮回传结论报告 - 白名单钳制低风险并恒剔 spawn_agent 防递归 - 子代理策略下高风险自动拒绝,不挂审批防卡死 - 轮数令牌挂钟三重熔断 - 父停止与删会话级联取消子代理 - AiAgentFinished 事件挂父会话
This commit is contained in:
@@ -222,6 +222,23 @@ pub enum AiChatEvent {
|
||||
/// - 点继续 → ai_continue_loop → try_continue_agent_loop 再跑 max_iterations 轮
|
||||
/// - 点停止 → ai_stop_loop → 走完成流程(save + AiCompleted + generating=false)
|
||||
AiMaxRoundsReached { conversation_id: Option<String> },
|
||||
/// 子代理结束(spawn_agent v1):每个子循环统一出口经挂父会话 emit 一条,
|
||||
/// 汇总子代理终态供前端展示(消费二期)。报告本体不经本事件传输(经父 tool_result
|
||||
/// 返回值交付),此处 summary 仅为终态快照摘要。
|
||||
///
|
||||
/// 字段:
|
||||
/// - `agent_id`:子会话 id(形态 `{parent}::agent-{n}`,与 Started 无对应卡,独立事件)
|
||||
/// - `conversation_id`:父会话 id(路由键,挂父不挂子,子会话不在侧栏)
|
||||
/// - `status`:"completed" | "truncated" | "failed"
|
||||
/// - `rounds`/`tokens`:实际执行轮数与累计 token(启动失败为 0)
|
||||
AiAgentFinished {
|
||||
agent_id: String,
|
||||
conversation_id: Option<String>,
|
||||
summary: String,
|
||||
status: String,
|
||||
rounds: u32,
|
||||
tokens: u64,
|
||||
},
|
||||
/// 流式调用自动重试提示流前失败重试中)
|
||||
///
|
||||
/// 每次重试前 emit,前端可在错误气泡内显示「重试 n/m」。
|
||||
|
||||
Reference in New Issue
Block a user