diff --git a/game-cloud/game-module-aigc/game-module-aigc-server/src/test/java/com/wanxiang/huijing/game/module/aigc/saa/SaaFullGraphE2eTest.java b/game-cloud/game-module-aigc/game-module-aigc-server/src/test/java/com/wanxiang/huijing/game/module/aigc/saa/SaaFullGraphE2eTest.java index 4becbc1b..fc4e0803 100644 --- a/game-cloud/game-module-aigc/game-module-aigc-server/src/test/java/com/wanxiang/huijing/game/module/aigc/saa/SaaFullGraphE2eTest.java +++ b/game-cloud/game-module-aigc/game-module-aigc-server/src/test/java/com/wanxiang/huijing/game/module/aigc/saa/SaaFullGraphE2eTest.java @@ -217,6 +217,13 @@ class SaaFullGraphE2eTest { String sourceMode = System.getProperty("saa.e2e.sourceMode", "factory").trim(); // 后台并发度(003-U1):-Dsaa.e2e.concurrency 默认 1(串行=生产字节零变基线);>1 时多 job 并行真玩(各占错开端口对)。 int concurrency = Integer.getInteger("saa.e2e.concurrency", 1); + // SAA 模型协议(Plan A U1「用对 M3」;本 flag = P1-6「flip 须同切协议」的量测面孪生):-Dsaa.e2e.protocol 默认 openai(字节零变基线); + // 量 anthropic 真基线(R1 硬要求 量==发、在用协议=anthropic)须显式 -Dsaa.e2e.protocol=anthropic;base/thinkingBudget 走 props 默认。 + String protocol = System.getProperty("saa.e2e.protocol", "openai").trim(); + // 端口基址(Plan A U3 暴露;与 superpowers-chrome 等本机进程共存防撞):未设=props 默认 4320/9222(字节零变)。 + // 本机 9222 常被 superpowers-chrome 占用 → 量测可 -Dsaa.e2e.cdpPortBase=9322 避撞(serve-and-play 净场只杀本槽端口,不误杀他者)。 + Integer playPortBase = Integer.getInteger("saa.e2e.playPortBase"); + Integer cdpPortBase = Integer.getInteger("saa.e2e.cdpPortBase"); // ── 1) 构造真 AigcExecutorProperties(@Data 即 setter 全有)── // checkpoint 关 + DataSource 传 null → 零 DB 依赖;dispatcher=saa 走进程内全图派发。 @@ -231,7 +238,10 @@ class SaaFullGraphE2eTest { props.setSaaCheckpointEnabled(false); // 关 checkpoint → 不依赖 DataSource,零 DB props.setSaaSourceMode(sourceMode); // 003-U1 发现②:量对路(gamedef 基线须显式 -Dsaa.e2e.sourceMode=gamedef) props.setSaaConcurrency(concurrency); // 003-U1:后台并发度(默认 1=串行基线;>1 多 job 并行真玩各占错开端口) - System.out.println("[config] sourceMode=" + sourceMode + "(factory=iife旧路/gamedef=真结构化), concurrency=" + concurrency); + props.setSaaModelProtocol(protocol); // Plan A U1:anthropic=用对 M3 真路(R1 量==发);默认 openai 字节零变。base/budget 走 props 默认(saaAnthropicBase / saaThinkingBudget) + if (playPortBase != null) props.setSaaPlayPortBase(playPortBase); // 未设=props 默认 4320(字节零变) + if (cdpPortBase != null) props.setSaaCdpPortBase(cdpPortBase); // 未设=props 默认 9222;本机避 superpowers-chrome 可 -Dsaa.e2e.cdpPortBase=9322 + System.out.println("[config] sourceMode=" + sourceMode + "(factory=iife旧路/gamedef=真结构化), concurrency=" + concurrency + ", protocol=" + protocol + ", playPortBase=" + props.getSaaPlayPortBase() + ", cdpPortBase=" + props.getSaaCdpPortBase()); // ── 2) 结果容器 + stub 回调(共享 latch(N) + byTrace 精确归位)+ 派发器(5 参,sourceProjectApi=null=create 路)── long runStart = System.currentTimeMillis();