diff --git a/docs/06-tasks.md b/docs/06-tasks.md index aa75485..8dace53 100644 --- a/docs/06-tasks.md +++ b/docs/06-tasks.md @@ -30,6 +30,7 @@ | T-205 | 设置路径字段增加 Label、选择和搜索操作 | T-201 | DONE | | T-206 | 左侧导航、可取消路径搜索与新建实例表单语义 | T-205 | DONE | | T-207 | 接入新建实例的 Windows 目录选择器 | T-206 | DONE | +| T-208 | 固化实例列表字段与启动操作列 | T-201 | TODO | ## Backlog diff --git a/docs/current-state.md b/docs/current-state.md index 9666a31..e7286c2 100644 --- a/docs/current-state.md +++ b/docs/current-state.md @@ -7,7 +7,7 @@ - 代码:已建立 Go module `chub`、`cmd/chub` 入口、logging 测试基座、浏览器 domain/application 合约、Chrome/Edge 参数/发现模块、启动 registry、Windows 身份/占用检查、优雅关闭、Job Object、真实 Chrome/Edge smoke、JSON 配置存储、启动恢复、CLI JSON 合约、应用内事件总线、UI 状态测试和 Windows smoke 脚本,T-001 至 T-003、T-101 至 T-104、T-201 至 T-206 已完成 - UI:Gio 双页 Shell 使用左侧“实例/设置”导航;四个设置路径有独立异步可取消搜索,切换页面后输入和任务状态保留;新建实例表单使用 Label、Windows 原生目录选择器和 Chrome/Edge RadioButton;CLI `list/events` 已可用,`start/stop/restart` 等待 BrowserManager adapter - 浏览器核心:设计参考来自 `D:\OPC\shop_helm\internal\platform\chrome`,尚未复制或接入本项目 -- blocker:无;下一步可进入 BrowserManager application adapter,以及设置页路径选择器和真实 UI 操作接线。 +- blocker:无;下一个任务为 T-208(固化实例列表字段与启动操作列)。 ## 当前目录 diff --git a/docs/tasks/T-208.md b/docs/tasks/T-208.md new file mode 100644 index 0000000..45572c6 --- /dev/null +++ b/docs/tasks/T-208.md @@ -0,0 +1,36 @@ +--- +id: T-208 +title: 固化实例列表字段与启动操作列 +phase: 2 +deps: [T-201] +status: TODO +created: 2026-07-22 +owner: codex +--- + +## 需求与背景 + +实例页必须让用户在同一行中直接看到启动和管理浏览器所需的最小信息,当前列表缺少明确的用户数据目录字段和表头契约。 + +## 方案与边界 + +- Gio 实例列表使用固定五列:实例名称、浏览器类型、用户数据目录、状态、启动。 +- `InstanceRow` 增加稳定 ID 和 User Data Dir;恢复实例与新建实例均填充该字段。 +- 启动按钮按实例 ID 持有独立 Clickable,不能复用单一按钮状态或依赖列表索引。 +- 当前 BrowserManager 尚未接入时,点击启动只提供明确的非阻塞反馈,不伪造浏览器已启动;真正启动逻辑属于 application adapter。 +- 列表不引入行选择、多选或排序,保持当前 MVP 范围;状态仍使用文字和颜色共同表达。 + +## 验收要点 + +- 每行和表头都按“实例名称、浏览器类型、用户数据目录、状态、启动”顺序显示。 +- User Data Dir 从配置恢复和新建表单传入。 +- 启动按钮拥有逐行独立状态并有可见反馈。 +- `go test ./...`、`go vet ./...`、Windows 构建通过。 + +## 执行记录 + +- 状态:TODO +- 变更:已建立列表字段和操作列契约。 +- 验证:待实现。 +- 阻塞:无。 +- 残余风险:真实启动仍需要 BrowserManager application adapter。