fix: preserve delivered page links when auto images fail

This commit is contained in:
john
2026-07-24 17:57:39 +08:00
parent 412e5f149b
commit 550969bed2
6 changed files with 152 additions and 5 deletions
@@ -75,6 +75,33 @@
---
## 4. 页面已落盘:自动配图失败或多工作区不得吞掉链接
### 症状
- 用户要求「帮我写一首诗词,做个页面吧」
- Agent 已调用 `write_file``public/*.html` 也已真实落盘
- 自动生图失败后整个 Agent Run 仍被标记失败,前端显示红条
- Portal 代码目录与 session 工作目录不同时,链接过滤器只检查 `process.cwd()/MindSpace`
将另一个共享工作区中真实存在的链接改成「页面生成未完成」
### 必须保留
- 输入区为 `auto` 且用户没有明确要求图片时,视觉页面配图只能是 best effort;生图失败不得拖垮已成功的 HTML 主交付
- 用户明确要求图片,或输入区切到 `required` 时,仍保留位图证据 fail closed
- 页面链接存在性检查必须同时覆盖:
- 当前 Portal 工作目录下的 `MindSpace/<userId>`
- `H5_USERS_ROOT` 同级的共享 `MindSpace/<userId>`
- 显式 `MEMIND_SHARED_PUBLISH_ROOT` / `GOOSED_SANDBOX_PUBLISH_ROOT`
- 不得因为 Portal 运行在临时 worktree,而误删共享 session 工作区中的有效页面链接
### 守卫
- 单测:`chat-intent-router.test.mjs``agent-run-gateway.test.mjs``tkmind-proxy.test.mjs`
- 综合验证:`npm run verify:h5-session-patches`
---
## 发版 / CI 必跑命令
```bash