docs(api): §3.5 补 input 节点 props.steered(13.4.5 的图增量键,此前只登记在 v0.57 变更记录里)
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled

- `input.steered: bool` = 本回合在**回合内边界**吃过新到达的用户消息时出现;纯增量、可选,
  标记只并入既有 input 节点(不新建节点、不改标签,图仍一条主干)
- 依据:`internal/runtime/loop/flow.go` 的 MarkInputSteered(nil/白名单外为空操作)
- 同步(DevDocs,不进 git):design/15 末节接口表改为实态 —— 转向源是**按回合挂在 ctx 上**的
  `loop.WithSteerSource`/`SteerSourceFrom`(不是构造期注入的 HistoryReader),理由=「哪些消息是本回合
  新到的」是按回合的状态、单例 loop 无法持有 ⇒ 组合根零改动;`steer_ack` 写法改为帧壳 + data 实态;
  并修 §2.4 的「按 created_at 去重」口径(实现只按转录行 id 去重 + (内容,图片) 配对,**不用时间戳**)
This commit is contained in:
AskaEth committed 2026-10-04 16:30:57 +08:00
1 parent 4adfc9a2df
commit b65fe05635
1 file changed
+1
+1
View File
@@ -380,6 +380,7 @@
- **guardrail 节点**:`action`(`guardrail.input` | `guardrail.output`)、`allow: bool`、`elapsed_ms`;检查本身报错时另带 `error`。
- **memory 节点**:`action`(`recall` | `write`)、`scope`(`owner` | `restricted`)、`hits` / `bytes` / `count` / `failed`、`elapsed_ms`——**只记元数据,不含任何记忆正文**。
- **orchestration 节点**:`subagent`(被派发的子代理 id)、`persona`(指定目标角色时才有)、`elapsed_ms`。
- **input 节点(v0.57,裁决 13.4.5 目标态)**:`steered: bool`——本回合在**回合内边界**吃过新到达的用户消息(steer)时出现;**纯增量、可选**,老客户端忽略即可(标记只并入既有 input 节点,不新建节点、不改标签,图仍只有一条主干)。
- `log` 为该节点累积的 span 事件 `[{time,type,props?}]`(设计 §2「节点实时日志」)。
- **客户端处理**:`graph_update` → `setFlowGraph(parseGraph(data))`(`src/lib/wsParse.ts`)——**图按 `data.sessionId` 落进该会话的「图桶」**(v0.54,裁决 16.4.2;前端 `frontend/web/src/store/sessionCache.ts` 的 `putGraph` / `currentGraph`,桶上限 12 张、超出时丢最久未更新的一张)。管理端「全链路流程」页(`admin/modules/Flow.tsx`)与 Agents 页取**激活会话**的图(该会话还没有图时回落主会话最近一张);**Backthink 页**(`admin/modules/Backthink.tsx`)取 `sess-backthink` 的图——后台思考的图**不再顶掉**管理员看的「当前会话」图。节点可点开看参数/结果/实时日志;无图时诚实显示「暂无流程」。