# 当前实现状态 ## 快照 - 日期:2026-07-25 - 阶段:Phase 3 真实实例操作(T-303 进行中;T-302、T-301 已完成;T-201 至 T-208 已完成) - 代码:已建立 Go module `chub`、`cmd/chub` 入口、logging 测试基座、浏览器 domain/application 合约、Chrome/Edge 参数/发现模块、启动 registry、Windows 身份/占用检查、loopback CDP 端口分配与端点校验、优雅关闭、Job Object、真实 Chrome/Edge smoke、JSON 配置存储、启动恢复、CLI JSON 合约、应用内事件总线、UI 状态测试和 Windows smoke 脚本,T-001 至 T-003、T-101 至 T-104、T-201 至 T-208、T-301、T-302 已完成 - UI:Gio 双页 Shell 使用左侧“实例/设置”导航;实例列表固定显示实例名称、浏览器类型、用户数据目录、调试端口、状态和紧凑启动/删除图标,并以外层边框和表头分隔组织。启动通过异步回调接到 Windows 浏览器启动器:未占用目录从已保存的起始端口(空值默认 9666)选择 loopback CDP 端口;同目录外部浏览器只有在 `DevToolsActivePort` 与 CDP 端点可验证时才显示“外部已关联”,且不会接管其生命周期。删除使用确认弹层,只删除 Chub 实例配置而不删除 User Data Dir。新建和删除实例会保存到本地配置;四个设置路径有独立异步可取消搜索,切换页面后输入和任务状态保留;新建实例表单使用 Label、Windows 原生目录选择器和 Chrome/Edge RadioButton;CLI `list/events` 已可用,`start/stop/restart` 等待 BrowserManager adapter - 浏览器核心:设计参考来自 `D:\OPC\shop_helm\internal\platform\chrome`,尚未复制或接入本项目 - blocker:无;T-303 正在接入实例状态刷新和可保存的编辑对话框;后续可接入关闭、重启、退出状态回传和 CLI BrowserManager adapter。 ## 当前目录 | 路径 | 状态 | 说明 | | --- | --- | --- | | `docs/` | 已建立 | Harness Coding 项目文档 | | `docs/ui/` | 已建立 | Chub HTML 交互原型 | | `docs/tasks/` | 已建立 | 一任务一文件目录 | | `cmd/` | 已建立 | Go 命令入口 | | `cmd/chub/` | 已建立 | Gio 窗口入口和版本常量 | | `internal/ui/` | 已建立 | Gio 实例/设置双页 Shell | | `internal/platform/logging/` | 已建立 | 可注入的结构化 JSON 日志 | | `internal/` | 部分建立 | 后续扩展 application/domain/platform 实现 | ## 基线命令 当前已具备最小可运行入口: ```text go test ./... go vet ./... go build -o build/chub.exe ./cmd/chub ``` 真实浏览器 smoke: ```powershell .\scripts\smoke-browser.ps1 ``` 本机 Chrome 和 Edge 均已通过 headless 双实例 smoke;headless 不提供可见 message window,因此外部 profile lock/window 证据仍是后续补充验证项。 `shop_helm` 仅是参考项目,不是本项目代码目录。当前基线已通过 T-201 的测试、vet 和 Windows 构建验证。