From ff065dbc6ccce78e021b35652b53a7f5613bb5a7 Mon Sep 17 00:00:00 2001 From: Linghong Date: Wed, 9 Sep 2026 03:50:32 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9C=AC=E5=9C=B0Provider?= =?UTF-8?q?=E5=86=92=E7=83=9F=E6=B5=8B=E8=AF=95=E7=9A=84HTML=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=A4=B9=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 启动 Agent 前准备已有 HTML 入口以符合 JSON Generator 项目契约 失败诊断补齐退出码、终止信号及标准输出和错误输出尾部 同步冒烟测试夹具与诊断约定文档 --- .../scripts/smoke-agent-run-local-provider.mjs | 15 +++++++++++++-- ...方案】AI游戏创作智能体App实施计划-2026-06-24.md | 2 ++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/apps/ai-game-creator-shell/scripts/smoke-agent-run-local-provider.mjs b/apps/ai-game-creator-shell/scripts/smoke-agent-run-local-provider.mjs index b2ddbac7b..e8a78f9f1 100644 --- a/apps/ai-game-creator-shell/scripts/smoke-agent-run-local-provider.mjs +++ b/apps/ai-game-creator-shell/scripts/smoke-agent-run-local-provider.mjs @@ -722,7 +722,7 @@ function runAgent() { stderr += chunk.toString(); }); child.on('error', reject); - child.on('close', (code) => { + child.on('close', (code, signal) => { const output = `${stdout}${stderr}`; if (previewReadError) { reject(previewReadError); @@ -740,13 +740,24 @@ function runAgent() { previewDom, }); } else { - reject(new Error(output || `agent run exited with ${code}`)); + reject( + new Error( + `agent run failed: exitCode=${code}, signal=${signal ?? 'none'}\n` + + `stderr tail (last 8000 characters):\n${stderr.slice(-8000)}\n` + + `stdout tail (last 4000 characters):\n${stdout.slice(-4000)}`, + ), + ); } }); }); } async function seedLocalAsset() { + await fs.mkdir(path.join(projectRoot, 'game'), { recursive: true }); + await fs.writeFile( + path.join(projectRoot, 'game/index.html'), + '还没有生成游戏', + ); await fs.mkdir(path.join(projectRoot, 'assets/uploads'), { recursive: true }); await fs.mkdir(path.join(projectRoot, '.agent'), { recursive: true }); await seedConversationContext(); diff --git a/docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md b/docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md index d2fa4b2b4..a8ec1b2ce 100644 --- a/docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md +++ b/docs/technical/【技术方案】AI游戏创作智能体App实施计划-2026-06-24.md @@ -6,6 +6,8 @@ 单 HTML 测试须在项目初始化前准备 HTML;npm 项目的预览与导出测试须准备构建目录。图片测试按现行数量和布局合同验证资源、透明度、引用和持久恢复,不继续要求固定四切片。 +本地 Provider smoke 在启动 Agent 前准备已有的 `game/index.html`,按 JSON Generator 的单 HTML 项目合同验证生成、资源引用与浏览器预览。Agent 子进程失败时,诊断必须包含退出码、终止信号及有长度上限的 stderr/stdout 尾部,避免编译 warning 淹没实际错误。定位此阶段失败时单独运行 `npm run ai-game-creator-shell:agent-run:smoke`。 + ## 常用设置职责 常用设置负责运行参数的读取、编辑和保存,配置读写独立于账号权限诊断。账号权限由登录会话与实际智能服务请求链路处理,设置面板只维护配置草稿与读写反馈。