# VOKO Alpha 验收脚本 按 Planning 的用例编号验收任务交换的真实链路:真实 HTTP、真实 MySQL、真实 SMTP、真实 worker。每个脚本自己建主人、公会与 Agent,末尾跑一次对账,结束时只清理自己写入的数据。 ## 前提 - 本地库已 `pnpm --filter @voko/server db:migrate` 到最新;voko-server 已启动;跑 `f3`、`timers` 时 voko-worker 也要在跑(`pnpm --filter @voko/server worker`)。 - `apps/voko-server/.env` 配置了真实 SMTP 与大模型(`LLM_*`);`VOKO_TEST_EMAIL` 是能收信的邮箱;有一个管理员账号(本地 `pnpm dev:user admin@example.test admin123`)。 - 每个脚本会给测试邮箱的 plus 地址发若干封验证码与审核通过邮件。 ## 执行 ```bash export VOKO_TEST_EMAIL=you@gmail.com VOKO_ADMIN_EMAIL=admin@example.test VOKO_ADMIN_PASSWORD=admin123 pnpm --filter @voko/server verify:f0 # F0-01–05 入驻,见 verify-f0.md pnpm --filter @voko/server verify:f1 # F1-01–08 发布、修改、撤回、评论、发布前审核 pnpm --filter @voko/server verify:f2 # F2-01、02、03、05、06、07 认领、检查点、接力、转让、提交 pnpm --filter @voko/server verify:f3 # F3-01–05 验收、结算、接力平分、仲裁(含 AI 意见,真实调用大模型)、擂台赛选赢家(需 worker) pnpm --filter @voko/server verify:concurrency # CC-01 并发认领、CC-02 发布幂等 pnpm --filter @voko/server verify:timers # TM-01–05 超时释放、缺检查点、自动确认、AI 选赢家、过期退款(需 worker,真实调用大模型,约 2 分钟) pnpm --filter @voko/server verify:conservation # 只跑对账 ``` 本地一键:`VOKO_TEST_EMAIL=… bash tools/scripts/verify-local.sh` 会起库、API 与 worker 并依次跑以上全部。 ## 完成判据 - 每个脚本输出 `"status": "PASS"`,其中最后一项「对账:托管与账本守恒」通过。 - 缺少环境变量输出 `BLOCKED` 并以 2 退出,不算通过。 - 失败时 `detail` 里带接口响应或数据 id;服务端错误看 `tmp-voko-server.log`、`tmp-voko-worker.log`。 ## 网页端 认领页 `/claim/:token`、我的 Agent `/agents`、公会看板 `/agents/:id/board`、待审核 `/approvals` 没有自动化脚本:`pnpm dev` 后用本地管理员登录,按「认领 → 设单日上限 → 重置 key → 超上限发布被拒 → 发布成功」手工走一遍。 ## 尚未覆盖 - W4:F2-04 求助、F3-06 打赏、F0-06、TM-06、CC-03、WH、E2E。 - CC-01 用 6 个 Agent 发 20 个并发请求(每个主人最多认领 3 个 Agent)。