4.6 KiB
UniDesk Manual Test Plan
T1 CLI 可观测性与配置校验
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:运行 bun scripts/cli.ts help、bun scripts/cli.ts config show、bun scripts/cli.ts check,确认每条命令都有 JSON 输出、失败时包含错误对象、config.json 是唯一配置来源,且 TypeScript 检查覆盖 scripts/ 与 src/components/。
T2 Docker 栈异步启动
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:运行 bun scripts/cli.ts server start,确认命令立即返回 job id;随后运行 bun scripts/cli.ts job status latest 观察构建和启动进度,直到 job 状态为 succeeded,且输出包含 .state/jobs/ 日志路径和 logs/{YYYYMMDD}/ 服务日志路径。
T3 主 server 自接入 Provider Gateway
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:运行 bun scripts/cli.ts server status 和 bun scripts/cli.ts debug health,确认 backend-core、frontend、database 端口均监听,/api/nodes 中存在 main-server provider,状态为 online,且 provider 标签中能看到 Docker socket 可用性。
T4 前端控制台连通
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:先用 bun scripts/cli.ts server status 获取 frontend URL,再用浏览器访问该 URL,确认左侧主模块、顶部子标签、核心指标、Provider 表格和事件流可见;页面布局应紧凑、信息密度高、字体不过大,且移动端宽度下左侧栏转为横向模块条。
T5 真实任务下发链路
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:运行 bun scripts/cli.ts debug dispatch main-server docker.ps,随后运行 bun scripts/cli.ts debug health 或在前端事件流中确认任务状态经历 accepted、running、succeeded,并能看到 provider 通过 Docker socket 返回容器列表摘要。
T6 日志第一现场验证
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:运行 bun scripts/cli.ts server logs --tail-bytes 20000,实际读取输出中列出的 logs/{YYYYMMDD}/ 文件,确认 backend-core、frontend、provider-gateway、database 都有实时日志;日志不得只有启动行,错误日志必须包含可定位的错误消息或 stack。
T7 停止与端口释放
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:运行 bun scripts/cli.ts server stop,确认立即返回 job id;等待 bun scripts/cli.ts job status latest 成功后运行 bun scripts/cli.ts server status,确认 backend-core、frontend、database 固定端口不再监听,容器状态不再运行。
Issue 记录
测试发现的问题写入 docs/issue/,文件命名为 {NN}_{issue_title}_{YYYYMMDD}.md,其中 NN 从 01 递增;问题文档必须包含复现命令、实际输出摘要、期望行为和修复判定标准。
T8 Playwright 公网前端 E2E
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:确认 config.json 的 network.publicHost 是主 server 公网地址,运行 bun scripts/cli.ts e2e run,要求 JSON 中 core:public-overview、core:public-nodes、database:named-volume-write、database:public-port、frontend:public-page-provider-visible 全部 passed;打开输出的 screenshotPath,确认页面上能看到 main-server、Main Server Provider、Online Nodes 指标和 Provider 表格。
T9 Database 命名卷持久化
阅读 AGENTS.md(本项目 AGENTS.md 同时承担 SKILL.md 对 scripts/cli.ts 的解释职责),然后用 cli 手动测试以下内容:向 unidesk_e2e_markers 插入一个唯一 marker,运行 bun scripts/cli.ts server start 并等待 job status latest 为 succeeded,再用 docker exec unidesk-database psql -U unidesk -d unidesk 查询该 marker 仍存在;同时审查 docker-compose.yml 和 scripts/src/docker.ts,确认 CLI server 控制没有使用 down -v 或 volume 删除命令。