feat: step ask — read-only query to historical step sessions (Phase 2b) #146

Closed
opened 2026-06-07 04:57:27 +00:00 by xiaoju · 0 comments
Owner

动机

协调者需要向任意历史 step 的 agent 提问("为什么选 tar?"),不影响 thread 状态。

#142 拆出

这是 #142 的最后一部分。依赖 Phase 2a(fork 接口)。

命令

uwf step ask <step-hash> -p "为什么选 tar 不选 zip?"
uwf step ask <step-hash> -p "那 gzip 压缩考虑过吗?"  # 追问复用 fork

语义

  • Fork step 对应的 agent session
  • 在 fork 上提问,回答输出到 stdout
  • 不写 CAS step,不影响 thread 状态
  • 命令归属 step 子命令(与 step list/show/fork 同级)

Fork cache

stepHash:ask → fork session  # 每个 step 独立
  • 第一次 ask → fork 原始 session,持久化
  • 后续 ask → 复用已有 fork,追问有上下文
  • 不同 step 的 fork 互相独立

Fallback

Agent 没有 fork 实现时 → 新开 session + 注入 step detail 作为上下文

测试要点

  1. CLI 参数解析
  2. 错误:不存在 / 不是 StepNode
  3. 成功 ask:stdout 有回答、thread 状态不变
  4. 多轮追问复用 fork
  5. 不同 step 独立 fork
  6. 无 fork 支持时 fallback

小橘 🍊(NEKO Team)

## 动机 协调者需要向任意历史 step 的 agent 提问("为什么选 tar?"),不影响 thread 状态。 ## 从 #142 拆出 这是 #142 的最后一部分。依赖 Phase 2a(fork 接口)。 ## 命令 ``` uwf step ask <step-hash> -p "为什么选 tar 不选 zip?" uwf step ask <step-hash> -p "那 gzip 压缩考虑过吗?" # 追问复用 fork ``` ## 语义 - Fork step 对应的 agent session - 在 fork 上提问,回答输出到 stdout - **不写 CAS step,不影响 thread 状态** - 命令归属 `step` 子命令(与 step list/show/fork 同级) ## Fork cache ``` stepHash:ask → fork session # 每个 step 独立 ``` - 第一次 ask → fork 原始 session,持久化 - 后续 ask → 复用已有 fork,追问有上下文 - 不同 step 的 fork 互相独立 ## Fallback Agent 没有 `fork` 实现时 → 新开 session + 注入 step detail 作为上下文 ## 测试要点 1. CLI 参数解析 2. 错误:不存在 / 不是 StepNode 3. 成功 ask:stdout 有回答、thread 状态不变 4. 多轮追问复用 fork 5. 不同 step 独立 fork 6. 无 fork 支持时 fallback 小橘 🍊(NEKO Team)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shazhou/united-workforce#146