用途:为 Daytona UI 流程收集补充性演示产物,如可浏览的截图索引、可选视频片段和验证说明。判定通过与否的依据来自 @openwork/testkit 规范及其环境测试证据,需先用 run-tests 运行相关 evals/specs/**/*.test.ts,再用 publish-evidence 发布仓库级结论。自定义截图或录屏不能替代测试运行。
主要能力:默认补充格式为截图索引,即用带编号命名的 PNG 截图生成可浏览的 HTML 页面,适合任意设备查看;当证明需要动态效果(流式文本、加载指示、动画、拖拽或实时交互)时,使用 MP4 视频,并嵌入到逐帧 HTML 页面中。
使用方式:在沙箱 8090 端口提供目录服务,例如:daytona exec "$SANDBOX" -- 'bash -lc "mkdir -p /workspace/proof-frames; nohup python3 -m http.server 8090 --directory /workspace/proof-frames >/dev/null 2>&1 &"'。在关键状态本地 browser_screenshot 后上传为 01-auth-landing.png 等编号文件,生成含分支、提交和沙箱名的 index.html,再用 daytona preview-url "$SANDBOX" -p 8090 获取公开 URL 并放入 PR。若 /daytona-artifacts 不可用,可回退到 /workspace/proof-frames,但需在报告中说明。
录屏标准:应像真人使用产品,覆盖完整相关流程,从首次可见点击前开始到最终成功状态后停止,尽量通过可见控件操作,避免隐藏自动化;必要时用 capture-daytona-screenshot.sh 截图,用 stop-daytona-recording.sh 停止录屏,不要用 kill -9。
限制:产物代理 URL 不永久,沙箱停止后旧 URL 会失效,需重启沙箱和产物服务器生成新 URL,并确认本地 curl -I 返回 200 OK 且 Content-Length 非零后再分享。若流程大部分通过隐藏自动化完成,不应将视频作为主要演示,只能标记为补充。发现无效证据后应生成新命名的新帧并说明旧产物已被取代。