--- id: T-201 title: 完成 HTML 原型交接、Gio 外壳和实例列表/表单 phase: 2 deps: [T-002] status: DONE created: 2026-07-22 owner: codex --- ## 需求与背景 把已确认的 `docs/ui/browser-manager.html` 交接为可运行的 Windows 桌面 UI 基础,先建立实例与设置两个稳定入口,再接入真实服务和配置存储。 ## 方案与边界 - 使用 Gio `v0.10.1`,窗口入口位于 `cmd/chub`,页面壳位于 `internal/ui`。 - 顶部只保留“实例”和“设置”两个导航入口;活动信息后续放入实例详情,不增加第三个模块。 - 实例列表当前使用明确标注的 mock view model,展示 Chrome/Edge、Profile、运行中/启动中/外部占用/已退出状态。 - 设置页先完成 Chrome/Edge 路径、默认 User Data Dir、日志目录和退出行为表单;保存接入由 T-202 完成。 - 所有 Gio editor、clickable、list 和 checkbox 状态均由 `Shell` 持有,避免每帧重建。 ## 验收要点 - `go test ./...`、`go vet ./...` 通过。 - `go build -o build/chub.exe ./cmd/chub` 通过。 - Windows 窗口默认显示实例页,能切换设置页;交互控件具备稳定状态。 - 不在 FrameEvent 中执行进程、文件或网络 I/O。 ## 执行记录 - 状态:DONE - 变更:锁定 Go module `go 1.24` 与 Gio `v0.10.1`;新增双页 `internal/ui.Shell`,更新 `cmd/chub` 为 Gio 窗口入口,并同步技术栈、当前状态和路线图文档。 - 验证:`gofmt`、`go test ./...`、`go vet ./...`、`go build -o build/chub.exe ./cmd/chub` 均通过。 - 阻塞:无。 - 残余风险:当前实例数据仍为 mock,设置保存尚未写入本地配置;分别由 T-202 和 T-203 接入。