ai-chatbot/playwright.helpers.config.ts
134 0907aaff67 fix(agent): make detail replacement results survive page and server restarts
详情替换原来把整批生图挂在浏览器保持的对话流上,切换标签页、断网或连接中断后
结果就再也回不来,前端还会继续播放按时间推算的 96% 假进度。

现在改为服务器端后台批次:提交时先落任务,再按参考图逐张生成并把每张结果写进
项目,页面刷新、切页或服务重启后都能按任务状态恢复,不再依赖前端连接。

- 新增 /api/agents/detail-replacement/batches(提交/查询、幂等去重、重试上限)
- 前端只在服务端确认批次后显示处理中,卡片显示排队/生成/完成/失败真实状态
- 去掉假进度动画;没有产品输入图时提交前直接拦截
- 服务重启后自动恢复未完成批次,长批次不再被通用 30 分钟清理误判
- 单张失败只落到该卡片并继续后续图片,已完成的图片不重复生成和扣费
- 详情替换默认模型由持续 404 的 gpt-image-2.5-flare 改回 gpt-image-2.5
2026-09-26 02:39:11 +08:00

63 lines
2.6 KiB
TypeScript

import { defineConfig } from "@playwright/test";
export default defineConfig({
testDir: "./tests",
testMatch: [
/routes\/video-canvas-media-import\.test\.ts/,
/routes\/video-canvas-audio-remote\.test\.ts/,
/routes\/video-canvas-groups-upscale\.test\.ts/,
/routes\/video-canvas-connections\.test\.ts/,
/routes\/video-canvas-smart-edit\.test\.ts/,
/routes\/video-canvas-tasks\.test\.ts/,
/routes\/video-canvas-director\.test\.ts/,
/routes\/aliyun-canvas-video\.test\.ts/,
/routes\/video-canvas-aliyun-analysis\.test\.ts/,
/routes\/video-canvas-followup\.test\.ts/,
/routes\/video-canvas-tools\.test\.ts/,
/routes\/video-canvas-save-queue\.test\.ts/,
/routes\/video-canvas-model-matching\.test\.ts/,
/routes\/canvas-chat-helpers\.test\.ts/,
/routes\/agent-main-ai-template-entry\.test\.ts/,
/routes\/canvas-agent-operations\.test\.ts/,
/routes\/canvas-overlay-density\.test\.ts/,
/routes\/image-message-contracts\.test\.ts/,
/routes\/image-delivery-qiniu\.test\.ts/,
/routes\/production-local-fallbacks\.test\.ts/,
/routes\/canvas-entry-performance\.test\.ts/,
/routes\/settings-visual-consistency\.test\.ts/,
/routes\/canvas-scale-adjust-intent\.test\.ts/,
/routes\/canvas-runtime-internal-endpoint\.test\.ts/,
/routes\/canvas-layout-replace-entry\.test\.ts/,
/routes\/model-classification\.test\.ts/,
/routes\/replacement-layout-lock\.test\.ts/,
/routes\/replacement-product-identity\.test\.ts/,
/routes\/detail-replacement-batch\.test\.ts/,
/routes\/alibaba-image-input\.test\.ts/,
/routes\/model3d-style-pro-regressions\.test\.ts/,
/routes\/clawd-request-lifecycle\.test\.ts/,
/routes\/canvas-skill-tag-order\.test\.ts/,
/routes\/openclaw-client-errors\.test\.ts/,
/routes\/openclaw-config\.test\.ts/,
/routes\/openclaw-durable-task-state\.test\.ts/,
/routes\/openclaw-request-state\.test\.ts/,
/routes\/openclaw-folder-attachments\.test\.ts/,
/routes\/openclaw-video-attachments\.test\.ts/,
/routes\/openclaw-3d-artifacts\.test\.ts/,
/routes\/hicad-embedded-performance\.test\.ts/,
/routes\/hicad-manufacturing-extension\.test\.ts/,
/routes\/openapi-access-key\.test\.ts/,
/routes\/vip98k-reference-routing\.test\.ts/,
/routes\/ordinal-image-references\.test\.ts/,
/routes\/extend-provider-config\.test\.ts/,
],
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: 0,
workers: process.env.CI ? 2 : 4,
reporter: process.env.CI ? "github" : "list",
timeout: 60 * 1000,
expect: {
timeout: 10 * 1000,
},
});