用途:执行 @openwork/testkit 的 agent-first 验证,覆盖运行测试、运行单个 spec、在本地或 Daytona 上跑 e2e,以及调查被跳过的 spec。
主要能力与用法:
- 运行可落地树:检出将落地的确切 PR head;任何 rebase 或 cherry-pick 后丢弃旧结论并重跑。一次只跑一个测试,使每个失败与测试证据有唯一归属。
- 选择执行环境:pnpm evals:e2e <slug> 或 pnpm evals:pr specs/<name>.test.ts。CLI 会打印 placement 与原因,将该行复制进报告。仅在用户要求本地时用 --local;--daytona 需要 Daytona。不得为把红色 Daytona 运行变绿而切换通道。
- 准备本地回退:pnpm --filter @openwork/types build、pnpm --filter @openwork-ee/den-db build、pnpm --filter @openwork/email build、pnpm dev:den:mysql。本地 server() 需要 127.0.0.1:3306 的 MySQL;本地 Den 前需先构建这些工作区依赖,否则 den-api 导入可能失败。若检出路径含空格,E2E 前设置 OPENWORK_EVAL_SURFACES_DIR 为无空格路径,node-gyp 与 electron-rebuild 需要它。
- 选择单一通道:无 app 的 PR 通道测试用 pnpm evals:pr specs/<name>.test.ts;驱动 app/Den 的 E2E 用 pnpm evals:e2e <name>。CLI 负责 placement 并打印 placement: <daytona|local> (<reason>)。
- 读取结论:记录确切命令、退出码与 passed/failed/skipped 计数。每个 skip 报告为 skipped — needs: X,绝不称为 passed。含 skip 的绿色命令使总体结论为 Incomplete。总体结果用 Passed、Incomplete 或 Failed。
- 迭代后冷启动:迭代期间可用 OPENWORK_EVAL_DEN_API_URL 复用热 Den;宣布 Passed 前移除复用覆盖,并在同一 commit 上通过 server() 冷启动。
- 注入密钥用 infisical run --silent --;绝不打印或回显值。
限制:资料未提供更多平台、收费或效果信息。