Skip to content

[REQ-094] Session Workbench 统一承载产物与上下文工具 #206

Description

@jinjunnn

简明目的

在 Session 中提供一个真正可用的侧边工作台,让用户稳定切换产物、文件、变更和检查信息,并在切换会话后恢复到正确位置。

Outcome(专业定义)

Alpha Workbench 在正式 Session Shell 中提供 Artifacts / Files / Changes / Inspector 容器、session-scoped state、run/output discovery、布局与焦点恢复。现有 Viewer 基座视为已交付基础;本需求的剩余结果是 Workbench 产品容器和发现链。Shell mount/lifecycle 归 #203,renderer/HTML 安全实现归 #207/#208。

Complexity

L — 跨 Session UI、产物发现、状态恢复、可调整布局与多个数据 adapter,需多条独立实现和运行时验证。

Context

#186 已完成 Viewer/shell 基础,但 Artifacts/Files/Changes/Inspector 正式容器、timeline/run 发现、session-scoped 恢复和三档布局仍未交付。原正文容易与 #203 的 Session shell 以及 #207/#208 renderer 重叠。

Scope

  • 在 [REQ-088] Alpha Session Shell 稳定挂载并管理生命周期 #203 提供的 mount point 中承载四个 Workbench modes。
  • 维护 session-scoped 的 mode、选中对象、尺寸、滚动与打开/关闭状态。
  • 从 cloud run、automation、tool output 与 timeline artifact card 发现可打开对象。
  • 提供 deep link、save-copy、focus preview 和正确的触发焦点恢复。
  • 支持三档布局、320–720px 调整及窄窗口降级。
  • 通过 descriptor/adapter 调用下游 renderer,不自行读取任意路径。

Non-goals

Acceptance criteria

AC1. 正式会话页右栏按内容提供产物、文件、审查(改动)面板;无可用能力时不显示误导性空标签。 (2026-09-17 按 owner 裁决改写,原文见编辑历史)
AC2. 从 timeline、cloud run、automation 和 tool output 打开的对象进入同一 Workbench,来源与状态可追溯。
AC3. mode、选择、尺寸、滚动与打开状态按 session 隔离;快速切换 session 不串状态,重启按明确规则恢复。
AC4. Files/Changes/Inspector 与 Artifacts 使用各自 typed adapter,不从 renderer 读取任意本地路径或猜测云端来源。
AC5. deep link、save-copy、focus-preview、close 与返回触发点的焦点行为一致且可键盘操作。
AC6. 右栏宽度可拖动调整且不小于 320px;窄窗口下无内容遮挡或不可达控制。 (2026-09-17 按 owner 裁决改写,原文见编辑历史)
AC7. Viewer/renderer crash 只影响当前内容区域,用户可切 Source/Metadata、重试或关闭,不卸载 Session。
AC8. #203 只挂载/卸载 Workbench;container state、mode 与 discovery 在本需求中有唯一 owner。 —— 2026-09-17 删除(owner 裁决):内部职责划分,不是用户可观察结果;#203 与 REQ-125 均已关,无需也无法独立判定。

Evidence map

AC Evidence surface
AC1 REQ-125(#538)AC2 + session-rail/{artifacts,files,review,terminal}/;#285 检查器不做
AC2 #287 session-timeline/cards/tool-cards.tsx:990-994
AC3 test-component/session-rail-artifacts.cases.ts:441 + session-workspace/rail-width.ts
AC4 packages/ui-mac/src/main/workspace-file-service.test.ts:104/:122
AC5 test-component/session-rail-artifacts.cases.ts:441-475(REQ-125 形态)
AC6 session-workspace/rail-width.ts:14/:39 + rail-width.test.ts
AC7 session-rail/artifacts/artifacts-panel-view.tsx:577-581 + #292
AC8 已删除(见 AC8)

Acceptance owner

@jinjunnn — 按 AC 逐条验收并手工关闭;PR 不得关闭父需求。

设计要点

潜在问题与风险

过时性与兼容性结论

需求有效,Viewer 基座已完成但 Workbench 产品结果未完成。旧独立 Viewer 状态、旧 Session wrapper 与来源特判不做兼容;保留当前 session 状态恢复、错误恢复和 descriptor 校验正确性。

关联与职责边界

Delivery plan / 建议子票

Dependencies

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:dataPersistence or data qualityarea:integrationRepository, API, or external integrationarea:productUser-facing product behaviortype:requirementA product or cross-repository outcome

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions